본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

Calico 설치 API 참조 파트 4

원문 보기 위키 갱신

이 문서는 Calico 설치 API 레퍼런스의 파트 4예요. Gateway 관련 타입(DaemonSet, Deployment, Service)부터 Goldmane, IPAM/IP 풀, ImageSet, Installation과 InstallationSpec까지 이어지는 필드 구성을 표로 정리했어요. Installation 리소스의 spec을 직접 작성하거나 수정할 때 참고하세요.

출처: 문서

본문

GatewayDaemonSetPodSpec은 gateway daemonset의 pod spec을 커스터마이즈할 수 있게 해줘요.

다음에서 사용됩니다:

Field Description
affinity Affinity (선택 사항) nil이 아니면 Affinity는 daemonset의 pod template에 affinity 필드를 설정해요.
containers GatewayDaemonSetContainer array (선택 사항)
nodeSelector object (keys:string, values:string) (선택 사항) nil이 아니면 NodeSelector는 daemonset 파드가 스케줄링될 수 있는 위치의 노드 셀렉터를 설정해요.
topologySpreadConstraints TopologySpreadConstraint array (선택 사항) nil이 아니면 TopologySpreadConstraints는 daemonset의 pod template에 토폴로지 분산 제약 조건을 설정해요. TopologySpreadConstraints는 파드 그룹이 토폴로지 도메인에 걸쳐 어떻게 분산되어야 하는지 설명해요. 스케줄러는 이 제약 조건을 준수하는 방식으로 파드를 스케줄링해요. 모든 topologySpreadConstraints는 AND로 결합돼요.
tolerations Toleration array (선택 사항) nil이 아니면 Tolerations는 daemonset의 pod template에 tolerations 필드를 설정해요.

GatewayDaemonSetPodTemplate

GatewayDeploymentPodTemplate은 gateway daemonset의 pod template을 커스터마이즈할 수 있게 해줘요.

다음에서 사용됩니다:

Field Description
metadata Metadata (선택 사항) metadata 필드에 대해서는 Kubernetes API 문서를 참고하세요.
spec GatewayDaemonSetPodSpec (선택 사항)

GatewayDaemonSetSpec

GatewayDeploymentSpec은 gateway daemonset의 spec을 커스터마이즈할 수 있게 해줘요.

다음에서 사용됩니다:

Field Description
template GatewayDaemonSetPodTemplate (선택 사항)

GatewayDeployment

GatewayDeployment는 Kubernetes Deployment로 배포할 때 Gateway를 커스터마이즈할 수 있게 해줘요.

다음에서 사용됩니다:

Field Description
spec GatewayDeploymentSpec (선택 사항)

GatewayDeploymentContainer

GatewayDeploymentContainer는 gateway deployment의 리소스 요구 사항을 커스터마이즈할 수 있게 해줘요.

다음에서 사용됩니다:

Field Description
name string
resources ResourceRequirements (선택 사항) nil이 아니면 Resources는 deployment의 "envoy" 컨테이너에 ResourceRequirements를 설정해요.
readinessProbe ProbeOverride (선택 사항) ReadinessProbe는 readiness probe 타이밍 파라미터를 커스터마이즈할 수 있게 해줘요. probe 핸들러는 오퍼레이터가 설정하며 재정의할 수 없어요.
livenessProbe ProbeOverride (선택 사항) LivenessProbe는 liveness probe 타이밍 파라미터를 커스터마이즈할 수 있게 해줘요. probe 핸들러는 오퍼레이터가 설정하며 재정의할 수 없어요.

GatewayDeploymentPodSpec

GatewayDeploymentPodSpec은 gateway deployment의 pod spec을 커스터마이즈할 수 있게 해줘요.

다음에서 사용됩니다:

