320x100
320x100

k3s의 탄생과정

: 쿠버네티스는 도입하고 어느정도 정착을 시킨 후에는 강력한 리소스 추상화와 다양한 관리 및 모니터링 기능의 덕을 톡톡히 볼 수 있음 

: GKE와 같은 매니지드 서비스를 사용하지 않는한 초기 설정의 까다로움이 존재

: 첫 웹 서버 트래픽을 처리할 때 까지의 이해의 복잡함도 존재

: 이러한 어려움을 해결하기 위해 kubespray, kubeadm과 같은 도구를 사용

 > 그러나 이러한 도구들이 쿠버네티스 생태계의 변화를 따라잡지 못할 경우 오류를 맞닥뜨리게 됨

 

※ GKE (Google Kubernetes Engine)

: 쿠버네티스를 자동으로 배포, 확장, 관리 할 수 있는 간편한 플랫폼

: 클러스터의 복잡성을 자동으로 관리

: 클릭 한 번으로 작동하는 클러스터 및 15000개 까지의 노드확장 가능

=> 쿠버네티스 관리툴

 

- 공식문서

: https://cloud.google.com/kubernetes-engine

 

 

 

 

 

k3s

: 컨테이너 관련 기술을 주로 개발하는 Rancher Labs에서 만든 쿠버네티스의 다른 버전

 

- 경량화

: 외부 클라우드 서비스와의 연동 기능을 최소로 줄임

: 고가용성 배포를 위해 기본으로 사용하던 etcd 의존성을 없에고 sqlite를 기본값으로 사용

: Docker와 같은 의존성을 모두 삭제하고 containerd와 같은 가벼운 대체제를 사용

: 기존 쿠버네티스에서 지원하는 과거버전의 API도 과감하게 지원하지 않음

 

- 간단한 설치

: 쉘 스크립틑 하나로 대부분의 배포판에서 설치 가능

: 설치후 자동으로 systemd 서비스를 만들기 때문에 사용자가 신경쓸 요소가 거의 없음

 

 

 

 

 

환경 구성

- 포트 설정

: 쿠버네티스 API 서버 접근을 위해 6443 포트 개방

 

- 설치

# apt 업데이트 및 업그레이드
apt update
apt upgrate

# k3s 다운로드 및 설치
curl -sfL https://get.k3s.io | sh -

# 자동 실행된 k3s 서비스 데몬 상태 확인 
sudo systemctl status k3s

 

- 설치 확인

# Node 상태 확인
sudo kubectl get node

# Kubernetes 시스템 Pod 상태 확인
sudo kubectl get pod --namespace=kube-system

 

 

 

 

 

 

원격지에서 쿠버네티스 클러스터 접속

- /etc/rancher/k3s/k3s.yml

: 클러스터의 인증서와 사용자의 비밀번호 등 인증하는데 필요한 정보 파일

: 이 파일을 클립보드 복사 혹은 scp를 통해 로컬 컴퓨터로 복사 

 

- k3s 설정파일 변경

:%s/127.0.0.1/your-k3s-instance-ip/g
:%s/default/your-k3s-name/g

 

- kubeconfig 환경변수 변경

export KUBECONFIG=$HOME/.kube/config-k3stest:$HOME/.kube/config:$KUBECONFIG

 

- context 변경

kubectl config use-context your-k3s-name

: 공인 IP를 알 수 없기 때문에 오류 발생 

 

- /etc/systemd/system/k3s.service

# 원본
ExecStart=/usr/local/bin/k3s \
    server \

# 아래와 같이 변경
ExecStart=/usr/local/bin/k3s \
    server --tls-san YOUR-K3S-IP-ADDRESS-OR-DOMAIN \

: tls-san 명령어를 추가해주면 k3s가 인증서를 알아서 갱신함

 

- 서버 실행

# 원격 서버에서 실행
sudo systemctl daemon-reload
sudo systemctl restart k3s

# 로컬 환경에서 실행
kubectl get node

 

 

 

 

k3s 시작 및 파일 작성에 대해 참조

: https://cobain.me/2020/07/14/K3s-On-Mac.html

 

K3s를 활용한 로컬 쿠버네티스 개발 환경 만들기

눈뜨고코베인 개발 로그

cobain.me

 

 

 

 

 

Refference

 

k3s 시리즈 - 간단하게 Kubernetes 환경 구축하기

조금 더 쉽게 Kubernetes를 운영하는 방법은 없을까요? k3s를 이용하여 조금 더 쉽게 Kubernetes를 설치하고, 첫 서비스를 띄워봅니다.

si.mpli.st

300x250
728x90