Hey networking peeps,
I have a 1.7.5 node which can run Pods but they can’t communicate to any other pods or services (except ones that run on the same node). kube-proxy is running and reporting that it's setting up all endpoint fine. I checked iptables and it had all kinds crap in it created by docker, but I removed all that and set docker to not touch iptables again. My iptables looks exactly the same as on my other node which is working. Where else should I look for clues? This is my first time having to dig this deep into k8s networking. All help is much appreciated!
Some info:
kubelet & kube-proxy version: 1.7.5
control plane versions: 1.7.4
------------------------------------------------------------ iptables -------------------------------------------------------------------------------------------
iptables --list -v
Chain INPUT (policy ACCEPT 25 packets, 11525 bytes)
pkts bytes target prot opt in out source destination
209K 171M KUBE-FIREWALL all -- any any anywhere anywhere
210K 172M KUBE-SERVICES all -- any any anywhere anywhere /* kubernetes service portals */
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 20 packets, 1937 bytes)
pkts bytes target prot opt in out source destination
196K 17M KUBE-FIREWALL all -- any any anywhere anywhere
196K 17M KUBE-SERVICES all -- any any anywhere anywhere /* kubernetes service portals */
Chain KUBE-FIREWALL (2 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- any any anywhere anywhere /* kubernetes firewall for dropping marked packets */ mark match 0x8000/0x8000
Chain KUBE-SERVICES (2 references)
pkts bytes target prot opt in out source destination
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------- kube-proxy logs ---------------------------------------------------------------------
Sep 03 20:55:01 worker3 systemd[1]: Started Kubernetes Kube Proxy.
Sep 03 20:55:02 worker3 kube-proxy[3397]: W0903 20:55:02.132538 3397 server.go:190] WARNING: all flags other than --config, --write-config-to, and --cleanup-iptables are depre
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.166494 3397 server.go:478] Using iptables Proxier.
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.182674 3397 server.go:513] Tearing down userspace rules.
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.193290 3397 server.go:621] setting OOM scores is unsupported in this build
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.197228 3397 server.go:630] Running in resource-only container "/kube-proxy"
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.197616 3397 conntrack.go:98] Set sysctl 'net/netfilter/nf_conntrack_max' to 131072
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.197656 3397 conntrack.go:52] Setting nf_conntrack_max to 131072
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.197690 3397 conntrack.go:98] Set sysctl 'net/netfilter/nf_conntrack_tcp_timeout_established' to 86400
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.197711 3397 conntrack.go:98] Set sysctl 'net/netfilter/nf_conntrack_tcp_timeout_close_wait' to 3600
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.198500 3397 config.go:202] Starting service config controller
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.198512 3397 controller_utils.go:994] Waiting for caches to sync for service config controller
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.198583 3397 config.go:102] Starting endpoints config controller
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.198587 3397 controller_utils.go:994] Waiting for caches to sync for endpoints config controller
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.298806 3397 controller_utils.go:1001] Caches are synced for endpoints config controller
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.299398 3397 controller_utils.go:1001] Caches are synced for service config controller
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.299612 3397 proxier.go:320] Adding new service port "test/words-db:" at 10.32.0.54:27017/TCP Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.299787 3397 proxier.go:320] Adding new service port "test/backend:" at 10.32.0.91:80/TCP Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.299809 3397 proxier.go:320] Adding new service port "test/frontend:" at 10.32.0.213:80/TCP Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.299822 3397 proxier.go:320] Adding new service port "kube-system/kubernetes-dashboard:" at 10.32.0.42:80/TCP Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.299834 3397 proxier.go:320] Adding new service port "default/kubernetes:https" at 10.32.0.1:443/TCP Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.299855 3397 proxier.go:320] Adding new service port "kube-system/kube-dns:dns-tcp" at 10.32.0.10:53/TCP Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.299866 3397 proxier.go:320] Adding new service port "kube-system/kube-dns:dns" at 10.32.0.10:53/UDP Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.300042 3397 proxier.go:1013] Stale udp service kube-system/kube-dns:dns -> 10.32.0.10
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.312618 3397 proxier.go:1718] Opened local port "nodePort for test/words-db:" (:30677/tcp)
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.313035 3397 proxier.go:1718] Opened local port "nodePort for test/backend:" (:32174/tcp)
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.313285 3397 proxier.go:1718] Opened local port "nodePort for test/frontend:" (:30864/tcp)
Sep 03 20:55:02 worker3 kube-proxy[3397]: I0903 20:55:02.316319 3397 conntrack.go:36] Deleting connection tracking state for service IP 10.32.0.10