Field Description
affinity Affinity (선택 사항) nil이 아니면 Affinity는 deployment의 pod template에 affinity 필드를 설정해요.
containers GatewayDeploymentContainer array (선택 사항)
nodeSelector object (keys:string, values:string) (선택 사항) nil이 아니면 NodeSelector는 deployment 파드가 스케줄링될 수 있는 위치의 노드 셀렉터를 설정해요.
topologySpreadConstraints TopologySpreadConstraint array (선택 사항) nil이 아니면 TopologySpreadConstraints는 deployment의 pod template에 토폴로지 분산 제약 조건을 설정해요. TopologySpreadConstraints는 파드 그룹이 토폴로지 도메인에 걸쳐 어떻게 분산되어야 하는지 설명해요. 스케줄러는 이 제약 조건을 준수하는 방식으로 파드를 스케줄링해요. 모든 topologySpreadConstraints는 AND로 결합돼요.
tolerations Toleration array (선택 사항) nil이 아니면 Tolerations는 deployment의 pod template에 tolerations 필드를 설정해요.

GatewayDeploymentPodTemplate

GatewayDeploymentPodTemplate은 gateway deployment의 pod template을 커스터마이즈할 수 있게 해줘요.

다음에서 사용됩니다:

Field Description
metadata Metadata (선택 사항) metadata 필드에 대해서는 Kubernetes API 문서를 참고하세요.
spec GatewayDeploymentPodSpec (선택 사항)

GatewayDeploymentSpec

GatewayDeploymentSpec은 gateway deployment의 spec을 커스터마이즈할 수 있게 해줘요.

다음에서 사용됩니다:

Field Description
replicas integer (선택 사항) nil이 아니면 Replicas는 deployment의 레플리카 수를 설정해요.
template GatewayDeploymentPodTemplate (선택 사항)
strategy GatewayDeploymentStrategy (선택 사항) 기존 파드를 새 파드로 교체할 때 사용할 deployment 전략이에요.

GatewayDeploymentStrategy

GatewayDeploymentStrategy는 gateway deployment의 deployment 전략을 커스터마이즈할 수 있게 해줘요.

GatewayDeployment.Spec.Strategy가 nil이 아니면 gateway deployment는 롤링 업데이트 전략을 사용하고, 파라미터는 GatewayDeployment.Spec.Strategy에 지정한 값을 따라요.

현재는 RollingUpdate만 지원하기 때문에 Type 필드는 노출되지 않아요.

다음에서 사용됩니다:

Field Description
rollingUpdate RollingUpdateDeployment (선택 사항)

GatewayKind

기반 타입: string

유효성 검사:

  • Enum: [Deployment DaemonSet]

다음에서 사용됩니다:

Value Description
Deployment
DaemonSet

GatewayService

GatewayService는 Gateway 앞단에 두는 Service를 커스터마이즈할 수 있게 해줘요.

다음에서 사용됩니다:

Field Description
metadata Metadata (선택 사항) metadata 필드에 대해서는 Kubernetes API 문서를 참고하세요.
spec GatewayServiceSpec (선택 사항)

GatewayServiceSpec

GatewayServiceSpec은 gateway deployment 앞단에 두는 Service를 커스터마이즈할 수 있게 해줘요.

LoadBalancer 필드들은 Kubernetes ServiceSpec의 해당 필드를 커스터마이즈할 수 있게 해줘요. 각 Gateway에 프로비저닝되는 외부 로드 밸런서를 클라우드에 관계없이 어느 정도 제어할 때 사용할 수 있어요. 더 세밀한 클라우드별 제어가 필요하면 GatewayService의 Metadata.Annotations 필드를 사용하세요.

다음에서 사용됩니다:

Field Description
loadBalancerClass string (선택 사항)
allocateLoadBalancerNodePorts boolean (선택 사항)
loadBalancerSourceRanges string array (선택 사항)
loadBalancerIP string (선택 사항)
patch KubernetesPatchSpec (선택 사항) Patch는 위 필드들로는 명시적으로 지원되지 않는 방식으로 gateway의 Service를 패치할 수 있게 해줘요. 예를 들어 다음 YAML을 사용해 Service의 healthCheckNodePort를 설정할 수 있어요: patch: type: StrategicMerge value: spec: healthCheckNodePort: 12345

