
(Optional) ETCDCTL 유틸리티에 대한 추가 정보
ETCDCTL은 ETCD와 상호작용하는 데 사용되는 CLI 도구입니다.
ETCDCTL은 버전 2와 버전 3의 두 가지 API 버전을 사용하여 ETCD 서버와 상호 작용할 수 있습니다. 기본적으로 버전 2를 사용하도록 설정되어 있습니다. 각 버전마다 명령어 세트가 다릅니다.
예를 들어, ETCDCTL 버전 2는 다음 명령어를 지원합니다:
etcdctl backup
etcdctl cluster-health
etcdctl mk
etcdctl mkdir
etcdctl set
버전 3에서는 명령어가 다릅니다
etcdctl snapshot save
etcdctl endpoint health
etcdctl get
etcdctl put
올바른 API 버전을 설정하려면 환경 변수 ETCDCTL_API 명령을 설정합니다
export ETCDCTL_API=3
API 버전이 설정되지 않은 경우 버전 2로 설정된 것으로 가정합니다. 위에 나열된 버전 3 명령어는 작동하지 않습니다. API 버전이 버전 3으로 설정된 경우 위에 나열된 버전 2 명령어는 작동하지 않습니다.
그 외에도 ETCDCTL이 ETCD API 서버에 인증할 수 있도록 인증서 파일의 경로를 지정해야 합니다. 인증서 파일은 다음 경로의 etcd-master에서 사용할 수 있습니다. 이 과정의 보안 섹션에서 인증서에 대해 자세히 설명합니다. 따라서 이것이 복잡해 보이더라도 걱정하지 마세요:
--cacert /etc/kubernetes/pki/etcd/ca.crt
--cert /etc/kubernetes/pki/etcd/server.crt
--key /etc/kubernetes/pki/etcd/server.key
따라서 이전 동영상에서 보여드린 명령어가 작동하려면 ETCDCTL API 버전과 인증서 파일 경로를 지정해야 합니다. 아래는 최종 양식입니다:
kubectl execute etcd-master -n kube-system -- sh -c "ETCDCTL_API=3 etcdctl get / --prefix --keys-only --limit=10 --cacert /etc/kubernetes/pki/etcd/ca.crt --c /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key"