CKA (Certified Kubernetes Administrator)/Kode Kloud

07. Networking - Service Networking

seulseul 2022. 2. 3. 11:03
07. Networking

01. Explore Environment
02. CNI weave
03. Deploy Network Solution
04. Networking Weave
05. Service Networking
06. CoreDNS in Kubernetes
07. CKA – Ingress Networking – 1
08. CKA – Ingress Networking – 2
 

 

 

01. What network range are the nodes in the cluster part of?

 

node01 은 eth0 에 배정된다고함.

 

ask  : 10.63.176.0

 

ip addr

root@controlplane:~# ip addr show eth0  
20860: eth0@if20861: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
    link/ether 02:42:0a:3f:b0:06 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.63.176.6/24 brd 10.63.176.255 scope global eth0
       valid_lft forever preferred_lft forever

 

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

이 클러스터의 POD에 대해 구성된 IP 주소 범위는 무엇입니까?

 

The network is configured with weave.


Check the weave pods logs using command 
kubectl logs <weave-pod-name> weave -n kube-system
 and look for ipalloc-range
k logs pod/weave-net-gbjsz weave -n kube-system

ask : 10.50.0.0

 

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

ask : 10.96.0.0/12

root@controlplane:~# k get svc -n kube-system
NAME       TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
kube-dns   ClusterIP   10.96.0.10   <none>        53/UDP,53/TCP,9153/TCP   75m

04. How many kube-proxy pods are deployed in this cluster?


 

 

ask : 2

 

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
daemonset.apps/kube-proxy   2         2         2       2            2           kubernetes.io/os=linux   75m
 

05. What type of proxy is the kube-proxy configured to use?

kube-proxy가 사용하도록 구성된 프록시 유형은 무엇입니까?

kubectl logs <kube-proxy-pod-name> -n kube-system

root@controlplane:~# k logs  kube-proxy-qd8k7 -n kube-system
W0203 00:40:25.834117       1 proxier.go:661] Failed to load kernel module ip_vs_wrr with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modules
W0203 00:40:25.836589       1 proxier.go:661] Failed to load kernel module ip_vs_sh with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modules
I0203 00:40:26.022817       1 node.go:172] Successfully retrieved node IP: 10.63.176.9
I0203 00:40:26.022865       1 server_others.go:142] kube-proxy node IP is an IPv4 address (10.63.176.9), assume IPv4 operation
W0203 00:40:26.045989       1 server_others.go:578] Unknown proxy mode "", assuming iptables proxy
I0203 00:40:26.068596       1 server_others.go:185] Using iptables Proxier.
I0203 00:40:26.241972       1 server.go:650] Version: v1.20.0
I0203 00:40:26.253738       1 conntrack.go:52] Setting nf_conntrack_max to 1179648
I0203 00:40:26.255774       1 conntrack.go:100] Set sysctl 'net/netfilter/nf_conntrack_tcp_timeout_established' to 86400
I0203 00:40:26.257543       1 config.go:315] Starting service config controller
I0203 00:40:26.257563       1 shared_informer.go:240] Waiting for caches to sync for service config
I0203 00:40:26.257611       1 config.go:224] Starting endpoint slice config controller
I0203 00:40:26.257616       1 shared_informer.go:240] Waiting for caches to sync for endpoint slice config
I0203 00:40:26.357760       1 shared_informer.go:247] Caches are synced for endpoint slice config 
I0203 00:40:26.357774       1 shared_informer.go:247] Caches are synced for service config

 

ask : iptable

 

06. How does this Kubernetes cluster ensure that a kube-proxy pod runs on all nodes in the cluster?

이 Kubernetes 클러스터는 kube-proxy 포드가 클러스터의 모든 노드에서 실행되도록 어떻게 보장합니까?

Inspect the kube-proxy pods and try to identify how they are deployed

 

1) using daemonset

2) Using a custom script

3) Using deployments

4) kubelet ensures this is done

daemonset.apps/kube-proxy 으로 pod 를 관리하고 있으므로 1번 선택함.