💡 핵심 요약 (Executive Summary)
본 가이드는 karmada 핵심 가이드 및 실전 아키텍처의 핵심 개념, 실전 구성 명령어 및 아키텍처 베스트 프랙티스를 다룹니다. 클라우드 네이티브 및 인프라 엔지니어링 실무에 즉시 활용 가능하도록 체계적으로 정리했습니다.
📑 Table of Contents
Karmada 설치
krew 사용하여 kubectl-karmada-cli 설치
- [https://karmada.io/docs/installation/install-cli-tools#install-kubectl-karmada](https://karmada.io/docs/installation/install-cli-tools#install-kubectl-karmada)
bash
kubectl krew install karmada
karmada install
bash
# ~/.kube/config or kubeconfig 설정 파일 다중클러스터 구성 후 진행
#설치
kubectl karmada init
#kubectl karmada completion bash >> /etc/profile
#kamada-apiserver-config를 kubeconfig에 등록
cat /etc/karmada/karmada-apiserver.config >> ~/.kube/config
vi ~/.kube/config #알맞게 yaml 수정
member cluster 등록
- ‘푸시’ 모드로 클러스터 등록
bash
# 0단계: 클러스터 변경
kubectl config use-context $context
# 1단계: "kubectl karmada Join" 명령을 사용하여 클러스터를 Karmada 제어 플레인에 등록합니다. --cluster-kubeconfig는 멤버 클러스터의 kubeconfig입니다.
kubeconfig="~/.kube/config"
kubeconfig="/etc/rancher/k3s/k3s.yaml"
MEMBER_CLUSTER_NAME=$(cat $kubeconfig | grep current-context | sed 's/: /\n/g'| sed '1d')
kubectl karmada --kubeconfig /etc/karmada/karmada-apiserver.config join ${MEMBER_CLUSTER_NAME} --cluster-kubeconfig=$kubeconfig
# 2단계: karmada 회원 표시
kubectl --kubeconfig /etc/karmada/karmada-apiserver.config get clusters
- ‘Pull’ 모드로 클러스터 등록
bash
# 1단계: "kubectl karmada register" 명령을 사용하여 클러스터를 Karmada 제어 플레인에 등록합니다. "--cluster-name"은 기본적으로 현재 컨텍스트의 클러스터로 설정됩니다.
(member) kubectl karmada register 172.10.40.196:32443 --token oqyh3t.1u7pjbmegrwujxmn --discovery-token-ca-cert-hash sha256:523c3801d4dfeb654e8f2ec565d6d50f16246ec55cf30ab64c80a0b1f596149c
# 2단계: karmada 멤버 표시
(karmada) kubectl --kubeconfig /etc/karmada/karmada-apiserver.config get clusters
Karmada Dashboard 설치 및 로그인
bash
#karmada-host로 전환
kubectl config use-context default
#대시보드 서비스 배포
kubectl apply -f https://raw.githubusercontent.com/karmada-io/dashboard/main/deploy/karmada-dashboard.yaml
#karmada-apiserver로 전환
kubectl config use-context karmada-apiserver
#서비스어카운트 생성
kubectl apply -f https://raw.githubusercontent.com/karmada-io/dashboard/main/deploy/karmada-dashboard-role.yaml
#무기명토큰 받기 : k8s 버전이 높은 경우 sa생성 후 수동으로 시크릿생성 해야 함.
kubectl -n karmada-system get secret $(kubectl -n karmada-system get sa/karmada-dashboard -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
#브라우저 접속 후 jwt로 인증 !! 중국어 주의, 접속후 영어로 변경가능
#(노드포트 30486 접근)
Leave a Reply