Kubernetes 호스트 범위

Kubernetes 호스트 범위 (Kubernetes Host Scope)

Kubernetes 호스트 범위 IPAM 모드는 ipam: kubernetes 로 활성화되며 주소 할당을 클러스터의 각 개별 노드에 위임해요. IP는 Kubernetes가 각 노드에 연결한 PodCIDR 범위에서 할당됩니다.

출처: Kubernetes Host Scope

본문

Kubernetes 호스트 범위 IPAM 모드는 ipam: kubernetes 로 활성화되며 주소 할당을 클러스터의 각 개별 노드에 위임합니다. IP는 Kubernetes가 각 노드에 연결한 PodCIDR 범위에서 할당돼요.

이 모드에서 Cilium 에이전트는 시작 시 다음 방법 중 하나로 모든 활성화된 주소 패밀리에 대해 Kubernetes v1.Node 객체를 통해 PodCIDR 범위가 제공될 때까지 기다립니다.

v1.Node 리소스 필드를 통해

Field Description
spec.podCIDRs IPv4 및/또는 IPv6 PodCIDR 범위
spec.podCIDR IPv4 또는 IPv6 PodCIDR 범위

Note

PodCIDR 범위가 할당되어야 한다는 것을 Kubernetes에 알리려면 kube-controller-manager 를 --allocate-node-cidrs 플래그로 실행하는 것이 중요합니다.

v1.Node 애노테이션을 통해

Annotation Description
network.cilium.io/ipv4-pod-cidr IPv4 PodCIDR 범위
network.cilium.io/ipv6-pod-cidr IPv6 PodCIDR 범위
network.cilium.io/ipv4-cilium-host cilium host 인터페이스의 IPv4 주소
network.cilium.io/ipv6-cilium-host cilium host 인터페이스의 IPv6 주소
network.cilium.io/ipv4-health-ip cilium-health 엔드포인트의 IPv4 주소
network.cilium.io/ipv6-health-ip cilium-health 엔드포인트의 IPv6 주소
network.cilium.io/ipv4-Ingress-ip cilium-ingress 엔드포인트의 IPv4 주소
network.cilium.io/ipv6-Ingress-ip cilium-ingress 엔드포인트의 IPv6 주소

Note

애노테이션 기반 메커니즘은 주로 아직 spec.podCIDRs 를 지원하지 않지만 IPv4와 IPv6 모두를 지원하는 구형 Kubernetes 버전과 함께 사용할 때 유용합니다.

구성

Kubernetes hostscope를 구성하는 다음 ConfigMap 옵션이 있습니다:

  • ipam: kubernetes : Kubernetes IPAM 모드를 활성화합니다. 이 옵션을 활성화하면 enable-ipv4 가 true 인 경우 k8s-require-ipv4-pod-cidr , enable-ipv6 이 true 인 경우 k8s-require-ipv6-pod-cidr 을 자동으로 활성화합니다.
  • k8s-require-ipv4-pod-cidr: true : Cilium 에이전트가 Kubernetes 노드 리소스를 통해 IPv4 PodCIDR이 제공될 때까지 기다리도록 지시합니다.
  • k8s-require-ipv6-pod-cidr: true : Cilium 에이전트가 Kubernetes 노드 리소스를 통해 IPv6 PodCIDR이 제공될 때까지 기다리도록 지시합니다.

Helm으로는 이전 옵션을 다음과 같이 정의할 수 있어요:

  • ipam: kubernetes : --set ipam.mode=kubernetes
  • k8s-require-ipv4-pod-cidr: true : --set k8s.requireIPv4PodCIDR=true , --set ipam.mode=kubernetes 와 함께만 동작
  • k8s-require-ipv6-pod-cidr: true : --set k8s.requireIPv6PodCIDR=true , --set ipam.mode=kubernetes 와 함께만 동작

더 알아보기 (Learn more)