Implementing Common Security Patterns
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: default-deny-all namespace: my-secure-namespace spec: podSelector: {} # Selects all pods policyTypes: - Ingress - Egress # No ingress rules defined -> Deny all ingress # No egress rules defined -> Deny all egressimport ( networkingv1 "k8s.io/api/networking/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) policySpec := networkingv1.NetworkPolicySpec{ // Select all pods in the namespace PodSelector: metav1.LabelSelector{}, // Empty LabelSelector selects everything // Apply policy to both ingress and egress directions PolicyTypes: []networkingv1.PolicyType{ networkingv1.PolicyTypeIngress, networkingv1.PolicyTypeEgress, }, // Ingress rules list is nil/empty - blocks all ingress Ingress: []networkingv1.NetworkPolicyIngressRule{}, // Or simply omit // Egress rules list is nil/empty - blocks all egress Egress: []networkingv1.NetworkPolicyEgressRule{}, // Or simply omit } // Create NetworkPolicy object with this spec... // clientset.NetworkingV1().NetworkPolicies(namespace).Create(...)
Last updated
Was this helpful?