Kubernetes 호스트 범위
Kubernetes 호스트 범위 (Kubernetes Host Scope)
Kubernetes 호스트 범위 IPAM 모드는 ipam: kubernetes 로 활성화되며 주소 할당을 클러스터의 각 개별 노드에 위임해요. IP는 Kubernetes가 각 노드에 연결한 PodCIDR 범위에서 할당됩니다.
본문
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=kubernetesk8s-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와 함께만 동작