ETCD for beginners

zuckerfrei·2023년 5월 22일
0

Kubernetes

목록 보기
2/63
  • what is etcd?
    - 분산되고 신뢰할 수 있는 키-밸류 스토어
    - etcd에는 클러스터에 관한 정보를 저장
    (nodes,pods,configs,secrets,accounts,roles,bindings, others)
    - kubectl을 실행할 때 얻게되는 모든 정보는 etcd 에서 온다
    - etcd를 클러스터로 구성할 수도 있음

  • what is a key-value store?
    - 전통적인 관계형 데이터베이스RDB가 아니라, 단순하게 키와 밸류 형태로 데이터 저장
    - 어떤 형식이나 구조이든지 가능
    - 한 파일의 변화가 다른 파일에 영향을 주지 않음

  • how to get started quickly
    - 디폴트 포트 2379
    - etcdctl 명령어로 관리

  • etcd versions
    - v0.1 - 2023.08
    - v0.5 - 2014.12
    - v2.0 - 2015.02
    - 많이 사용되었고
    - v3.1 - 2017.01
    - 이 때 etcdctl에 많은 변화가 생김
    - cncf incubation - 2018.11

  • etcdctl versions

    • v2.0 → v3.1 에서 많은 변화가 생김

    • 그래서 etcdctl 사용하기 전에 먼저 버전 확인 해야함

      ./etcdctl --version
            
      # 2가지 유형 버전
      # 지금 이 상태에서는 v2.0 버전의 etcdctl을 사용한다는 의미
      etcdctl version: 3.3.11
      API version: 2
    • v3로 변경하고자 할 경우 아래처럼 설정한다

      # 설정 방법 1
      ETCDCTL_API=3 ./etcdctl version
            
      # 설정 방법 2
      export ETCDCTL_API=3
      ./etcdctl version
            
      # v3.3 버전의 etcdctl 사용한다는 의미
      etcdctl version: 3.3.11
      API version: 3.3

  • 인증서

    • etcdctl이 etcd api server를 인증하기 위해 인증서 파일 경로를 지정해야함
      # 인증서 파일 경로
      --cacert /etc/kubernetes/pki/etcd/ca.crt     
      --cert /etc/kubernetes/pki/etcd/server.crt     
      --key /etc/kubernetes/pki/etcd/server.key

  • how to operate etcd - etcdctl v3

    • etcdctl을 정상적으로 작동시키기 위해

      • etcdctl api version을 설정하고
      • 인증서 경로를 지정해야 한다
      # 예시
      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"
    • 저장

      ./etcdctl put key1 value1
    • 조회

      ./etcdctl get key1
profile
무설탕 음료를 좋아합니다

0개의 댓글