Goldmane

Field Description
apiVersion string operator.tigera.io/v1
kind string Goldmane
metadata ObjectMeta metadata 필드에 대해서는 Kubernetes API 문서를 참고하세요.
spec GoldmaneSpec
status GoldmaneStatus

GoldmaneDeployment

GoldmaneDeployment는 goldmane Deployment에 대한 구성이에요.

다음에서 사용됩니다:

Field Description
metadata Metadata (선택 사항) metadata 필드에 대해서는 Kubernetes API 문서를 참고하세요.
spec GoldmaneDeploymentSpec (선택 사항) Spec은 goldmane Deployment의 스펙이에요.

GoldmaneDeploymentContainer

다음에서 사용됩니다:

Field Description
name string
resources ResourceRequirements (선택 사항)
readinessProbe ProbeOverride (선택 사항) ReadinessProbe는 readiness probe 타이밍 파라미터를 커스터마이즈할 수 있게 해줘요. probe 핸들러는 오퍼레이터가 설정하며 재정의할 수 없어요.
livenessProbe ProbeOverride (선택 사항) LivenessProbe는 liveness probe 타이밍 파라미터를 커스터마이즈할 수 있게 해줘요. probe 핸들러는 오퍼레이터가 설정하며 재정의할 수 없어요.

GoldmaneDeploymentPodSpec

GoldmaneDeploymentPodSpec은 goldmane Deployment의 PodSpec이에요.

다음에서 사용됩니다:

Field Description
affinity Affinity (선택 사항) Affinity는 goldmane 파드를 위한 어피니티 스케줄링 규칙 그룹이에요.
containers GoldmaneDeploymentContainer array (선택 사항) Containers는 goldmane 컨테이너 목록이에요. 지정하면 지정된 EGW Deployment 컨테이너를 재정의해요. 생략하면 goldmane Deployment는 컨테이너 기본값을 사용해요.
nodeSelector object (keys:string, values:string) (선택 사항) NodeSelector는 goldmane 파드가 실행될 노드를 더 세밀하게 제어할 수 있게 해줘요.
terminationGracePeriodSeconds integer (선택 사항) TerminationGracePeriodSeconds는 goldmane 파드의 종료 유예 기간을 초 단위로 정의해요.
topologySpreadConstraints TopologySpreadConstraint array (선택 사항) TopologySpreadConstraints는 파드 그룹이 토폴로지 도메인에 걸쳐 어떻게 분산되어야 하는지 설명해요. 스케줄러는 이 제약 조건을 준수하는 방식으로 파드를 스케줄링해요. 모든 topologySpreadConstraints는 AND로 결합돼요.
tolerations Toleration array (선택 사항) Tolerations는 goldmane 파드의 톨러레이션이에요. 지정하면 goldmane Deployment에 설정되어 있을 수 있는 톨러레이션을 재정의해요. 생략하면 goldmane Deployment는 톨러레이션 기본값을 사용해요.
priorityClassName string (선택 사항) PriorityClassName은 사용할 PriorityClass 리소스를 지정할 수 있게 해줘요.

GoldmaneDeploymentPodTemplateSpec

GoldmaneDeploymentPodTemplateSpec은 goldmane Deployment의 PodTemplateSpec이에요.

다음에서 사용됩니다:

Field Description
metadata Metadata (선택 사항) metadata 필드에 대해서는 Kubernetes API 문서를 참고하세요.
spec GoldmaneDeploymentPodSpec (선택 사항) Spec은 goldmane Deployment의 PodSpec이에요.

GoldmaneDeploymentSpec

GoldmaneDeploymentSpec은 goldmane Deployment에 대한 구성을 정의해요.

다음에서 사용됩니다:

