본문 바로가기
MLOps/Doker & Kubernetes

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

by 공부하는 무니 2023. 1. 1.
반응형

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

 

 

반응형

댓글