Kubeconfig 분해(빠른 시작)

이 빠른 시작 가이드에서는 Kubeconfig를 구성하는 항목과 YAML의 각 부분이 의미하는 바를 알아봅니다.

먼저 로컬 컴퓨터에서 Kubeconfig 중 하나를 캡처합니다. 일반적으로 ~/.kube 미만입니다.



그런 다음 선택한 편집기에서 config를 열거나 cat 명령을 사용하여 엽니다.

아래는 샘플config입니다. 조각조각 나눠서 분해해 봅시다.

clusters:
- cluster:
    certificate-authority-data: some_string_here
    server: https://kubernetes.docker.internal:6443
  name: docker-desktop
- cluster:
    certificate-authority: /Users/michael/.minikube/ca.crt
    extensions:
    - extension:
        last-update: Thu, 08 Sep 2022 12:50:41 EDT
        provider: minikube.sigs.k8s.io
        version: v1.25.1
      name: cluster_info
    server: https://127.0.0.1:64599
  name: minikube
contexts:
- context:
    cluster: docker-desktop
    user: docker-desktop
  name: docker-desktop
- context:
    cluster: minikube
    extensions:
    - extension:
        last-update: Thu, 08 Sep 2022 12:50:41 EDT
        provider: minikube.sigs.k8s.io
        version: v1.25.1
      name: context_info
    namespace: default
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: docker-desktop
  user:
    client-certificate-data: some_string_here
    client-key-data: some_string_here
- name: minikube
  user:
    client-certificate: /Users/michael/.minikube/profiles/minikube/client.crt
    client-key: /Users/michael/.minikube/profiles/minikube/client.key


가장 먼저 해야 할 일 - akubeconfig는 사용자가 Kubernetes와 상호 작용하는 방법입니다. Kubernetes 클러스터와 상호 작용하려면 kubeconfig에 클러스터에 대한 정보가 필요합니다. 구성의 첫 번째 섹션은 서버 이름, 인증 기관, 서버 URL, Kubernetes API 버전 및 클러스터가 업데이트된 시기에 대한 메타데이터 정보입니다. 이것은 클러스터에 대한 실제 연결 부분입니다. 연결하는 클러스터 수에 따라 Kubeconfig에 둘 이상의 클러스터가 나열될 수 있습니다.

clusters:
- cluster:
    certificate-authority-data: some_string_here
    server: https://kubernetes.docker.internal:6443
  name: docker-desktop
- cluster:
    certificate-authority: /Users/michael/.minikube/ca.crt
    extensions:
    - extension:
        last-update: Thu, 08 Sep 2022 12:50:41 EDT
        provider: minikube.sigs.k8s.io
        version: v1.25.1
      name: cluster_info
    server: https://127.0.0.1:64599
  name: minikube


다음으로 컨텍스트가 있습니다. 컨텍스트는 클러스터에 대한 구성 자체입니다. 구성의 클러스터 섹션과 마찬가지로 여러 컨텍스트를 가질 수 있습니다. 컨텍스트는 Kubernetes 클러스터를 사용하는 사용자의 사용자 이름, 사용자 기본 네임스페이스 및 사용자가 연결 중인 클러스터 정보로 구성됩니다.

contexts:
- context:
    cluster: docker-desktop
    user: docker-desktop
  name: docker-desktop
- context:
    cluster: minikube
    extensions:
    - extension:
        last-update: Thu, 08 Sep 2022 12:50:41 EDT
        provider: minikube.sigs.k8s.io
        version: v1.25.1
      name: context_info
    namespace: default
    user: minikube
  name: minikube


현재 컨텍스트는 현재 연결된 컴퓨터에 있는 구성 내부의 Kubernetes 클러스터를 나타냅니다. 해당 클러스터에 대한 적절한 액세스 권한이 있는 한 다른 클러스터를 가리키도록 변경할 수 있습니다.

current-context: minikube


마지막 부분은 Kubernetes 리소스/개체 자체인 구성입니다. 현재 Kubernetes 클러스터에 연결하는 데 사용할 사용자, 컨텍스트의 현재 Kubernetes 클러스터 이름, 구성과 연결된 현재 사용자가 연결할 수 있도록 사용되는 인증(클라이언트 인증서 및 키)을 지정합니다. 클러스터.

kind: Config
preferences: {}
users:
- name: docker-desktop
  user:
    client-certificate-data: some_string_here
    client-key-data: some_string_here
- name: minikube
  user:
    client-certificate: /Users/michael/.minikube/profiles/minikube/client.crt
    client-key: /Users/michael/.minikube/profiles/minikube/client.key

좋은 웹페이지 즐겨찾기