쿠버네티스(4) : Kind 설치

NOHHYEONGJUN·2024년 9월 7일

쿠버네티스

목록 보기
5/23

Kind

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


Kind 설치

Window를 기준으로 작성.

1. kind 설치

curl.exe -Lo kind-windows-amd64.exe https://kind.sigs.k8s.io/dl/v0.23.0/kind-windows-amd64

 

2. 환경 변수 추가

C:\Users\.....\kindCluster

⇒ kind-windows-amd64.exe → kind.exe로 이름 변경

 

3. 클러스터 생성

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

 

4. 80 Port 사용 오류 시

netstat -an | findstr LISTEN | findstr 80

→ 80 Port 사용 확인
→ Window는 IIS 서비스가 80 Port를 사용하므로, IIS 서비스 중지시켜 해결!


 

 

 


code-server를 사용 중인 경우

.kube에 접근이 불가능해 오류가 발생
→ Window에서 인증서 복사 필요

1. 인증서 복사 및 수정

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를 입력

 

2. code-server에 복사

cd ~
mkdir .kube
cd .kube
vi config
	→ copy.txt 내용 붙여 넣기

profile
Cloud/DevOps & Network Virtualization에 관심 있는 Engineer입니다. 🐳⚓️👨‍✈️

0개의 댓글