misankim 2023. 4. 10. 22:10

공식 사이트
https://docs.k3s.io/

k3s 는 rancher 에서 만든 경량화된 kubernetes


# 마스터 노드 설치

curl -sfL https://get.k3s.io | sh -

systemctl status k3s

kubectl get node

kubectl get all --all-namespaces




# 워커 노드 조인

마스터 노드에서 토큰 확인
cat /var/lib/rancher/k3s/server/node-token

curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken sh -



워커 노드에 고유한 호스트네임이 없는 경우 K3S_NODE_NAME 변수 추가 전달


# 배포 및 서비스 생성

k3s 는 Klipper 로드밸런서를 기본으로 제공하여 로드밸런서 서비스 타입으로 서비스 생성 가능

kubectl create ns bootcamp

kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 -n bootcamp

kubectl expose deployment kubernetes-bootcamp --port=8080 --type=LoadBalancer --name=kubernetes-bootcamp -n bootcamp

kubectl scale deploy kubernetes-bootcamp --replicas=4 -n bootcamp

kubectl get all -n bootcamp




# traefik ingress 컨트롤러

https://docs.k3s.io/networking#traefik-ingress-controller

80, 443 포트의 경우 기본으로 traefik ingress 컨트롤러가 LoadBalancer 타입 서비스로 올라와 있어서 ingress 생성 시 바로 트래픽 처리가 가능

Klipper 로드밸런서 및 traefik ingress 컨트롤러를 사용하지 않으려면 옵션 추가하여 k3s 서버 시작