CRD-Backed IPAM
CRD-Backed IPAM
Cilium의 CRD-backed IPAM을 활성화하고 CiliumNode 커스텀 리소스로 IP를 할당하는 방법을 안내하는 튜토리얼이에요.
출처: CRD-Backed IPAM
본문
이 문서는 CRD-backed IPAM을 활성화하는 방법을 안내하는 빠른 튜토리얼이에요. 이 튜토리얼의 목적은 컴포넌트가 어떻게 구성되고 리소스가 서로 어떻게 상호작용하는지 보여줘서, 사용자가 스스로 자동화하거나 확장할 수 있게 하는 것이에요.
자세한 내용은 CRD-Backed 섹션을 참고하세요.
CRD IPAM 모드 활성화 (Enable CRD IPAM mode)
-
사용 가능한 가이드 중 하나로 Kubernetes용 Cilium을 설정하세요.
-
--ipam=crd옵션으로 Cilium을 실행하거나cilium-configConfigMap에서ipam: crd를 설정하세요. -
Cilium을 재시작하세요. Cilium은 CRD가 아직 없으면 자동으로 등록해요.
msg="Waiting for initial IP to become available in 'k8s1' custom resource" subsys=ipam -
CRD가 등록됐는지 검증하세요:
$ kubectl get crds NAME CREATED AT [...] ciliumnodes.cilium.io 2019-06-08T12:26:41Z
CiliumNode CR 생성 (Create a CiliumNode CR)
-
다음 커스텀 리소스를 가져와 Cilium agent에서 IP를 사용 가능하게 만드세요.
apiVersion: "cilium.io/v2" kind: CiliumNode metadata: name: "k8s1" spec: ipam: pool: 192.168.1.1: {} 192.168.1.2: {} 192.168.1.3: {} 192.168.1.4: {} -
Cilium이 올바르게 시작했는지 검증하세요:
$ cilium-dbg status --all-addresses KVStore: Ok etcd: 1/1 connected, has-quorum=true: https://192.168.60.11:2379 - 3.3.12 (Leader) [...] IPAM: IPv4: 2/4 allocated, Allocated addresses: 192.168.1.1 (router) 192.168.1.3 (health) -
status.IPAM.used섹션을 검증하세요:$ kubectl get cn k8s1 -o yaml apiVersion: cilium.io/v2 kind: CiliumNode metadata: name: k8s1 [...] spec: ipam: pool: 192.168.1.1: {} 192.168.1.2: {} 192.168.1.3: {} 192.168.1.4: {} status: ipam: used: 192.168.1.1: owner: router 192.168.1.3: owner: health
Note 현재는 단일 IP 주소만 허용돼요. CIDR은 지원되지 않아요.