이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
Cilium 및 Calico는 Amazon EKS Hybrid Nodes용 컨테이너 네트워킹 인터페이스(CNI)로 지원됩니다. 워크로드에 대비하려면 하이브리드 노드용 CNI를 설치해야 합니다. 하이브리드 노드는 CNI가 실행될 때까지 Not Ready
상태로 표시됩니다. Helm과 같은 도구를 선택하여 이러한 CNI를 관리할 수 있습니다. Amazon VPC CNI는 하이브리드 노드와 호환되지 않으며 VPC CNI는 eks.amazonaws.com/compute-type: hybrid
레이블에 대한 반선호도로 구성됩니다.
CNI 버전 호환성
Calico 버전 3.29.x
는 Amazon EKS에서 지원되는 모든 Kubernetes 버전에 대해 EKS 하이브리드 노드에 지원되고 권장됩니다.
Amazon EKS에서 지원되는 모든 Kubernetes 버전에 대해 EKS 하이브리드 노드에 대해 Cilium 버전 1.16.x
가 지원되고 권장됩니다.
지원되는 기능
AWS는 하이브리드 노드와 함께 사용할 수 있는 Cilium 및 Calico의 다음 기능을 지원합니다. AWS 지원 범위 외에 기능을 사용하려는 경우 해당 플러그인에 대한 상용 지원을 받거나 CNI 플러그인 프로젝트의 문제를 해결하고 프로젝트 수정에 기여할 수 있는 전문 지식을 내부적으로 보유하는 것이 좋습니다.
Feature | Cilium | Calico |
---|---|---|
Kubernetes 네트워크 적합성 |
예 |
예 |
컨트롤 플레인과 노드 연결 |
예 |
예 |
컨트롤 플레인과 포드 연결 |
예 |
예 |
수명 주기 관리 |
설치, 업그레이드, 삭제 |
설치, 업그레이드, 삭제 |
네트워킹 모드 |
VXLAN |
VXLAN |
IP 주소 관리(IPAM) |
클러스터 범위(Cilium IPAM) |
Calico IPAM |
IP 패밀리 |
IPv4 |
IPv4 |
BGP |
예(Cilium 컨트롤 플레인) |
예 |
하이브리드 노드에 Cilium 설치
-
명령줄 환경에 helm CLI를 설치했는지 확인합니다. 설치 지침은 Helm 설명서
를 참조하세요. -
Cilium Helm 리포지토리를 설치합니다.
helm repo add cilium https://helm.cilium.io/
-
cilium-values.yaml
이라는 YAML 파일을 생성합니다. 원격 포드 네트워크를 하나 이상 구성한 경우clusterPoolIPv4PodCIDRList
에 대해 동일한 포드 CIDR을 구성합니다. 클러스터에 Cilium을 배포한 후에는clusterPoolIPv4PodCIDRList
를 변경해서는 안 됩니다. 노드당 필요한 포드에 따라clusterPoolIPv4MaskSize
를 구성할 수 있습니다. Cilium 설명서의 클러스터 풀 확장을 참조하세요. Cilium의 Helm 값 전체 목록은 Cilium 설명서의 Helm reference 를 참조하세요. 다음 예제에서는 eks.amazonaws.com/compute-type: hybrid
레이블이 있으므로 하이브리드 노드에서만 실행되도록 Cilium의 모든 구성 요소를 구성합니다.기본적으로 Cilium은 클러스터를 떠나는 모든 포드 트래픽의 소스 IP 주소를 노드의 IP 주소로 매스커레이드합니다. 이렇게 하면 원격 포드 네트워크가 구성된 Amazon EKS 클러스터와 원격 포드 네트워크가 구성되지 않은 클러스터에서 Cilium을 실행할 수 있습니다. Cilium 배포에 대한 매스커레이딩을 비활성화하는 경우 원격 포드 네트워크로 Amazon EKS 클러스터를 구성하고 온프레미스 네트워크로 포드 주소를 알려야 합니다. 하이브리드 노드에서 웹후크를 실행하는 경우 원격 포드 네트워크로 클러스터를 구성하고 온프레미스 네트워크로 포드 주소를 알려야 합니다.
온프레미스 네트워크에서 포드 주소를 알리는 일반적인 방법은 BGP를 사용하는 것입니다. BGP를 Cilium과 함께 사용하려면
bgpControlPlane.enabled: true
를 설정해야 합니다. Cilium의 BGP 지원에 대한 자세한 내용은 Cilium 설명서의 Cilium BGP Control Plane을 참조하세요. affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: eks.amazonaws.com/compute-type operator: In values: - hybrid ipam: mode: cluster-pool operator: clusterPoolIPv4MaskSize: 25 clusterPoolIPv4PodCIDRList: - POD_CIDR operator: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: eks.amazonaws.com/compute-type operator: In values: - hybrid unmanagedPodWatcher: restart: false envoy: enabled: false
-
클러스터에 Cilium을 설치합니다.
CILIUM_VERSION
을 원하는 Cilium 버전으로 바꿉니다. Cilium 마이너 버전에 대한 최신 패치 버전을 실행하는 것이 좋습니다. 지정된 마이너 Cilium 릴리스에 대한 최신 패치 릴리스는 Cilium 설명서의 안정적인 릴리스 섹션에서 확인할 수 있습니다. 배포에 대해 BGP를 활성화하는 경우 아래 명령에 --set bgpControlPlane.enabled=true
플래그를 추가합니다. 특정 kubeconfig 파일을 사용하는 경우 Helm 설치 명령과 함께--kubeconfig
플래그를 사용합니다.helm install cilium cilium/cilium \ --version
CILIUM_VERSION
\ --namespace kube-system \ --values cilium-values.yaml -
다음 명령을 사용하여 Cilium 설치가 성공했는지 확인할 수 있습니다.
cilium-operator
배포와 각 하이브리드 노드에서 실행 중인cilium-agent
가 표시됩니다. 또한 하이브리드 노드는 이제Ready
상태여야 합니다. Cilium용 BGP를 구성하는 방법에 대한 자세한 내용은 다음 단계로 진행하세요.kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE cilium-jjjn8 1/1 Running 0 11m cilium-operator-d4f4d7fcb-sc5xn 1/1 Running 0 11m
kubectl get nodes
NAME STATUS ROLES AGE VERSION mi-04a2cf999b7112233 Ready <none> 19m v1.31.0-eks-a737599
-
BGP를 Cilium과 함께 사용하여 온프레미스 네트워크에 포드 주소를 알리려면
bgpControlPlane.enabled: true
로 Cilium을 설치해야 합니다. Cilium에서 BGP를 구성하려면 먼저 피어링 중인 온프레미스 라우터 IP에peerAddress
가 설정된CiliumBGPClusterConfig
로cilium-bgp-cluster.yaml
이라는 파일을 생성합니다. 온프레미스 라우터 구성을 기반으로localASN
및peerASN
을 구성합니다.apiVersion: cilium.io/v2alpha1 kind: CiliumBGPClusterConfig metadata: name: cilium-bgp spec: nodeSelector: matchExpressions: - key: eks.amazonaws.com/compute-type operator: In values: - hybrid bgpInstances: - name: "rack0" localASN: ONPREM_ROUTER_ASN peers: - name: "onprem-router" peerASN: PEER_ASN peerAddress: ONPREM_ROUTER_IP peerConfigRef: name: "cilium-peer"
-
클러스터에 Cilium BGP 클러스터 구성을 적용합니다.
kubectl apply -f cilium-bgp-cluster.yaml
-
CiliumBGPPeerConfig
리소스는 BGP 피어 구성을 정의합니다. 여러 피어가 동일한 구성을 공유하고 공통CiliumBGPPeerConfig
리소스에 대한 참조를 제공할 수 있습니다.cilium-bgp-peer.yaml
이라는 파일을 생성하여 온프레미스 네트워크에 대한 피어 구성을 진행합니다. 구성 옵션의 전체 목록은 Cilium 설명서의 BGP 피어 구성을 참조하세요. apiVersion: cilium.io/v2alpha1 kind: CiliumBGPPeerConfig metadata: name: cilium-peer spec: timers: holdTimeSeconds: 30 keepAliveTimeSeconds: 10 gracefulRestart: enabled: true restartTimeSeconds: 120 families: - afi: ipv4 safi: unicast advertisements: matchLabels: advertise: "bgp"
-
클러스터에 Cilium BGP 피어 구성을 적용합니다.
kubectl apply -f cilium-bgp-peer.yaml
-
CiliumBGPAdvertisement
리소스는 다양한 광고 유형 및 이와 관련된 속성을 정의하는 데 사용됩니다.cilium-bgp-advertisement.yaml
이라는 파일을 생성하고 원하는 설정으로CiliumBGPAdvertisement
리소스를 구성합니다.apiVersion: cilium.io/v2alpha1 kind: CiliumBGPAdvertisement metadata: name: bgp-advertisements labels: advertise: bgp spec: advertisements: - advertisementType: "PodCIDR" - advertisementType: "Service" service: addresses: - ClusterIP - ExternalIP - LoadBalancerIP
-
클러스터에 Cilium BGP 광고 구성을 적용합니다.
kubectl apply -f cilium-bgp-advertisement.yaml
cilium bgp peers
명령을 사용하여 Cilium CLI에서 작동하는 BGP 피어링을 확인할 수 있습니다. 환경에 대한 출력에 올바른 값이 표시되고 세션 상태가 established
로 설정되어야 합니다. 문제 해결에 대한 자세한 내용은 Cilium 설명서의 Troubleshooting and Operations Guide를 참조하세요.
하이브리드 노드에서 Cilium 업그레이드
Cilium 배포를 업그레이드하기 전에 Cilium 업그레이드 설명서
-
명령줄 환경에
helm
CLI를 설치했는지 확인합니다. 설치 지침은 Helm 설명서를 참조하세요. -
Cilium Helm 리포지토리를 설치합니다.
helm repo add cilium https://helm.cilium.io/
-
Cilium 업그레이드 사전 검사를 실행합니다.
CILIUM_VERSION
을 대상 Cilium 버전으로 바꿉니다. Cilium 마이너 버전에 대한 최신 패치 버전을 실행하는 것이 좋습니다. 지정된 마이너 Cilium 릴리스에 대한 최신 패치 릴리스는 Cilium 설명서의 안정적인 릴리스 섹션에서 확인할 수 있습니다. helm install cilium-preflight cilium/cilium --version CILIUM_VERSION \ --namespace=kube-system \ --set preflight.enabled=true \ --set agent=false \ --set operator.enabled=false
-
cilium-preflight.yaml
을 적용한 후READY
포드 수가 실행 중인 Cilium 포드 수와 동일한지 확인합니다.kubectl get ds -n kube-system | sed -n '1p;/cilium/p'
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE cilium 2 2 2 2 2 <none> 1h20m cilium-pre-flight-check 2 2 2 2 2 <none> 7m15s
-
READY 포드 수가 같으면 Cilium 사전 배포도 READY 1/1로 표시되어야 합니다. READY 0/1이 표시되면 업그레이드를 계속하기 전에 CNP 검증
섹션을 참조하고 배포 관련 문제를 해결합니다. kubectl get deployment -n kube-system cilium-pre-flight-check -w
NAME READY UP-TO-DATE AVAILABLE AGE cilium-pre-flight-check 1/1 1 0 12s
-
사전 배포 삭제
helm uninstall cilium-preflight --namespace kube-system
-
정상적인 클러스터 작업 중에는 모든 Cilium 구성 요소가 동일한 버전을 실행해야 합니다. 다음 단계에서는 모든 구성 요소를 하나의 안정적인 릴리스에서 이후 안정적인 릴리스로 업그레이드하는 방법을 설명합니다. 한 마이너 릴리스에서 다른 마이너 릴리스로 업그레이드할 때는 먼저 기존 Cilium 마이너 버전에 대한 최신 패치 릴리스로 업그레이드하는 것이 좋습니다. 중단을 최소화하려면
upgradeCompatibility
옵션을 이 클러스터에 설치된 초기 Cilium 버전으로 설정해야 합니다.helm 업그레이드 명령을 실행하기 전에
cilium-values.yaml
에서 배포 값을 보존하거나 설정에--set
명령줄 옵션을 사용합니다. 업그레이드 작업은 Cilium ConfigMap을 덮어쓰므로 업그레이드할 때 구성 값을 전달하는 것이 중요합니다. BGP를 사용하는 경우 값 파일에 이 정보를 제공하는 대신--set bgpControlPlane=true
명령줄 옵션을 사용하는 것이 좋습니다.helm upgrade cilium cilium/cilium --version CILIUM_VERSION \ --namespace kube-system \ --set upgradeCompatibility=1.X \ -f cilium-values.yaml
-
(선택 사항) 문제로 인해 업그레이드를 롤백해야 하는 경우 다음 명령을 실행합니다.
helm history cilium --namespace kube-system helm rollback cilium [REVISION] --namespace kube-system
하이브리드 노드에서 Cilium 삭제
-
다음 명령을 실행하여 클러스터에서 모든 Cilium 구성 요소를 제거합니다. CNI를 제거하면 노드 및 포드의 상태에 영향을 미칠 수 있으므로 프로덕션 클러스터에서 수행해서는 안 됩니다.
helm uninstall cilium --namespace kube-system
CNI가 클러스터에서 제거되면 Cilium에서 구성한 인터페이스 및 경로가 기본적으로 제거되지 않습니다. 자세한 내용은 GitHub issue
를 참조하세요. -
온디스크 구성 파일 및 리소스를 정리하려면 표준 구성 디렉터리를 사용하는 경우 GitHub의 Cilium 리포지토리에서
cni-uninstall.sh
스크립트에 표시된 대로 파일을 제거할 수 있습니다. -
클러스터에서 Cilium 사용자 지정 리소스 정의(CRD)를 제거하려면 다음 명령을 실행할 수 있습니다.
kubectl get crds -oname | grep "cilium" | xargs kubectl delete
하이브리드 노드에 Calico 설치
-
명령줄 환경에 helm CLI를 설치했는지 확인합니다. 설치 지침은 Helm 설명서
를 참조하세요. -
Cilium Helm 리포지토리를 설치합니다.
helm repo add projectcalico https://docs.tigera.io/calico/charts
-
하이브리드 노드에서 실행할 수 있도록 Calico를 선호적으로 구성하는
calico-values.yaml
이라는 YAML 파일을 생성합니다. 다양한 Calico 네트워킹 모드에 대한 자세한 내용은 Calico 설명서의 Determining the best networking option을 참조하세요. -
POD_CIDR
을 포드의 CIDR 범위로 바꿉니다. Amazon EKS 클러스터를 원격 포드 네트워크로 구성한 경우 Calico에 지정하는POD_CIDR
은 원격 포드 네트워크와 동일해야 합니다. 예:10.100.0.0/24
. -
CIDR_SIZE
를 각 노드에 할당하려는 CIDR 세그먼트의 크기로 바꿉니다. 예를 들어 /25 세그먼트 크기의 경우25
입니다. CIDRblockSize
및blockSize
변경에 대한 자세한 내용은 Calico 설명서의 Change IP pool block size을 참조하세요. -
아래 예제에서는
natOutgoing
이 활성화되고bgp
가 비활성화됩니다. 이 구성에서 Calico는 원격 포드 네트워크가 구성된 Amazon EKS 클러스터에서 실행할 수 있으며 원격 포드 네트워크가 구성되지 않은 클러스터에서 실행할 수 있습니다.natOutgoing
을 비활성화로 설정한 경우 원격 포드 네트워크로 클러스터를 구성해야 하며 온프레미스 네트워크가 포드 CIDR로 향하는 트래픽을 올바르게 라우팅할 수 있어야 합니다. 온프레미스 네트워크에서 포드 주소를 알리는 일반적인 방법은 BGP를 사용하는 것입니다. BGP를 Calico와 함께 사용하려면bgp
를 활성화해야 합니다. 아래 예제에서는eks.amazonaws.com/compute-type: hybrid
레이블이 있으므로 하이브리드 노드에서만 실행되도록 Calico의 모든 구성 요소를 구성합니다. 하이브리드 노드에서 웹후크를 실행하는 경우 원격 포드 네트워크로 클러스터를 구성하고 온프레미스 네트워크로 포드 주소를 알려야 합니다. 아래 예제에서는controlPlaneReplicas: 1
을 구성하며, 하이브리드 노드가 여러 개 있고 Calico 컨트롤 플레인 구성 요소를 고가용성 방식으로 실행하려는 경우 값을 늘립니다.installation: enabled: true cni: type: Calico ipam: type: Calico calicoNetwork: bgp: Disabled ipPools: - cidr: POD_CIDR blockSize: CIDR_SIZE encapsulation: VXLAN natOutgoing: Enabled nodeSelector: eks.amazonaws.com/compute-type == "hybrid" controlPlaneReplicas: 1 controlPlaneNodeSelector: eks.amazonaws.com/compute-type: hybrid calicoNodeDaemonSet: spec: template: spec: nodeSelector: eks.amazonaws.com/compute-type: hybrid csiNodeDriverDaemonSet: spec: template: spec: nodeSelector: eks.amazonaws.com/compute-type: hybrid calicoKubeControllersDeployment: spec: template: spec: nodeSelector: eks.amazonaws.com/compute-type: hybrid typhaDeployment: spec: template: spec: nodeSelector: eks.amazonaws.com/compute-type: hybrid
-
-
클러스터에 Calico를 설치합니다.
CALICO_VERSION
을 원하는 Calico 버전(예: 3.29.0)으로 바꿉니다. Calico releases를 참조하여 Calico 마이너 버전에 대한 최신 패치 릴리스를 찾습니다. Calico 마이너 버전에 대한 최신 패치 버전을 실행하는 것이 좋습니다. 특정 kubeconfig
파일을 사용하는 경우--kubeconfig
플래그를 사용합니다.helm install calico projectcalico/tigera-operator \ --version
CALICO_VERSION
\ --namespace kube-system \ -f calico-values.yaml -
다음 명령을 사용하여 Calico 설치가 성공했는지 확인할 수 있습니다.
tigera-operator
배포, 각 하이브리드 노드에서 실행되는calico-node
에이전트, 배포된calico-apiserver
,csi-node-driver
,calico-kube-controllers
가 표시됩니다. 또한 하이브리드 노드는 이제Ready
상태여야 합니다.natOutgoing: Disabled
를 사용하는 경우 온프레미스 네트워크에 포드 주소를 알리기 전까지는 모든 Calico 구성 요소가 성공적으로 시작되지 않습니다. Calico용 BGP를 구성하는 방법에 대한 자세한 내용은 다음 단계로 진행하세요.kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE calico-apiserver calico-apiserver-6c77bb6d46-2n8mq 1/1 Running 0 69s calico-system calico-kube-controllers-7c5f8556b5-7h267 1/1 Running 0 68s calico-system calico-node-s5nnk 1/1 Running 0 68s calico-system calico-typha-6487cc9d8c-wc5jm 1/1 Running 0 69s calico-system csi-node-driver-cv42d 2/2 Running 0 68s kube-system coredns-7bb495d866-2lc9v 1/1 Running 0 6m27s kube-system coredns-7bb495d866-2t8ln 1/1 Running 0 157m kube-system kube-proxy-lxzxh 1/1 Running 0 18m kube-system tigera-operator-f8bc97d4c-28b4d 1/1 Running 0 90s
kubectl get nodes
NAME STATUS ROLES AGE VERSION mi-0c6ec2f6f79176565 Ready <none> 5h13m v1.31.0-eks-a737599
-
BGP 없이 Calico를 설치한 경우 이 단계를 건너뜁니다. BGP를 구성하려면
BGPPeer
구성 및BGPConfiguration
을 사용하여calico-bgp.yaml
이라는 파일을 생성합니다.BGPPeer
와BGPConfiguration
을 구분하는 것이 중요합니다.BGPPeer
는 Calico 클러스터의 노드가 피어링할 BGP 지원 라우터 또는 원격 리소스입니다.BGPPeer
구성의asNumber
는 Cilium 설정peerASN
과 유사합니다.BGPConfiguration
은 각 Calico 노드에 적용되며BGPConfiguration
의asNumber
는 Cilium 설정localASN
과 동일합니다. 아래 예제의ONPREM_ROUTER_IP
,ONPREM_ROUTER_ASN
,LOCAL_ASN
을 온프레미스 환경의 값으로 바꿉니다.keepOriginalNextHop: true
설정은 각 노드가 소유한 포드 네트워크 CIDR만 광고하도록 하는 데 사용됩니다.apiVersion: projectcalico.org/v3 kind: BGPPeer metadata: name: calico-hybrid-nodes spec: peerIP:
ONPREM_ROUTER_IP
asNumber:ONPREM_ROUTER_ASN
keepOriginalNextHop: true --- apiVersion: projectcalico.org/v3 kind: BGPConfiguration metadata: name: default spec: nodeToNodeMeshEnabled: false asNumber:LOCAL_ASN
-
파일을 클러스터에 적용합니다.
kubectl apply -f calico-bgp.yaml
-
다음 명령을 사용하여 Calico 포드가 실행 중인지 확인합니다.
kubectl get pods -n calico-system -w
NAMESPACE NAME READY STATUS RESTARTS AGE calico-apiserver calico-apiserver-598bf99b6c-2vltk 1/1 Running 0 3h24m calico-system calico-kube-controllers-75f84bbfd6-zwmnx 1/1 Running 31 (59m ago) 3h20m calico-system calico-node-9b2pg 1/1 Running 0 5h17m calico-system calico-typha-7d55c76584-kxtnq 1/1 Running 0 5h18m calico-system csi-node-driver-dmnmm 2/2 Running 0 5h18m kube-system coredns-7bb495d866-dtn4z 1/1 Running 0 6h23m kube-system coredns-7bb495d866-mk7j4 1/1 Running 0 6h19m kube-system kube-proxy-vms28 1/1 Running 0 6h12m kube-system tigera-operator-55f9d9d565-jj9bg 1/1 Running 0 73m
이 단계에서 문제가 발생하면 Calico 설명서의 troubleshooting guidance
하이브리드 노드에서 Calico 업그레이드
Calico 배포를 업그레이드하기 전에 Calico 업그레이드 설명서
-
업그레이드하려는 Calico 버전의 연산자 매니페스트를 다운로드합니다. 예를 들어
CALICO_VERSION
을 업그레이드하려는 버전으로 바꿉니다(예:v3.29.0
). major.minor.patch 앞에v
를 추가해야 합니다.kubectl apply --server-side --force-conflicts \ -f https://raw.githubusercontent.com/projectcalico/calico/
CALICO_VERSION
/manifests/operator-crds.yaml -
helm upgrade
를 실행하여 Calico 배포를 업그레이드합니다. CALICO_VERSION을 업그레이드하려는 버전으로 바꿉니다(예:v3.29.0
). Calico를 설치하는 데 사용한 구성 값에서calico-values.yaml
파일을 생성합니다.helm upgrade calico projectcalico/tigera-operator \ --version
CALICO_VERSION
\ --namespace kube-system \ -f calico-values.yaml
하이브리드 노드에서 Calico 삭제
-
다음 명령을 실행하여 클러스터에서 Calico 구성 요소를 제거합니다. CNI를 제거하면 노드 및 포드의 상태에 영향을 미칠 수 있으므로 프로덕션 클러스터에서 수행해서는 안 됩니다. Calico를
kube-system
과 다른 네임스페이스에 설치한 경우 아래 명령의 네임스페이스를 변경합니다.helm uninstall calico --namespace kube-system
클러스터에서 CNI를 제거하면 Calico에서 구성한 인터페이스 및 경로가 기본적으로 제거되지 않습니다.
-
온디스크 구성 파일 및 리소스를 정리하려면
/opt/cni
및/etc/cni
디렉터리에서 Calico 파일을 제거합니다. -
클러스터에서 Calico CRD를 제거하려면 다음 명령을 실행합니다.
kubectl get crds -oname | grep "calico" | xargs kubectl delete
kubectl get crds -oname | grep "tigera" | xargs kubectl delete