해당 내용은 Udemy의 Certified Kubernetes Administrator (CKA) with Practice Tests 강의를 공부한 내용입니다. 내용을 그대로 번역하기보다는, 제가 이해하기 쉬운 대로 수정한 부분들이 있습니다.
⚠️ 영어 독해가 많이 부족합니다. 틀린 내용이 있으면 알려주시면 감사하겠습니다.
ETCDCTL은 ETCD와 상호 작용하는 데 사용되는 CLI 툴입니다.
ETCDCTL은 2개의 API 버전(버전 2 및 버전 3)을 사용하여 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 exec etcd-master -n kube-system -- sh -c "ETCDCTL_API=3 etcdctl get / --prefix --keys-only --limit=10 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key"
'MLOps > Doker & Kubernetes' 카테고리의 다른 글
Udemy CKA 강의 정리 16: Kube Controller Manager (2) | 2023.01.01 |
---|---|
Udemy CKA 강의 정리 15: ETCD - Kube-API Server (0) | 2023.01.01 |
Udemy CKA 강의 정리 13: ETCD in Kubernetes (0) | 2023.01.01 |
Udemy CKA 강의 정리 12: ETCD for Beginners (0) | 2023.01.01 |
Udemy CKA 강의 정리 11: Cluster Architecture (0) | 2022.12.30 |
댓글