K3s - Lightweight Kubernetes | K3s
K3s - Lightweight Kubernetes | K3s
경량의 쿠버네티스. 간편한 설치와 절반의 메모리, 모든걸 100MB 미만의 바이너리로 제공합니다.
docs.k3s.io
가상화폐 자동매매와 내 포트폴리오 사이트를 올릴 클러스터를 경량으로 구성하려고 한다.
집에있는 노트북을 worker node로 사용해 build server로 하는 CI/CD pipeline 을 구성할 예정.
prometheus 와 grafana 를 이용한 cluster 모니터링도 구현해볼 예정이다.
목차
K3s - Lightweight Kubernetes
경량의 쿠버네티스. 간편한 설치와 절반의 메모리, 모든걸 100MB 미만의 바이너리로 제공합니다.
적합한 환경:
- 엣지(Edge)
- 사물인터넷(IoT)
- 지속적인 통합(CI)
- 개발
- ARM
- 임베딩 K8s
- k8s 클러스터 분야의 박사 학위를 취득하기 어려운 상황
k3s란 무엇입니까?
K3s는 쿠버네티스와 완전히 호환되며 다음과 같은 향상된 기능을 갖춘 배포판입니다:
- 단일 바이너리로 패키지화.
- 기본 스토리지 메커니즘으로 sqlite3를 기반으로 하는 경량 스토리지 백엔드. etcd3, MySQL, Postgres도 사용 가능.
- 복잡한 TLS 및 옵션을 처리하는 간단한 런처에 포함.
- 경량 환경을 위한 합리적인 기본값으로 기본적으로 보안을 유지함.
- 다음과 같이 간단하지만 강력한 'batteries-included' 기능 추가. 예를 들어:
- local storage provider
- service load balancer
- Helm controller
- Traefik ingress controller
- 모든 쿠버네티스 컨트롤 플레인 구성 요소의 작동은 단일 바이너리 및 프로세스로 캡슐화. 이를 통해 K3s는 인증서 배포와 같은 복잡한 클러스터 작업을 자동화하고 관리.
- 외부 종속성 최소화(최신 커널과 cgroup 마운트만 필요)
K3s는 다음과 같은 필수 종속성을 패키지로 제공합니다:
- Containerd
- Flannel (CNI)
- CoreDNS
- Traefik (인그레스)
- Klipper-lb (서비스 로드밸런서)
- 임베디드 네트워크 정책 컨트롤러
- 임베디드 로컬 경로 프로비저너
- 호스트 유틸리티(iptables, socat 등)
이름에는 무슨 뜻이 있나요?
우리는 메모리 풋프린트 측면에서 절반 크기의 Kubernetes를 설치하기를 원했습니다. Kubernetes는 K8로 표기되는 10글자 단어입니다. 따라서 쿠버네티스의 절반 크기라면 K3s로 표기된 5글자 단어가 될 것입니다. K3s의 긴 형태는 없으며 공식적인 발음도 없습니다.
아키텍처
아키텍처 | K3s
이 페이지에서는 고가용성 K3s 서버 클러스터의 아키텍처와 단일 노드 서버 클러스터와의 차이점에 대해 설명합니다.
docs.k3s.io
설치
AWS EC2 / t3a.small / ubuntu22.04
빠른 시작 가이드 | K3s
이 가이드는 기본 옵션으로 클러스터를 빠르게 시작하는 데 도움이 됩니다. 설치 섹션에서는 K3s를 설정하는 방법에 대해 자세히 설명합니다.
docs.k3s.io
위 사이트 따라 설치 후 alias 를 설정해줬다
sudo vim ~/.bashrc
alias k='sudo k3s kubectl'
우선 단일노드로만 설정하고 필요시 K3S_URL 및 K3S_TOKEN 환경변수를 사용하여 설치 스크립트 사용해 worker node를 agent 가입시키려고 함
K3S CLI
명령줄 도구 | K3s
K3s 바이너리에는 클러스터 관리에 도움이 되는 여러 가지 추가 도구가 포함되어 있습니다.
docs.k3s.io
헬름
헬름(Helm) | K3s
헬름(Helm)은 쿠버네티스를 위한 패키지 관리 도구입니다. 헬름 차트는 쿠버네티스 YAML 매니페스트 문서를 위한 템플릿 구문을 제공합니다. 개발자 또는 클러스터 관리자는 헬름을 사용하여 정적
docs.k3s.io
'Kubernetes > Lightweight' 카테고리의 다른 글
K3S - Flannel VXLAN (0) | 2024.03.10 |
---|---|
minikube 설치 (VM-linux) (0) | 2023.05.31 |
minikube 설치 (linux-ubuntu) (0) | 2023.05.31 |
minikube 설치 (window) (0) | 2023.05.02 |