kubernetes network policy - egress policy doesn'b block the traffic to go outside

8/29/2018

this is my network policy:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny
  namespace: openstack
spec:
  podSelector:
    matchLabels: {} 
  policyTypes:
  - Egress
  - Ingress

I apply this policy and login into 1 pod and it still can connect to google.com.

-

-2018-08-29 11:36:33--  http://google.com/
Resolving google.com (google.com)... 172.217.4.46, 2607:f8b0:4009:804::200e
Connecting to google.com (google.com)|172.217.4.46|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.google.com/ [following]
--2018-08-29 11:36:33--  http://www.google.com/
Resolving www.google.com (www.google.com)... 172.217.4.36, 2607:f8b0:4009:804::2004
Connecting to www.google.com (www.google.com)|172.217.4.36|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html.85
index.html.85                                      [ <=>                                                                                              ]  11.09K  --.-KB/s    in 0.001s  

2018-08-29 11:36:33 (7.77 MB/s) -index.html.85saved [11355]

Does anyone can explain why the egress doesn't work? Thanks

-- Sherlock P
kubernetes
kubernetes-networkpolicy

1 Answer

8/29/2018

Before using NetworkPolicy, you need to install a CNI plugin that supports network policies.

I use Weave Net, but you can use some other:

https://kubernetes.io/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy/

https://kubernetes.io/docs/tasks/administer-cluster/declare-network-policy/

-- Nicola Ben
Source: StackOverflow