Field Description
minReadySeconds integer (선택 사항) MinReadySeconds는 새로 생성된 Deployment 파드가 available로 간주되기 위해 컨테이너 크래시 없이 ready 상태를 유지해야 하는 최소 시간(초)이에요. 지정하면 goldmane Deployment에 설정되어 있을 수 있는 minReadySeconds 값을 재정의해요. 생략하면 goldmane Deployment는 minReadySeconds 기본값을 사용해요.
template GoldmaneDeploymentPodTemplateSpec (선택 사항) Template은 생성될 goldmane Deployment 파드를 설명해요.
strategy GoldmaneDeploymentStrategy (선택 사항) 기존 파드를 새 파드로 교체할 때 사용할 deployment 전략이에요.

GoldmaneDeploymentStrategy

다음에서 사용됩니다:

Field Description
rollingUpdate RollingUpdateDeployment (선택 사항) 롤링 업데이트 구성 파라미터예요. DeploymentStrategyType = RollingUpdate인 경우에만 존재해요.

GoldmaneSpec

다음에서 사용됩니다:

Field Description
goldmaneDeployment GoldmaneDeployment
metricsPort integer (선택 사항) MetricsPort는 Goldmane가 Prometheus 메트릭을 제공하는 데 사용하는 포트를 구성해요. 0이 아닌 값으로 설정하면 Goldmane가 해당 포트에서 /metrics 엔드포인트를 노출해요. 메트릭을 비활성화하려면 0으로 설정하세요. 생략하면 메트릭은 비활성화돼요.

GoldmaneStatus

GoldmaneStatus는 Goldmane의 관측된 상태를 정의해요.

다음에서 사용됩니다:

Field Description
conditions Condition array (선택 사항) Conditions는 컴포넌트에 대해 가장 최근에 관측된 조건 집합을 나타내요. 컴포넌트는 Ready, Progressing, Degraded 또는 그 외 커스텀 타입 중 하나 이상일 수 있어요.

HostPortsType

기반 타입: string

HostPortsType은 호스트 포트 지원을 지정해요.

다음 중 하나: Enabled, Disabled

다음에서 사용됩니다:

Value Description
Enabled
Disabled

IPAMPluginType

기반 타입: string

다음에서 사용됩니다:

Value Description
Calico
HostLocal
AmazonVPC
AzureVNET

IPAMSpec

IPAMSpec은 파드 IP 주소 관리에 대한 구성을 담아요.

다음에서 사용됩니다:

Field Description
type IPAMPluginType 설치에 사용할 IPAM 플러그인을 지정해요. * CNI 플러그인이 Calico이면 이 필드의 기본값은 Calico예요. * CNI 플러그인이 GKE이면 이 필드의 기본값은 HostLocal이에요. * CNI 플러그인이 AzureVNET이면 이 필드의 기본값은 AzureVNET이에요. * CNI 플러그인이 AmazonVPC이면 이 필드의 기본값은 AmazonVPC예요. IPAM 플러그인은 CNI 플러그인이 Calico로 설정된 경우에만 설치·구성돼요. 그 외 CNI 플러그인 값에서는 플러그인 바이너리와 CNI 구성을 별도로 설치해야 하는 의존성으로 취급돼요. 기본값: Calico

IPPool

다음에서 사용됩니다:

Field Description
name string Name은 IP 풀의 이름이에요. 생략하면 자동으로 생성돼요.
cidr string CIDR은 IP 풀의 주소 범위를 CIDR(classless inter-domain routing) 형식으로 담아요.
encapsulation EncapsulationType (선택 사항) Encapsulation은 IP 풀에 사용할 캡슐화 유형을 지정해요. 기본값: IPIP
natOutgoing NATOutgoingType (선택 사항) NATOutgoing은 나가는 트래픽에 NAT를 활성화할지 여부를 지정해요. 기본값: Enabled
nodeSelector string (선택 사항) NodeSelector는 IP 풀에 설정할 노드 셀렉터를 지정해요. 기본값: 'all()'
blockSize integer (선택 사항) BlockSize는 메인 IP 풀 CIDR에서 노드별 IP 블록을 할당할 때 사용할 CIDR 프리픽스 길이를 지정해요. 기본값: 26 (IPv4), 122 (IPv6)
disableBGPExport boolean (선택 사항) DisableBGPExport는 이 IP 풀의 CIDR에서 나오는 경로를 BGP로 내보낼지 여부를 지정해요. 기본값: false
disableNewAllocations boolean DisableNewAllocations는 이 풀에서 새 IP 할당을 허용할지 여부를 지정해요. 이미 이 풀에서 주소를 받은 기존 파드에 영향을 주지 않으면서 새 파드가 이 풀에서 IP 주소를 받지 못하게 하고 싶을 때 유용해요.
allowedUses IPPoolAllowedUse array AllowedUse는 IP 풀을 어떤 용도로 쓸 수 있는지 제어해요. 지정하지 않거나 비워 두면 하위 호환성을 위해 ["Tunnel", "Workload"]가 기본값이에요.
assignmentMode AssignmentMode AssignmentMode는 이 풀의 IP 주소를 자동으로 할당할지, 요청이 있을 때만 할당할지 결정해요.

