ETCDCTL API 버전별 명령어

2024. 12. 12. 07:27쿠버네티스/쿠버네티스

728x90
반응형

ETCDCTL API 버전별 명령어

버전 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 버전을 명시적으로 설정하지 않으면 작동하지 않습니다.
  • 반대로, API 버전을 3으로 설정하면 버전 2 명령어는 작동하지 않습니다.

ETCDCTL 인증을 위한 인증서 지정

ETCDCTL이 ETCD API 서버와 통신하려면 인증서를 통해 인증을 받아야 합니다.
필요한 인증서 파일은 보통 마스터 노드에 저장되어 있습니다:

  • CA 인증서: /etc/kubernetes/pki/etcd/ca.crt
  • 서버 인증서: /etc/kubernetes/pki/etcd/server.crt
  • 서버 키: /etc/kubernetes/pki/etcd/server.key

예시

--cacert /etc/kubernetes/pki/etcd/ca.crt
--cert /etc/kubernetes/pki/etcd/server.crt 
--key /etc/kubernetes/pki/etcd/server.key

ETCDCTL 명령어의 최종 형태

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"

정리

  1. ETCDCTL은 API 버전에 따라 지원 명령어가 다릅니다.
    • 기본값: API 버전 2
    • API 버전 변경: export ETCDCTL_API=3
  2. ETCDCTL 명령 실행 시 인증서를 반드시 지정해야 합니다.
    • 필요한 인증서: ca.crt, server.crt, server.key
  3. ETCDCTL 명령어 예시:
    • 특정 키를 가져오는 명령어:
      bash
      코드 복사
      ETCDCTL_API=3 etcdctl get / --prefix --keys-only --limit=10
      (인증서 경로도 추가해야 실행 가능)
반응형

'쿠버네티스 > 쿠버네티스' 카테고리의 다른 글

Kube Controller Manager  (0) 2024.12.12
Kube-API Server 개요  (1) 2024.12.12
ETCD  (2) 2024.12.11
개요  (1) 2024.12.11
Pod Task  (0) 2024.12.04