쿠버네티스 개발 환경 구성(Kind)

항상 웃는 보담·2023년 9월 25일
0

Kind란?

Kind는 도커 컨테이너 “노드”를 사용하여 로컬 쿠버네티스 클러스터를 실행하기 위한 도구이다.

kind는 주로 쿠버네티스 자체를 테스트 하기 위해 설계 되었지만 로컬 개발이나 CI에 사용할 수 있다.

Docker 설치

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 통합

GoLang 설치

공식 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

Kind 설치

go의 버전이 1.16 이상이고 도커 혹은 podman이 설치 되어 있는 경우 아래의 명령어로 간편하게 설치할 수 있습니다.

go install sigs.k8s.io/kind@v0.20.0 

kubectl 설치

리눅스에 kubectl 설치 및 설정

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
profile
Happiness never decreases by being shared

0개의 댓글