공부하기싫어
article thumbnail
Published 2023. 6. 5. 13:51
k3s Kubernetes/Lightweight

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

    이 페이지에서는 고가용성 K3s 서버 클러스터의 아키텍처와 단일 노드 서버 클러스터와의 차이점에 대해 설명합니다.

    docs.k3s.io

     

    설치

    AWS EC2 / t3a.small / ubuntu22.04

     

    빠른 시작 가이드 | K3s

     

    빠른 시작 가이드 | 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

    K3s 바이너리에는 클러스터 관리에 도움이 되는 여러 가지 추가 도구가 포함되어 있습니다.

    docs.k3s.io

     

    헬름

    헬름(Helm) | K3s

     

    헬름(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