목록IT/Kubernetes (6)
And Brain said,
CNI(Container Network Interface)는 컨테이너에 네트워크 연결을 제공하는 표준 방법을 정의하는데, Calico는 이 CNI 규격을 구현한 소프트웨어 중 하나입니다. 컨테이너 환경을 생각해봅시다. 수백 수천가지 각기 다른 컨테이너들이 서로 소통하고자 한다면, 일일히 그들이 소통 가능하게 만들어주는 것은 여간 막막한 일이 아닐겁니다. 그렇다면 어떻게 해야할까요? 바로 여기서 Calico가 등장합니다. Calico는 정말 다양한 컨테이너들을 뛰어다니며 그들의 소통을 도와줍니다. Calico는 대규모 클라우드 환경에서 그 진가를 발휘합니다. 수천, 아니 수만 개의 컨테이너가 있어도 Calico는 끄떡없이 효율적으로 통신을 관리해줍니다. Calico는 어떻게 이 같은 일을 해낼 수 있을까요..
쿠버네티스 워커 노드를 클러스터에 편입시키는 도중에 위와 같은 에러를 마주한다면, containerd 설정이 문제이므로, sudo rm /etc/containerd/config.toml sudo systemctl restart containerd containerd 설정을 삭제한 후, containerd를 재실행시켜주면 된다.
Kubernetes(이하, K8s)는 Horizontal Pod Autoscaler(이하, HPA)라는 기능을 제공하는데, 이는 파드의 수를 자동으로 조절하여 워크로드의 리소스 사용량에 따라 자동으로 확장 및 축소할 수 있게 한다. 이를 통해, 부하가 적을땐 파드를 자동으로 축소하고 부하가 많을땐 자동으로 확장하여 부하에 따른 파드 수를 조절할 수 있게 된다. 먼저, Metric Server를 설치한다. kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml Metric Server는 각 노드별 TLS 인증이 필요한데, 인증서를 생성하여 SANs를 포함하여 생성하든지 ..
K8s 클러스터에 CNI를 Calico Plugin으로 설정한 후 뭔가 이상한 낌새를 느껴 calico-node의 상태를 확인했더니 아니나 다를까 Ready 상태가 아니었다. calico/node is not ready: BIRD is not ready: BGP not established with 10.0.4.15 W0913 06:27:13.218355 380 feature_gate.go:241] Setting GA feature gate ServiceInternalTrafficPolicy=true. It will be removed in a future release. Warning Unhealthy 33s kubelet Readiness probe failed: 2023-09-13 06:27:23...
VirtualBox 같은 가상머신을 사용한다면, 여러분들은 Vm의 IP NAT 네트워크 IP 주소가 동일한 경우를 흔히 접하실 수 있으실 겁니다. 이는 내부망을 사용한다면, 이 NAT 네트워크를 수정하지 않아도 전혀 문제될 것이 없습니다. 하지만 쿠버네티스를 사용하시게 될 때, 문제가 발생합니다. 쿠버네티스는 기본적으로 NAT 주소를 가지고 노드의 INTERNAL-IP를 구성합니다. 이때문에 쿠버네티스의 모든 노드들이 동일한 IP를 가지고 이는 곧 노드 간의 통신이 제대로 되지 않는다는 것을 의미하게 됩니다. 노드 자체의 IP를 변경하셔도 됩니다만은 이는 기존의 노드를 죽여야만 합니다. 우리는 쿠버네티스만 재시작하면서 이 노드들의 IP를 가상머신의 내부망 IP로 변경해보도록 해보겠습니다. 이제부터는 각 ..