MLOps/Doker & Kubernetes

Udemy CKA 강의 정리 14: ETCD - Commands (Optional)

공부하는 무니 2023. 1. 1. 15:12
반응형

해당 내용은 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" 

 

 

반응형