Certified Kubernetes Administration - 4

2024-06-19

  • Kubernetes
  • Cloud

etcd의 Kubernetes에서의 역할

  • etcd 데이터 저장소:

    • 클러스터의 정보 저장: 노드, 파드, 컨피그, 시크릿, 계정, 역할, 역할 바인딩 등

    • kubectl get 명령어로 조회할 수 있는 모든 정보는 etcd 서버에서 가져옴

    • 클러스터의 변경 사항(노드 추가, 파드 배포 등)은 etcd 서버에 업데이트됨

    • etcd 서버에 업데이트가 완료되어야 변경 사항이 완료된 것으로 간주됨

Kubernetes 클러스터 설정 방법

  • 직접 설정:

    • etcd 바이너리를 다운로드하여 설치하고, 마스터 노드에서 서비스로 설정

    • 여러 옵션이 서비스에 전달되며, 많은 옵션이 인증서와 관련됨

    • 인증서 생성 및 설정 방법은 이후 강의에서 다룸

    • etcd를 클러스터로 구성하는 옵션도 있음

    • 현재 주의할 옵션은 광고된 클라이언트 URL(기본 포트 2379)

  • kubeadm 사용 설정:

    • kubeadm은 etcd 서버를 kube-system 네임스페이스 내의 파드로 배포함

    • 이 파드 내의 etcdctl 유틸리티를 사용하여 etcd 데이터베이스를 탐색할 수 있음

    • 모든 키 목록: etcdctl get 명령어 사용

    • 데이터는 특정 디렉토리 구조로 저장됨 (루트 디렉토리는 registry)

고가용성 환경에서의 etcd

  • 고가용성 클러스터:

    • 클러스터에 여러 마스터 노드가 있음

    • 여러 etcd 인스턴스가 마스터 노드에 분산됨

    • etcd 인스턴스들이 서로를 인식하도록 etcd 서비스 설정에서 올바른 파라미터를 설정해야 함

    • initial cluster 옵션에 etcd 서비스의 여러 인스턴스를 지정

요약

  • etcd는 클러스터의 모든 중요한 데이터를 저장하는 분산형, 신뢰성 있는 키-값 저장소

  • 직접 설정할 경우 등등 많은 옵션을 수동으로 설정해야 함

  • kubeadm을 사용하면 설정이 자동화되며, etcd는 파드 형태로 배포됨

  • 고가용성 환경에서는 여러 etcd 인스턴스가 서로를 인식하도록 설정해야 함

Certified ...

Certified ...