WSL2에서 kind로 쿠버네티스 구축하기
2022. 9. 21. 09:17ㆍ[개발] 지식/Kubernetes
kind 설치
$ curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/v0.10.0/kind-linux-amd64 --insecure
-L
,-location
: 서버 응답이 3XX로 와서 페이지가 이동된 걸로 판단된 경우, 해당 페이지로 다시 요청을 보낸다.-o
: 응답을 stdout이 아닌 file로 받는다.--insecure
: SSL 무시(선택사항)
$ chmod -x ./kind
실행권한을 부여한다.
$ sudo mv ./kind /usr/local/bin/
전역으로 사용할 수 있도록 /usr/local/bin/
으로 이동시킨다.
Kubernetes Cluster 생성
1. yaml 파일 작성
apiVersion: kind.x-k8s.io/v1alpha4
kind: Cluster
nodes:
- role: control-plane
image: kindest/node:v1.18.15
- role: control-plane
image: kindest/node:v1.18.15
- role: control-plane
image: kindest/node:v1.18.15
- role: worker
image: kindest/node:v1.18.15
- role: worker
image: kindest/node:v1.18.15
- role: worker
image: kindest/node:v1.18.15
2. cluster 생성
$ kind create cluster --config kind.yaml --name kindcluster
설정파일 kind.yaml을 사용하여 kindcluster라는 이름의 cluster를 생성.
Creating cluster "kindcluster" ...
✓ Ensuring node image (kindest/node:v1.18.15) 🖼
✓ Preparing nodes 📦 📦 📦 📦 📦 📦
✓ Configuring the external load balancer ⚖️
✓ Writing configuration 📜
✓ Starting control-plane 🕹️
✓ Installing CNI 🔌
✓ Installing StorageClass 💾
✓ Joining more control-plane nodes 🎮
✓ Joining worker nodes 🚜
Set kubectl context to "kind-kindcluster"
You can now use your cluster with:
kubectl cluster-info --context kind-kindcluster
Not sure what to do next? 😅 Check out https://kind.sigs.k8s.io/docs/user/quick-start/
블라 블라… cluster 생성 완료.
3. kubectl context 전환
$ kubectl config use-context kind-kindcluster
kubectl의 컨텍스트를 방금 생성한 kind-cluster로 전환한다.
4. 확인
$ kubectl get nodes
호스트에 기동 중인 node 확인
kindcluster-control-plane Ready master 7m51s v1.18.15
kindcluster-control-plane2 Ready master 7m22s v1.18.15
kindcluster-control-plane3 Ready master 6m50s v1.18.15
kindcluster-worker Ready <none> 6m32s v1.18.15
kindcluster-worker2 Ready <none> 6m33s v1.18.15
kindcluster-worker3 Ready <none> 6m32s v1.18.15
$ docker container ls
도커 컨테이너 확인
70ec38b68aef kindest/haproxy:v20200708-548e36db "/docker-entrypoint.…" 11 minutes ago Up 11 minutes 127.0.0.1:40753->6443/tcp kindcluster-external-load-balancer
2c30df6b8f66 kindest/node:v1.18.15 "/usr/local/bin/entr…" 12 minutes ago Up 11 minutes kindcluster-worker
78e0cc2439f8 kindest/node:v1.18.15 "/usr/local/bin/entr…" 12 minutes ago Up 11 minutes kindcluster-worker2
07bc4d701db5 kindest/node:v1.18.15 "/usr/local/bin/entr…" 12 minutes ago Up 11 minutes 127.0.0.1:35967->6443/tcp kindcluster-control-plane
c4b367571ba2 kindest/node:v1.18.15 "/usr/local/bin/entr…" 12 minutes ago Up 11 minutes 127.0.0.1:39939->6443/tcp kindcluster-control-plane3
bddefb55758e kindest/node:v1.18.15 "/usr/local/bin/entr…" 12 minutes ago Up 11 minutes 127.0.0.1:46035->6443/tcp kindcluster-control-plane2
f3671ce374bb kindest/node:v1.18.15 "/usr/local/bin/entr…" 12 minutes ago Up 11 minutes kindcluster-worker3
도커 컨테이너가 각각 node 역할을 하며, 쿠버네티스 마스터의 이중화 구성을 위해 사용된 HAProxy도 확인 가능.
Cluster 삭제
$ kind delete cluster --name kindcluster
사용하지 않는 kind 클러스터는 위와 같이 삭제.
'[개발] 지식 > Kubernetes' 카테고리의 다른 글
GKE Kubernetes 클러스터 생성 및 설정 (0) | 2022.11.17 |
---|---|
Windows Google Cloud CLI(gcloud) 설치 (0) | 2022.11.17 |
<