쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

하이브리드 노드에 대한 CNI 구성

포커스 모드
하이브리드 노드에 대한 CNI 구성 - Amazon EKS

이 페이지 개선에 도움 주기

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.

이 페이지 개선에 도움 주기

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 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 설치

  1. 명령줄 환경에 helm CLI를 설치했는지 확인합니다. 설치 지침은 Helm 설명서를 참조하세요.

  2. Cilium Helm 리포지토리를 설치합니다.

    helm repo add cilium https://helm.cilium.io/
  3. 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
  4. 클러스터에 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
  5. 다음 명령을 사용하여 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
  6. BGP를 Cilium과 함께 사용하여 온프레미스 네트워크에 포드 주소를 알리려면bgpControlPlane.enabled: true로 Cilium을 설치해야 합니다. Cilium에서 BGP를 구성하려면 먼저 피어링 중인 온프레미스 라우터 IP에 peerAddress가 설정된 CiliumBGPClusterConfigcilium-bgp-cluster.yaml이라는 파일을 생성합니다. 온프레미스 라우터 구성을 기반으로 localASNpeerASN을 구성합니다.

    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"
  7. 클러스터에 Cilium BGP 클러스터 구성을 적용합니다.

    kubectl apply -f cilium-bgp-cluster.yaml
  8. 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"
  9. 클러스터에 Cilium BGP 피어 구성을 적용합니다.

    kubectl apply -f cilium-bgp-peer.yaml
  10. 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
  11. 클러스터에 Cilium BGP 광고 구성을 적용합니다.

    kubectl apply -f cilium-bgp-advertisement.yaml

    cilium bgp peers 명령을 사용하여 Cilium CLI에서 작동하는 BGP 피어링을 확인할 수 있습니다. 환경에 대한 출력에 올바른 값이 표시되고 세션 상태가 established로 설정되어야 합니다. 문제 해결에 대한 자세한 내용은 Cilium 설명서의 Troubleshooting and Operations Guide를 참조하세요.

하이브리드 노드에서 Cilium 업그레이드

Cilium 배포를 업그레이드하기 전에 Cilium 업그레이드 설명서와 업그레이드 정보를 주의 깊게 검토하여 대상 Cilium 버전의 변경 사항을 이해합니다.

  1. 명령줄 환경에 helm CLI를 설치했는지 확인합니다. 설치 지침은 Helm 설명서를 참조하세요.

  2. Cilium Helm 리포지토리를 설치합니다.

    helm repo add cilium https://helm.cilium.io/
  3. 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
  4. 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
  5. 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
  6. 사전 배포 삭제

    helm uninstall cilium-preflight --namespace kube-system
  7. 정상적인 클러스터 작업 중에는 모든 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
  8. (선택 사항) 문제로 인해 업그레이드를 롤백해야 하는 경우 다음 명령을 실행합니다.

    helm history cilium --namespace kube-system helm rollback cilium [REVISION] --namespace kube-system

하이브리드 노드에서 Cilium 삭제

  1. 다음 명령을 실행하여 클러스터에서 모든 Cilium 구성 요소를 제거합니다. CNI를 제거하면 노드 및 포드의 상태에 영향을 미칠 수 있으므로 프로덕션 클러스터에서 수행해서는 안 됩니다.

    helm uninstall cilium --namespace kube-system

    CNI가 클러스터에서 제거되면 Cilium에서 구성한 인터페이스 및 경로가 기본적으로 제거되지 않습니다. 자세한 내용은 GitHub issue를 참조하세요.

  2. 온디스크 구성 파일 및 리소스를 정리하려면 표준 구성 디렉터리를 사용하는 경우 GitHub의 Cilium 리포지토리에서 cni-uninstall.sh 스크립트에 표시된 대로 파일을 제거할 수 있습니다.

  3. 클러스터에서 Cilium 사용자 지정 리소스 정의(CRD)를 제거하려면 다음 명령을 실행할 수 있습니다.

    kubectl get crds -oname | grep "cilium" | xargs kubectl delete

하이브리드 노드에 Calico 설치

  1. 명령줄 환경에 helm CLI를 설치했는지 확인합니다. 설치 지침은 Helm 설명서를 참조하세요.

  2. Cilium Helm 리포지토리를 설치합니다.

    helm repo add projectcalico https://docs.tigera.io/calico/charts
  3. 하이브리드 노드에서 실행할 수 있도록 Calico를 선호적으로 구성하는 calico-values.yaml이라는 YAML 파일을 생성합니다. 다양한 Calico 네트워킹 모드에 대한 자세한 내용은 Calico 설명서의 Determining the best networking option을 참조하세요.

    1. POD_CIDR을 포드의 CIDR 범위로 바꿉니다. Amazon EKS 클러스터를 원격 포드 네트워크로 구성한 경우 Calico에 지정하는 POD_CIDR은 원격 포드 네트워크와 동일해야 합니다. 예: 10.100.0.0/24.

    2. CIDR_SIZE를 각 노드에 할당하려는 CIDR 세그먼트의 크기로 바꿉니다. 예를 들어 /25 세그먼트 크기의 경우 25입니다. CIDR blockSizeblockSize 변경에 대한 자세한 내용은 Calico 설명서의 Change IP pool block size을 참조하세요.

    3. 아래 예제에서는 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
  4. 클러스터에 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
  5. 다음 명령을 사용하여 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
  6. BGP 없이 Calico를 설치한 경우 이 단계를 건너뜁니다. BGP를 구성하려면 BGPPeer 구성 및 BGPConfiguration을 사용하여 calico-bgp.yaml이라는 파일을 생성합니다. BGPPeerBGPConfiguration을 구분하는 것이 중요합니다. BGPPeer는 Calico 클러스터의 노드가 피어링할 BGP 지원 라우터 또는 원격 리소스입니다. BGPPeer 구성의 asNumber는 Cilium 설정 peerASN과 유사합니다. BGPConfiguration은 각 Calico 노드에 적용되며 BGPConfigurationasNumber는 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
  7. 파일을 클러스터에 적용합니다.

    kubectl apply -f calico-bgp.yaml
  8. 다음 명령을 사용하여 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 버전의 변경 사항을 이해합니다. 업그레이드 단계는 Helm 사용 여부, Calico 연산자, 데이터 저장소 유형에 따라 달라집니다. 아래 단계에서는 Helm 사용을 가정합니다.

  1. 업그레이드하려는 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
  2. 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 삭제

  1. 다음 명령을 실행하여 클러스터에서 Calico 구성 요소를 제거합니다. CNI를 제거하면 노드 및 포드의 상태에 영향을 미칠 수 있으므로 프로덕션 클러스터에서 수행해서는 안 됩니다. Calico를 kube-system과 다른 네임스페이스에 설치한 경우 아래 명령의 네임스페이스를 변경합니다.

    helm uninstall calico --namespace kube-system

    클러스터에서 CNI를 제거하면 Calico에서 구성한 인터페이스 및 경로가 기본적으로 제거되지 않습니다.

  2. 온디스크 구성 파일 및 리소스를 정리하려면 /opt/cni/etc/cni 디렉터리에서 Calico 파일을 제거합니다.

  3. 클러스터에서 Calico CRD를 제거하려면 다음 명령을 실행합니다.

    kubectl get crds -oname | grep "calico" | xargs kubectl delete
    kubectl get crds -oname | grep "tigera" | xargs kubectl delete
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.