개발자를 위한 clusterctl

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 버전 선택

6.2 Docker Desktop을 사용할 때 워크로드 클러스터에 대한 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 }}