Calico Installation in Operator Mode
- kkumtree
2024-09-18T20:52:16+09:00
CloudNet@์์ ์งํํ๊ณ ์๋ K8s Advanced Network Study(์ดํ, KANS)๋ฅผ ํตํด ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค.
์คํฐ๋ ์งํ ์, Manifests๋ฅผ ์ฌ์ฉํ์ฌ Calico๋ฅผ ์ค์นํ์์ผ๋,
Operator๋ฅผ ์ฌ์ฉํ์ฌ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํฉ๋๋ค.
๊ณผ์ ๋ ์๋์์ง๋ง, ์์ ๋ค๋ค Operator Framework๋ฅผ ์ฌ์ฉํด์ ๋ง๋ผ์น๊ถ ๋ณถ๋ฏ์ด
Operator๋ฅผ ์ง์ง๊ณ ๋ณถ๋ ๊ฒ ๊ฐ์์ ํธ๊ธฐ์ฌ์ ์ ๋ฆฌํด๋ณด์์ต๋๋ค.
์ฐธ๊ณ ๋ก Manifests๋ฅผ ์ฌ์ฉํ์ฌ ์ค์น ์, 50๊ฐ์ ๋ ธ๋[1]๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ Typha๋ฅผ ๊ตฌ์ฑํ์ฌ์ผ ํฉ๋๋ค.
Calico ์ค์น ํ๊ฒฝ : AWS EC2(No EKS), kubeadm[2], pod-network-cidr=172.16.0.0/16, IPIP Mode
1. Calico Routing Mode
์์ ์ธ๊ธ๋ IPIP Mode๋ฅผ ์ดํดํ๋ ค๋ฉด Calico์ Routing Mode๋ฅผ ํ์ ํ์์ฑ์ด ์์์ต๋๋ค.
ํ๋๊ฐ ํต์ ์ ๋
ธ๋ ๊ฐ์ encapsulation์ ์ ๋ต์ ๊ธฐ์ค์ผ๋ก ๋๋์ด ๋ณผ ์ ์๊ฒ ์ต๋๋ค.
Calico ๋ฐ ๋ฉํธ๋ฆญ ์์ง ๊ตฌ์ฑ
- kkumtree
2024-09-15T18:40:22+09:00
CloudNet@์์ ์งํํ๊ณ ์๋ K8s Advanced Network Study(์ดํ, KANS)๋ฅผ ํตํด ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค.
1. Calico ์ค์น
์คํฐ๋์์ AWS CF ๋ฐ Calico ์ค์น ์คํฌ๋ฆฝํธ(Manifest)๋ฅผ ์ ๊ณตํ์๊ธฐ์, ์ด ๋ถ๋ถ์ ์ฐธ๊ณ ๋ง ํ์๊ธฐ ๋ฐ๋๋๋ค.
CNI๊ฐ ์ค์น๋์ง ์์๊ธฐ์ NotReady ์ํ์ ์๋ค๊ฐ, Calico ์ค์นํ๋ฉด CoreDNS๊ฐ ์ค์ ๋๋ฉฐ, Ready ์ํ๋ก ๋ณ๊ฒฝ๋๋ค.
-
Calico ์ค์น ์
# Control Plane and worker nodes are not ready (โ|HomeLab:default) root@k8s-m:~# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-m NotReady control-plane 32m v1.30.5 k8s-w0 NotReady <none> 31m v1.30.5 k8s-w1 NotReady <none> 31m v1.30.5 k8s-w2 NotReady <none> 31m v1.30.5 # Count for iptalbes rules for comparison (โ|HomeLab:default) root@k8s-m:~# iptables -t filter -L | wc -l 50 (โ|HomeLab:default) root@k8s-m:~# iptables -t nat -L | wc -l 48(โ|HomeLab:default) root@k8s-m:~# kubectl get pod -A --sort-by=.metadata.creationTimestamp NAMESPACE NAME READY STATUS RESTARTS AGE kube-system etcd-k8s-m 1/1 Running 0 35m kube-system kube-apiserver-k8s-m 1/1 Running 0 35m kube-system kube-controller-manager-k8s-m 1/1 Running 0 35m kube-system kube-scheduler-k8s-m 1/1 Running 0 35m kube-system coredns-55cb58b774-bscbt 0/1 Pending 0 35m kube-system coredns-55cb58b774-w22zq 0/1 Pending 0 35m kube-system kube-proxy-5hgmn 1/1 Running 0 35m kube-system kube-proxy-bnv77 1/1 Running 0 35m kube-system kube-proxy-xf8q7 1/1 Running 0 35m kube-system kube-proxy-hzsnk 1/1 Running 0 35m -
Calico ์ค์น ํ
Init Calico from quay registry
- kkumtree
2023-07-25T00:40:14+09:00
Error I met
I met error message like Init:ImagePullBackOff when I tried to create calico pod.
kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system calico-kube-controllers-xxxxxxxxxx-yyyyy 1/1 Running 1 13h
kube-system calico-node-xxxxx 0/1 Init:ImagePullBackOff 0 13h
Why it happened
Yes, it’s because of changed docker hub policy. Recently, I’m in an environment that about 20~30 people use 4 public IP addresses. So, it’s easy to reach docker hub pull rate limit.