Contents

Cka Networking

controlplane ๋…ธ๋“œ์—์„œ www.google.com ์œผ๋กœ ping ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ

www.google.com ์ด ์–ด๋–ค ip๋กœ ํ•ด์„๋˜๊ณ , ํ•ด์„๋œ ip๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์„ ๊ฒฝ์šฐ default route๋ฅผ ํ™•์ธํ•ด์„œ ํŠธ๋ž˜ํ”ฝ์„ ํ•ด๋‹น ip๋กœ ๋ณด๋‚ด์ค€๋‹ค. default gateway๊ฐ€ ์œ„์น˜ํ•œ ip๋Š” ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

1
ip route show default

์–ด๋–ค cni๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•

1
ls /etc/cni/net.d/ ๋กœ ์„ค์ •ํŒŒ์ผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

2379 ๋Š” etcd ์„œ๋ฒ„์˜ port์ด๋‹ค.

kubelet ์˜ container runtime endpoint ํ™•์ธํ•˜๊ธฐ

1
ps aux | grep kubelet

CNI binary file๋“ค์ด ์œ„์น˜ํ•œ ๊ฒฝ๋กœ

/opt/cni/bin/

kubernetes ๊ฐ€ ์‚ฌ์šฉ์ค‘์ธ cni plugin ํ™•์ธํ•˜๊ธฐ

/etc/cni/net.d/ ํด๋” ํ™•์ธ

Identify the name of the bridge network/interface created by weave on each node.

ip link show ๋ช…๋ น ํ›„, weave๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

What is the POD IP address range configured by weave?

1
2
3
4
5
ip addr show weave
4: weave: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1376 qdisc noqueue state UP group default qlen 1000
    link/ether fe:79:46:c1:8f:18 brd ff:ff:ff:ff:ff:ff
    inet 10.244.0.1/16 brd 10.244.255.255 scope global weave
       valid_lft forever preferred_lft forever

What is the range of IP addresses configured for PODs on this cluster?

  1. ํ˜„์žฌ cluster์— ํ• ๋‹น๋œ CNI ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์‚ดํŽด๋ณธ๋‹ค.

ls /etc/cni/net.d –> weave

  1. weave ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉ์ค‘์ด๋ฏ€๋กœ, weave agent๊ฐ€ ์‹คํ–‰์ค‘์ธ pod๋ฅผ ์‚ดํŽด๋ณธ๋‹ค.
1
2
3
kubectl logs -n kube-system weave-net-sjlfk

INFO: 2024/05/27 22:22:26.605825 Command line options: map[conn-limit:200 datapath:datapath db-prefix:/weavedb/weave-net docker-api: expect-npc:true http-addr:127.0.0.1:6784 ipalloc-init:consensus=0 ipalloc-range:10.244.0.0/16 metrics-addr:0.0.0.0:6782 name:8e:7b:9a:f2:60:fb nickname:controlplane no-dns:true no-masq-local:true port:6783]

What is the IP Range configured for the services within the cluster?

kube-api server ์„ค์ • ํŒŒ์ผ์„ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค. cat /etc/kubernetes/manifests/kube-apiserver.yaml

kube-proxy๊ฐ€ ์–ด๋–ค ํƒ€์ž…์œผ๋กœ ์‹คํ–‰์ค‘์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•

1
2
3
kubectl logs kube-proxy -n kube-system

I0527 22:22:49.361543       1 server_others.go:72] "Using iptables proxy"