IPPoolAllowedUse

기반 타입: string

다음에서 사용됩니다:

Value Description
Workload
Tunnel
LoadBalancer

Image

다음에서 사용됩니다:

Field Description
image string Image는 오퍼레이터가 배포하는 이미지예요. 내장 태그를 쓰는 대신 오퍼레이터가 Digest를 이미지 식별자로 사용해요. 값은 레지스트리, 태그, 다이제스트가 없는 원본 이미지 이름이어야 해요. 이미지 docker.io/calico/node:v3.17.1은 calico/node로 표현해야 해요. "Installation" 스펙은 커스텀 이미지 레지스트리, 경로, 프리픽스를 정의할 수 있어요. example.com/custompath/customprefix-calico-node:v3.17.1 같은 커스텀 이미지라도 이 값은 여전히 calico/node여야 해요.
digest string Digest는 Image에 사용할 이미지 식별자예요. 이 필드는 앞에 @를 포함하면 안 되고 sha256: 접두사로 시작해야 해요.

ImageSet

ImageSet은 오퍼레이터가 배포하는 이미지들의 다이제스트를 지정하는 데 사용돼요. ImageSet의 이름은 <variant>-<release> 형식이어야 해요. InstallationSpec Variant가 CalicoEnterprise 또는 TigeraSecureEnterprise면 variant는 enterprise가 되고, 그렇지 않으면 calico예요. release는 오퍼레이터가 배포하도록 빌드된 variant의 버전과 일치해야 하며, 이 버전은 오퍼레이터 바이너리에 --version 플래그를 넘겨서 얻을 수 있어요.

Field Description
apiVersion string operator.tigera.io/v1
kind string ImageSet
metadata ObjectMeta metadata 필드에 대해서는 Kubernetes API 문서를 참고하세요.
spec ImageSetSpec

ImageSetSpec

ImageSetSpec은 ImageSet이 의도하는 상태를 정의해요.

다음에서 사용됩니다:

Field Description
images Image array Images는 다이제스트를 적용할 이미지 목록이에요. 오퍼레이터가 배포할 모든 이미지를 지정해야 해요.

Installation

Installation은 Calico 또는 Calico Enterprise 설치를 구성해요. 이 리소스는 최대 한 개의 인스턴스만 지원되며, 이름은 반드시 "default"여야 해요. Installation API는 핵심 네트워킹과 네트워크 정책 컴포넌트를 설치하고, 설치 시점의 일반 구성을 제공해요.

Field Description
apiVersion string operator.tigera.io/v1
kind string Installation
metadata ObjectMeta metadata 필드에 대해서는 Kubernetes API 문서를 참고하세요.
spec InstallationSpec Calico 또는 Calico Enterprise 설치가 의도하는 상태에 대한 스펙이에요.
status InstallationStatus Calico 또는 Calico Enterprise 설치에 대해 가장 최근에 관측된 상태예요.

InstallationSpec

InstallationSpec은 Calico 또는 Calico Enterprise 설치에 대한 구성을 정의해요.

다음에서 사용됩니다:

