calicoctl 구성하기
calicoctl을 클러스터에 맞게 구성하면 데이터스토어에 접속해 관리 명령을 실행할 수 있어요. 이 문서는 구성 파일, 환경 변수, kubeconfig 자격 증명이라는 세 가지 방법을 비교하며 안내합니다. Calico API 서버 도입으로 calicoctl이 필요한 경우가 줄었다는 점도 함께 확인해보세요.
출처: 문서
본문
큰 그림
calicoctl CLI 도구를 클러스터에 맞게 구성하는 방법을 알아봅니다.
활용 가치
calicoctl CLI 도구는 Calico 클러스터와 상호작용할 수 있는 유용한 관리 명령을 제공해요.
개념
calicoctl vs kubectl
이전 릴리스에서는 projectcalico.org/v3 API 그룹의 Calico API 리소스를 관리하려면 calicoctl이 필요했어요. calicoctl CLI 도구는 이러한 API에 중요한 검증과 기본값 적용을 제공합니다.
최신 릴리스에서는 Calico API 서버가 그 기본값 적용과 검증을 서버 측에서 수행하고, calicoctl 없이도 같은 API 시맨틱을 노출해요. 그래서 대부분의 작업에는 calicoctl 대신 Calico API 서버를 설치하고 kubectl을 사용하는 것을 권장합니다.
다음 하위 커맨드에는 여전히 calicoctl이 필요해요:
OpenStack 같은 비-Kubernetes 플랫폼에도 calicoctl이 필요합니다.
calicoctl 기본 동작
대부분의 calicoctl 명령은 Calico 데이터스토어 접근이 필요해요. 기본적으로 calicoctl은 기본 kubeconfig를 기준으로 Kubernetes API에서 읽기를 시도합니다.
적용 방법
구성 파일로 접근 구성하기
기본적으로 calicoctl은 /etc/calico/calicoctl.cfg 경로에서 구성 파일을 찾아요. 데이터스토어 접근이 필요한 명령에서 --config 옵션으로 이 경로를 바꿀 수 있습니다. 파일은 YAML 또는 JSON 형식이어야 하고, calicoctl이 읽을 수 있는 유효한 내용이어야 해요. 예를 들면:
apiVersion: projectcalico.org/v3
kind: CalicoAPIConfig
metadata:
spec:
datastoreType: "etcdv3"
etcdEndpoints: "http://etcd1:2379,http://etcd2:2379"
...
환경 변수로 접근 구성하기
calicoctl이 구성 파일을 찾지 못하거나 읽거나 접근할 수 없으면 특정 환경 변수 집합을 확인해요.
데이터스토어 타입에 맞는 섹션에서 전체 옵션과 예제를 참고하세요.
참고: 컨테이너 안에서
calicoctl을 실행할 때는 환경 변수와 구성 파일을 컨테이너로 전달해 안의 프로세스가 사용할 수 있게 해야 해요. 데이터스토어에 맞게 구성된 실행 중인 컨테이너(sleep)를 하나 유지하면, 그 컨테이너로exec해서 이미 구성된 환경을 바로 쓸 수 있어 유용합니다.
더 알아보기 (Learn more)
요즘은 대부분의 작업에 Calico API 서버 + kubectl 조합이 권장돼요. calicoctl은 node, ipam, version 하위 커맨드와 OpenStack 같은 비-Kubernetes 플랫폼에서 여전히 필요합니다.