Kind는 도커 컨테이너 “노드”를 사용하여 로컬 쿠버네티스 클러스터를 실행하기 위한 도구이다.
kind는 주로 쿠버네티스 자체를 테스트 하기 위해 설계 되었지만 로컬 개발이나 CI에 사용할 수 있다.
Install Docker Engine on Ubuntu
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker desktop WSL 통합
공식 Go 웹사이트에서 설치 파일 다운로드
Go 언어의 공식 웹사이트(go.dev)에서 다운로드 페이지로 이동합니다. 원하는 운영체제 버전에 맞는 설치 파일을 다운로드합니다.
wget https://go.dev/dl/go1.20.8.linux-amd64.tar.gz
압축해제
tar -C /usr/local -xzf go1.20.8.linux-amd64.tar.gz
환경 변수 설정 및 go 환경 변수 등록
export PATH=$PATH:/usr/local/go/bin
source ~/.bashrc
vim /etc/profile.d/go.sh
----------------------------------------------------
#!/bin/bash
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
---------------------------------------------------
source /etc/profile.d/go.sh
go의 버전이 1.16 이상이고 도커 혹은 podman이 설치 되어 있는 경우 아래의 명령어로 간편하게 설치할 수 있습니다.
go install sigs.k8s.io/kind@v0.20.0
snap install kubectl --classic
kubectl version --client
클러스터 생성 및 삭제
kind create cluster --name kubernetes
kind delete cluster --name kubernetes
클러스터 정보
kubectl cluster-info
클러스터 상세 정보 확인
kubectl config view
노드 확인
kubectl get node
한개의 마스터 노드와 두 개의 워커 노드로 구성된 클러스터를 생성
vim cluster-3nodes.yaml
----------------------------------
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
kind create cluster --name kubernetes --config ./cluster-3nodes.yaml
kubectl get nodes
docker container ls