Field Description
variant ProductVariant (선택 사항) Variant는 설치할 제품이에요. Calico 또는 CalicoEnterprise 중 하나예요. TigeraSecureEnterprise는 CalicoEnterprise의 폐기된 별칭으로 계속 받아들여져요. 설정하지 않으면 오퍼레이터가 자신이 실행 중인 variant로 채워요.
registry string (선택 사항) Registry는 컴포넌트 Docker 이미지에 사용할 기본 Docker 레지스트리예요. 값을 지정하면 슬래시 문자(/)로 끝나야 하고 모든 이미지를 이 레지스트리에서 가져와요. 지정하지 않으면 기본 레지스트리를 사용해요. 특수 값 UseDefault를 쓰면 기본 레지스트리를 사용한다고 명시적으로 지정할 수 있어요. 이미지 형식: <registry><imagePath>/<imagePrefix><imageName>:<image-tag> 이 옵션은 위 형식에서 <registry> 부분을 구성해요.
imagePath string (선택 사항) ImagePath는 이미지의 경로 부분을 지정할 수 있게 해줘요. 지정하면 각 이미지의 이미지 경로로 해당 값을 사용해요. 지정하지 않거나 비워 두면 각 이미지의 기본값을 사용해요. 특수 값 UseDefault를 쓰면 각 이미지에 기본 이미지 경로를 사용한다고 명시적으로 지정할 수 있어요. 이미지 형식: <registry><imagePath>/<imagePrefix><imageName>:<image-tag> 이 옵션은 위 형식에서 <imagePath> 부분을 구성해요.
imagePrefix string (선택 사항) ImagePrefix는 이미지의 프리픽스 부분을 지정할 수 있게 해줘요. 지정하면 각 이미지에 프리픽스를 붙여요. 지정하지 않거나 비워 두면 프리픽스를 붙이지 않아요. 특수 값 UseDefault를 쓰면 각 이미지에 기본 이미지 프리픽스를 사용한다고 명시적으로 지정할 수 있어요. 이미지 형식: <registry><imagePath>/<imagePrefix><imageName>:<image-tag> 이 옵션은 위 형식에서 <imagePrefix> 부분을 구성해요.
imagePullSecrets LocalObjectReference array (선택 사항) ImagePullSecrets는 사용할 컨테이너 레지스트리 풀 시크릿 참조의 배열이에요. 가져올 모든 이미지에 적용돼요.
imagePullPolicy PullPolicy (선택 사항) ImagePullPolicy는 오퍼레이터가 렌더링하는 파드 중 자체 풀 정책을 명시적으로 설정하지 않은 컨테이너에 적용되는 풀 정책이에요. 설정하지 않으면 IfNotPresent가 기본값이에요. 이미지를 노드에 미리 올려두고 원격 레지스트리에서 다시 가져오면 안 되는 에어갭(air-gapped) 환경에서 유용해요.
kubernetesProvider Provider (선택 사항) KubernetesProvider는 Kubernetes 플랫폼의 특정 프로바이더를 지정하고 프로바이더별 구성을 활성화해요. 값을 비워 두면 오퍼레이터가 현재 프로바이더를 자동으로 판별하려고 시도해요. 값을 지정하면 오퍼레이터는 여전히 자동 판별을 시도하지만, 자동 판별 결과와 지정한 값을 비교해 일치하는지 확인해요.
cni CNISpec (선택 사항) CNI는 이 설치에서 사용할 CNI를 지정해요.
calicoNetwork CalicoNetworkSpec (선택 사항) CalicoNetwork는 Calico의 네트워킹 구성 옵션을 지정해요.
typhaAffinity TyphaAffinity (선택 사항) Deprecated. 대신 Installation.Spec.TyphaDeployment를 사용하세요. TyphaAffinity는 Typha 파드의 노드 어피니티 특성을 구성할 수 있게 해줘요.
controlPlaneNodeSelector object (keys:string, values:string) (선택 사항) ControlPlaneNodeSelector는 Calico 컴포넌트를 실행할 컨트롤 플레인 노드를 선택하는 데 사용돼요. daemonset을 제외한 오퍼레이터가 만드는 모든 리소스에 전역으로 적용돼요.
controlPlaneTolerations Toleration array (선택 사항) ControlPlaneTolerations는 오퍼레이터가 만드는 모든 리소스에 전역으로 적용되는 톨러레이션을 지정해요.
controlPlaneReplicas integer (선택 사항) ControlPlaneReplicas는 컨트롤 플레인 핵심 컴포넌트를 몇 개의 레플리카로 배포할지 정의해요. 이 필드는 고가용성(HA)을 지원하는 모든 컨트롤 플레인 컴포넌트에 적용돼요. 기본값은 2예요.
nodeMetricsPort integer (선택 사항) NodeMetricsPort는 calico/node가 Prometheus 메트릭을 제공하는 포트를 지정해요. 기본적으로 메트릭은 비활성화되어 있어요. 지정하면 존재할 수 있는 FelixConfiguration 리소스를 재정의해요. 생략하면 Prometheus 메트릭은 FelixConfiguration으로 계속 구성할 수 있어요.
typhaMetricsPort integer (선택 사항) TyphaMetricsPort는 calico/typha가 Prometheus 메트릭을 제공하는 포트를 지정해요. 기본적으로 메트릭은 비활성화되어 있어요.
flexVolumePath string (선택 사항) FlexVolumePath는 FlexVolume의 커스텀 경로를 선택적으로 지정해요. 지정하지 않으면 FlexVolume이 기본적으로 활성화돼요. 'None'으로 설정하면 FlexVolume이 비활성화돼요. 기본값은 kubernetesProvider에 따라 달라져요.
calicoRunHostPath string (선택 사항) CalicoRunHostPath는 calico-node 컨테이너에 /var/run/calico로 마운트할 호스트 경로를 선택적으로 지정해요. microk8s 같은 환경은 Calico 런타임 상태를 비표준 호스트 디렉터리(예: /var/snap/microk8s/current/var/run/calico)에 두니, 매니페스트에서 오퍼레이터로 마이그레이션한 후에도 오퍼레이터가 그 경로를 계속 쓰도록 이 필드를 설정하세요.
calicoLibHostPath string (선택 사항) CalicoLibHostPath는 calico-node 컨테이너에 /var/lib/calico로 마운트할 호스트 경로를 선택적으로 지정해요. Calico 데이터가 비표준 호스트 디렉터리에 있을 때(microk8s는 /var/snap/microk8s/current/var/lib/calico를 사용해요) CalicoRunHostPath와 함께 설정하세요.
kubeletVolumePluginPath string (선택 사항) KubeletVolumePluginPath는 Calico CSI 플러그인 활성화 여부를 선택적으로 지정해요. 지정하지 않으면 CSI가 기본적으로 활성화돼요. 'None'으로 설정하면 CSI가 비활성화돼요. 기본값: /var/lib/kubelet
nodeUpdateStrategy DaemonSetUpdateStrategy (선택 사항) NodeUpdateStrategy는 MaxUnavailable 필드 같은 원하는 업데이트 전략을 커스터마이즈하는 데 사용할 수 있어요.
componentResources ComponentResource array (선택 사항) Deprecated. 대신 CalicoNodeDaemonSet, TyphaDeployment, KubeControllersDeployment를 사용하세요. ComponentResources는 각 컴포넌트의 리소스 요구 사항을 커스터마이즈하는 데 사용할 수 있어요. 설치에서는 Node, Typha, KubeControllers를 지원해요.
certificateManagement CertificateManagement (선택 사항) CertificateManagement는 파드가 TLS 인증서를 받기 위해 certificates.k8s.io/v1 API로 CertificateSigningRequest를 제출하도록 구성해요. 이 기능은 직접 CSR 서명 및 승인 프로세스를 갖춰야 해요. 그렇지 않으면 파드가 초기화 중에 멈춰요.
tlsCipherSuites TLSCipherSuites (선택 사항) TLSCipherSuites는 보안 통신 중 TLS 프로토콜이 사용할 암호 스위트 목록을 정의해요.
nonPrivileged NonPrivilegedType (선택 사항) Deprecated. NonPrivileged는 폐기되었으며 향후 릴리스에서 API에서 제거될 예정이에요. 이 필드를 활성화하는 것은 지원되지 않으며 오류가 발생해요. NonPrivileged는 가능한 한 Calico를 비특권 컨테이너에서 비루트 사용자로 실행하도록 구성해요.
calicoNodeDaemonSet CalicoNodeDaemonSet (선택 사항) CalicoNodeDaemonSet은 calico-node DaemonSet을 구성해요. 폐기된 ComponentResources와 함께 사용하면 이 재정의가 우선해요.
csiNodeDriverDaemonSet CSINodeDriverDaemonSet (선택 사항) CSINodeDriverDaemonSet은 csi-node-driver DaemonSet을 구성해요.
calicoKubeControllersDeployment CalicoKubeControllersDeployment (선택 사항) CalicoKubeControllersDeployment는 calico-kube-controllers Deployment를 구성해요. 폐기된 ComponentResources와 함께 사용하면 이 재정의가 우선해요.
typhaDeployment TyphaDeployment (선택 사항) TyphaDeployment는 typha Deployment를 구성해요. 폐기된 ComponentResources 또는 TyphaAffinity와 함께 사용하면 이 재정의가 우선해요.
typhaPodDisruptionBudget PodDisruptionBudgetOverride (선택 사항) TyphaPodDisruptionBudget은 calico-typha Deployment의 PodDisruptionBudget을 구성해요. 설정하지 않은 필드는 오퍼레이터 기본값으로 돌아가요. PDB의 셀렉터는 오퍼레이터가 관리하며 재정의할 수 없어요.
calicoWindowsUpgradeDaemonSet CalicoWindowsUpgradeDaemonSet Deprecated. CalicoWindowsUpgradeDaemonSet은 폐기되었으며 향후 API에서 제거될 예정이에요. CalicoWindowsUpgradeDaemonSet은 calico-windows-upgrade DaemonSet을 구성해요.
calicoNodeWindowsDaemonSet CalicoNodeWindowsDaemonSet CalicoNodeWindowsDaemonSet은 calico-node-windows DaemonSet을 구성해요.
fipsMode FIPSMode (선택 사항) Deprecated. FIPS 모드는 더 이상 지원되지 않아요. fipsMode를 Enabled로 설정하면 설치가 degraded로 표시돼요.
logging Logging (선택 사항) 컴포넌트에 대한 로깅 구성이에요.
windowsNodes WindowsNodeSpec (선택 사항) Windows 구성이에요.
serviceCIDRs string array (선택 사항) Kubernetes Service CIDRs예요. Calico for Windows를 사용할 때는 이 값을 지정해야 해요.
azure Azure (선택 사항) Azure는 Azure 프로바이더별 옵션을 구성하는 데 사용돼요.
proxy Proxy (선택 사항) Proxy는 클러스터 외부 대상에 연결하는 Tigera 컨테이너에 적용될 HTTP(S) 프록시 설정을 구성해요. 클러스터 내부 대상(API 서버 포함)은 프록시에서 제외되도록 NO_PROXY를 구성해야 해요.
networkPolicy NetworkPolicySpec (선택 사항) NetworkPolicy는 오퍼레이터가 관리하는 Calico 컴포넌트를 보호하기 위해 설치하는 NetworkPolicy와 GlobalNetworkPolicy를 오퍼레이터가 어떻게 관리할지 구성해요.

InstallationStatus

더 알아보기 (Learn more)

각 필드가 어떤 컴포넌트 구성을 재정의하는지 표에서 빠르게 확인하고, Deprecated 표시가 있는 필드는 권장 대체 필드를 함께 확인하세요. 오퍼레이터가 기본값을 채워 주는 필드가 많으니 꼭 필요한 필드만 오버라이드하는 것이 안전해요.