- Docker Container를 사용해 로컬 K8S Cluster 실행을 위한 도구
- K8S 테스트 도구로 많이 사용

Window를 기준으로 작성.
curl.exe -Lo kind-windows-amd64.exe https://kind.sigs.k8s.io/dl/v0.23.0/kind-windows-amd64
C:\Users\.....\kindCluster
⇒ kind-windows-amd64.exe → kind.exe로 이름 변경
C:\Users\.....\kindCluster\k8s-cluster> kind create cluster --config .\3-node-cluster.yaml
3-node-cluster.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: kind-cluster
nodes:
- role: control-plane
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
image: kindest/node:v1.29.4
extraPortMappings:
- containerPort: 80
hostPort: 80
protocol: TCP
- containerPort: 443
hostPort: 443
protocol: TCP
- containerPort: 6443
hostPort: 6443
protocol: TCP
- role: worker
image: kindest/node:v1.29.4
- role: worker
image: kindest/node:v1.29.4
networking:
serviceSubnet: "10.120.0.0/16"
podSubnet: "10.110.0.0/16"
# apiServerAddress: 127.0.0.1
# apiServerPort: 6443
netstat -an | findstr LISTEN | findstr 80
→ 80 Port 사용 확인
→ Window는 IIS 서비스가 80 Port를 사용하므로, IIS 서비스 중지시켜 해결!
.kube에 접근이 불가능해 오류가 발생
→ Window에서 인증서 복사 필요
kind get kubeconfig --internal --name kind-cluster >> copy.txt
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0 ~
server: https://192.168.96.4:6443
name: kind-cwave-cluster
contexts:
- context:
cluster: kind-cwave-cluster
user: kind-cwave-cluster
name: kind-cwave-cluster
current-context: kind-cwave-cluster
kind: Config
preferences: {}
users:
- name: kind-cwave-cluster
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURL~
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktL~
→ server: Control Plane의 IP를 입력
cd ~
mkdir .kube
cd .kube
vi config
→ copy.txt 내용 붙여 넣기