"개발자를 위한 clusterctl"의 두 판 사이의 차이

26번째 줄: 26번째 줄:
==Docker 제공자에 대한 추가 참고사항==
==Docker 제공자에 대한 추가 참고사항==
===적절한 Kubernetes 버전 선택===
===적절한 Kubernetes 버전 선택===
<code>--kubernetes-version</code>을 선택할 때 <code>kindest/node</code> 이미지를 사용할 수 있는지 확인하세요.
예를 들어, [https://hub.docker.com/r/kindest/node/tags docker hub]에 <code>vX.Y.Z</code> 버전에 대한 이미지가 없다고 가정하면, <code>--kubernetes-version=vX.Y.Z</code>를 사용한 CAPD 워크로드 클러스터 생성은 실패합니다. 자세한 내용은 [https://github.com/kubernetes-sigs/cluster-api/issues/3795 이슈 3795번]을 참조하세요.
===Docker Desktop을 사용할 때 워크로드 클러스터에 대한 kubeconfig 얻기===
===Docker Desktop을 사용할 때 워크로드 클러스터에 대한 kubeconfig 얻기===
macOS, Linux 또는 Windows의 Docker Desktop의 경우 kind를 사용하여 kubeconfig를 조회합니다.
macOS, Linux 또는 Windows의 Docker Desktop의 경우 kind를 사용하여 kubeconfig를 조회합니다.

2024년 4월 30일 (화) 00:35 판

1 개요

clusterctl for Developers
개발자를 위한 clusterctl
  • 이 문서에서는 개발 작업흐름 중에 clusterctl을 사용하는 방법을 설명합니다.

2 전제조건

  • Cluster API 개발 셋업 (go, git, kind v0.9 이상, Docker v19.03 이상 등)
  • Cluster API GitHub 리포지토리의 로컬 클론
  • 설치하려는 제공자에 대한 GitHub 리포지토리의 로컬 클론

3 clusterctl 빌드

Cluster API의 로컬 클론 루트에서, 다음을 실행하여 clusterctl 바이너리를 빌드할 수 있습니다.

make clusterctl

빌드 결과물은 bin/폴더에 저장됩니다. 이를 사용하려면 전체경로를 지정하거나 별칭을 생성하거나 $PATH 아래의 폴더에 복사해야 합니다.

4 로컬 아티팩트 사용

4.1 로컬에서 아키팩트 빌드

4.2 clusterctl-settings.json 파일 생성

4.3 로컬 리포지토리 생성

4.3.1 사용가능한 제공자

5 kind 관리 클러스터 생성

6 Docker 제공자에 대한 추가 참고사항

6.1 적절한 Kubernetes 버전 선택

--kubernetes-version을 선택할 때 kindest/node 이미지를 사용할 수 있는지 확인하세요.

예를 들어, docker hubvX.Y.Z 버전에 대한 이미지가 없다고 가정하면, --kubernetes-version=vX.Y.Z를 사용한 CAPD 워크로드 클러스터 생성은 실패합니다. 자세한 내용은 이슈 3795번을 참조하세요.

6.2 Docker Desktop을 사용할 때 워크로드 클러스터에 대한 kubeconfig 얻기

macOS, Linux 또는 Windows의 Docker Desktop의 경우 kind를 사용하여 kubeconfig를 조회합니다.

kind get kubeconfig --name capi-quickstart > capi-quickstart.kubeconfig

Linux용 Docker 엔진은 기본 clusterctl 접근방식으로 작동합니다.

clusterctl get kubeconfig capi-quickstart > capi-quickstart.kubeconfig

6.3 Docker Desktop와 clusterctl을 사용할 때 kubeconfig 고치기

macOS 또는 Windows의 Docker 데스크톱 또는 Linux의 Docker 데스크톱(Docker 엔진은 잘 작동함)에서 clusterctl을 사용하여 kubeconfig를 검색할 때 Docker 제공자로 생성된 워크로드 클러스터에 대한 kubeconfig를 가져오려면 몇 가지 추가 단계를 수행해야 합니다.

clusterctl get kubeconfig capi-quickstart > capi-quickstart.kubeconfig

kubeconfig를 고치려면 다음을 실행하세요.

# 액세스할 수 없는 컨테이너 IP 대신, 로드 밸런서의 노출된 포트를 kubeconfig에 지정합니다.
sed -i -e "s/server:.*/server: https:\/\/$(docker port capi-quickstart-lb 6443/tcp | sed "s/0.0.0.0/127.0.0.1/")/g" ./capi-quickstart.kubeconfig

7 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}