로컬 개발을 위한 k8s

김승윤·2021년 11월 5일
0

종류

  • minikube

  • kubeadm

  • kind

  • k3s

minikube

  • 개인용 컴퓨터에서 단일 노드 쿠버네티스 클러스터를 실행하여 쿠버네티스를 사용하거나 개발 작업을 수행할 수 있습니다.

  • 특징

    장점단점
    설치하기 쉬움다른 노드를 추가할 수 없음
    가벼움k8s의 기능을 완벽히 담지 못함

kubeadm

  • kubernetes에서 제공하는 기본적인 도구이며, k8s 클러스터를 가장 빨리 구축하기 위한 다양한 기능을 제공합니다.

  • 클러스터의 최소 크기 : 2개

    • master node
    • worker node(원하는 만큼 늘릴 수 있음)
  • 특징

장점단점
전체 아키텍쳐 생산 수준어려운 설치 방법
도커 컨테이너 사용하나의 마스터 노드만 승인

kind

  • 클러스터가 도커 컨테이너 내부에 배포됩니다.

  • kind를 이용하면 모든 유형의 클러스터를 배포할 수 있습니다.

    • 단일 node
    • 하나의 master node와 여러 개의 worker node
    • 여러 개의 master node와 여러 개의 worker node
  • 배포하기가 쉽습니다.(yaml 파일 이용)

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
  • 특징
장점단점
설치가 매우 쉬움클러스터에 대한 네트워크 외부 액세스가 복잡함
배포가 매우 쉬움

k3s

  • Rancher에서 개발한 가벼운 k8s 버전입니다.

  • 소규모 서버, IoT 어플라이언스 등의 프로덕션 용도로 만들어졌습니다.

  • 기능이 적습니다.

    • "legacy", "alpha", "non-default" 태그가 지정된 모든 기능이 제거되었습니다.
    • 모든 부가 기능이 제거되었습니다
    • 기본 저장소는 etcd3 대신 SQLlite3입니다.
    • 자동 TLS 관리
  • 다중 마스터로 클러스터를 생성할 수 있습니다.

  • 특징

장점단점
매우 가벼운 k8s 버전일부 기능들이 누락됨
설치가 매우 쉬움도커를 기본 컨테이너 런타임으로 사용하면 안됨
배포가 매우 쉬움

0개의 댓글