"K8s문서 - 알맞은 솔루션 선정"의 두 판 사이의 차이

잔글 (Jmnote님이 K8s.io 알맞은 솔루션 선정 문서를 K8s문서 - 알맞은 솔루션 선정 문서로 이동했습니다)
(차이 없음)

2019년 11월 14일 (목) 02:10 판

1 개요

쿠버네티스 - 알맞은 솔루션 선정
Picking the Right Solution

쿠버네티스는 랩탑부터 클라우드 공급자의 VM들, 베어메탈 서버 랙까지 다양한 플랫폼에서 작동 가능하다. 클러스터 구성을 위해 필요한 노력은 하나의 단일 명령어를 실행시키는 수준에서 직접 자신만의 맞춤형 클러스터를 세밀하게 만드는 수준에 이르기까지 다양하다. 알맞은 솔루션을 선택하기 위해서 이 가이드를 사용하자.

쿠버네티스를 체험해보려면, 로컬 Docker 기반의 솔루션을 사용하자.

더 많은 머신과 높은 가용성으로 확장하려면, 호스트된 솔루션이 생성하고 유지하기에 가장 쉽다.

턴키 클라우드 솔루션은 클라우드 공급자들의 넓은 범위를 다루고 생성하기 위해서 약간의 명령어가 필요하다. 온-프레미스 턴키 클라우드 솔루션은 프라이빗 네트워크의 보안과 결합된 턴키 클라우드 솔루션의 단순함을 가진다.

호스팅한 자원을 구성하는 방법을 이미 가지고 있다면, 머신 당 단일 명령어로 클러스터를 만들어내기 위해서 kubeadm을 사용하자.

사용자 지정 솔루션은 단계별 지침부터 쿠버네티스 클러스터를 처음부터 설정하기 위한 일반적인 조언까지 다양하다.

2 로컬 머신 솔루션

  • Minikube는 개발과 테스트를 위한 단일 노드 쿠버네티스 클러스터를 로컬에 생성하기 위한 하나의 방법이다. 설치는 완전히 자동화 되어 있고, 클라우드 공급자 계정 정보가 필요하지 않다.
  • microk8s는 개발과 테스트를 위한 쿠버네티스 최신 버전을 단일 명령어로 로컬 머신 상의 설치를 제공한다. 설치는 신속하고 빠르며(~30초) 단일 명령어로 Istio를 포함한 많은 플러그인을 지원한다.
  • IBM Cloud Private-CE (Community Edition)는 개발과 테스트 시나리오를 위해 1개 또는 더 많은 VM에 쿠버네티스를 배포하기 위해서 머신의 VirtualBox를 사용할 수 있다. 이는 전체 멀티 노드 클러스터로 확장할 수 있다.
  • IBM Cloud Private-CE (Community Edition) on Linux Containers는 Terraform/Packer/BASH 기반의 리눅스 호스트 상의 LXD 클러스터에 7개의 노드(부트 1개, 마스터 1개, 관리 1개, 프록시 1개 그리고 워커 3개)를 생성하기 위한 Infrastructure as Code (IaC) 스크립트이다.
  • Kubeadm-dind는 하나의 docker 데몬이 필요한 멀티 노드 쿠버네티스 클러스터이다.(minikube는 단일 노드이다.) 클러스터 생성을 위해서 docker-in-docker 기술을 사용한다.
  • Ubuntu on LXD는 로컬 호스트에서 9개의 인스턴스 배포를 지원한다.

3 호스트된 솔루션

  • AppsCode.com는 AWS와 Google Cloud Platform을 포함하여 다양한 퍼블릭 클라우드의 관리형 쿠버네티스 클러스터를 제공한다.
  • APPUiO는 쿠버네티스 워크로드를 지원하는 OpenShift 퍼블릭 클라우드 플랫폼을 구동한다. 게다가 APPUiO는 퍼블릭 또는 프라이빗 클라우드에서 구동 중인 프라이빗 OpenShift 클러스터 관리를 제공한다.
  • Giant Swarm은 온-프레미스 또는 퍼블릭 클라우드 데이터센터 내에서 관리형 쿠버네티스 클러스터를 제공한다.
  • IBM Cloud Kubernetes Service는 관리형 쿠버네티스 클러스터를 제공한다. 그와 함께 격리 종류, 운영 도구, 이미지와 컨테이너 통합된 보안 통찰력, Watson, IoT, 데이터와의 통합도 제공한다.
  • Kubermatic는 AWS와 Digital Ocean을 포함한 다양한 퍼블릭 클라우드뿐만 아니라 온-프레미스 상의 OpenStack 통합을 위한 관리형 쿠버네티스 클러스터를 제공한다.
  • Kublr는 AWS, Azure, GCP 및 온-프레미스에서 기업 수준의 안전하고, 확장 가능하며, 신뢰성 높은 쿠버네티스 클러스터를 제공한다. 여기에는 즉시 사용 가능한 백업 및 재해 복구, 중앙 집중식 다중 클러스터 로깅 및 모니터링, 내장 경고 서비스가 포함된다.
  • Madcore.Ai는 AWS에서 쿠버네티스 인프라를 배포하기 위한 devops 중심의 CLI 도구이다. 또한 마스터, 스팟 인스턴스 그룹 노드 오토-스케일링, ingress-ssl-lego, Heapster, Grafana를 지원한다.
  • OpenShift Online은 쿠버네티스 애플리케이션을 위해 호스트된 무료 접근을 제공한다.
  • Oracle Container Engine for Kubernetes는 컨테이너 애플리케이션을 클라우드에 배포하는 데 사용할 수 있는 완벽하게 관리되고, 확장 가능하며, 가용성이 높은 서비스이다.
  • Platform9는 온-프레미스 또는 모든 퍼블릭 클라우드에서 관리형 쿠버네티스를 제공한다. 또한, 24/7 상태 모니터링 및 알람 및 경고 서비스를 제공한다.(Kube2go는 웹 UI 기반의 쿠버네티스 클러스터 배포 서비스인 Platform9가 Platform9 Sandbox에 통합된 형태로 출시되었다.)
  • Stackpoint.io는 다중 퍼블릭 클라우드에서 쿠버네티스 인프라 자동화 및 관리 기능을 제공한다.
  • SysEleven MetaKube는 자체 오픈스택 퍼블릭 클라우드 기반의 매니지드 쿠버네티스-애즈-어-서비스이며, 수명주기 관리, 관리자 대시보드, 모니터링, 오토스케일링 등을 제공한다.
  • VMware Cloud PKS는 VMware 클라우드 서비스 포트폴리오에서 제공하는 기업용 쿠버네티스-애즈-어-서비스이며, 쉬운 사용법, 기본 보안, 비용 효율성, SaaS기반 쿠버네티스 클러스터를 제공한다.

4 턴키 클라우드 솔루션

다음 솔루션들은 클라우드 IaaS 공급자의 범위에서 몇 안 되는 명령어로 쿠버네티스 클러스터를 생성을 허용한다. 이러한 솔루션은 활발히 개발되었고 활발한 커뮤니티 지원을 한다.

5 온-프레미스 턴키 클라우드 솔루션

다음 솔루션들은 몇 안 되는 명령어를 사용하여 내부의 안전한 클라우드 네트워크에서 쿠버네티스 클러스터를 생성할 수 있다.

6 사용자 지정 솔루션

쿠버네티스는 넓은 범위의 클라우드 공급자와 베어메탈 환경에서, 그리고 많은 기반 운영 체제에서 동작할 수 있다.

필요에 맞는 가이드를 아래에서 찾았다면, 그것을 사용하자. 약간 구식일 수도 있지만, 처음부터 시작하는 것보다 더 쉬울 것이다. 특별한 요구사항이 있기 때문에, 또는 단지 쿠버네티스 클러스터의 아래에 무엇이 있는지를 이해하기 원하기 때문에 처음부터 시작하기를 원한다면, 맨 처음부터 시작하기 가이드를 시도하라.

새로운 플랫폼에서 쿠버네티스 지원하는 것에 관심이 있다면, Writing a Getting Started Guide를 참고하라.

6.1 일반

호스팅한 리소스를 구성하는 방법을 이미 알고 있다면, kubeadm을 사용하면 머신당 단일 명령어로 쉽게 클러스터를 가지고 올 수 있다.

6.2 클라우드

다음 솔루션은 위의 솔루션에서 다루지 않는 클라우드 공급자와 운영체제의 조합이다.

6.3 온-프레미스 VM

6.4 베어 메탈

6.5 연동

다음 솔루션들은 타사 스케줄러, 자원 관리자, 낮은 레벨의 플랫폼의 연동을 제공한다.

  • DCOS
    • Community Edition DCOS는 AWS를 사용한다.
    • Enterprise Edition DCOS는 클라우드 호스팅, 온-프레미스 VM, 베어메탈을 지원한다.

7 솔루션 표

아래는 위에서 나열한 모든 솔루션의 표이다.

IaaS 공급자 구성 관리 OS 네트워킹 문서 지원 레벨
any any 멀티-지원 any CNI 문서 프로젝트 (SIG-cluster-lifecycle)
Google Kubernetes Engine GCE 문서 상업용
Red Hat OpenShift Ansible & CoreOS RHEL & CoreOS 멀티-지원 문서 상업용
Stackpoint.io 멀티-지원 멀티-지원 문서 상업용
AppsCode.com Saltstack Debian 멀티-지원 문서 상업용
Madcore.Ai Jenkins DSL Ubuntu flannel 문서 커뮤니티 (@madcore-ai)
Platform9 멀티-지원 멀티-지원 문서 상업용
Kublr 커스텀 멀티-지원 멀티-지원 문서 상업용
Kubermatic 멀티-지원 멀티-지원 문서 상업용
IBM Cloud Kubernetes Service Ubuntu IBM Cloud Networking + Calico 문서 상업용
Giant Swarm CoreOS flannel and/or Calico 문서 상업용
GCE Saltstack Debian GCE 문서 프로젝트
Azure Kubernetes Service Ubuntu Azure 문서 상업용
Azure (IaaS) Ubuntu Azure 문서 커뮤니티 (Microsoft)
Bare-metal 커스텀 Fedora none 문서 프로젝트
Bare-metal 커스텀 Fedora flannel 문서 커뮤니티 (@aveshagarwal)
libvirt 커스텀 Fedora flannel 문서 커뮤니티 (@aveshagarwal)
KVM 커스텀 Fedora flannel 문서 커뮤니티 (@aveshagarwal)
DCOS Marathon CoreOS/Alpine 커스텀 문서 커뮤니티 (Kubernetes-Mesos Authors)
AWS CoreOS CoreOS flannel 문서 커뮤니티
GCE CoreOS CoreOS flannel 문서 커뮤니티 (@pires)
Vagrant CoreOS CoreOS flannel 문서 커뮤니티 (@pires, @AntonioMeireles)
CloudStack Ansible CoreOS flannel 문서 커뮤니티 (@sebgoa)
VMware vSphere any 멀티-지원 멀티-지원 문서 커뮤니티
Bare-metal 커스텀 CentOS flannel 문서 커뮤니티 (@coolsvap)
lxd Juju Ubuntu flannel/canal 문서 상업용/커뮤니티
AWS Juju Ubuntu flannel/calico/canal 문서 상업용/커뮤니티
Azure Juju Ubuntu flannel/calico/canal 문서 상업용/커뮤니티
GCE Juju Ubuntu flannel/calico/canal 문서 상업용/커뮤니티
Oracle Cloud Juju Ubuntu flannel/calico/canal 문서 상업용/커뮤니티
Rackspace 커스텀 CoreOS flannel/calico/canal 문서 상업용
VMware vSphere Juju Ubuntu flannel/calico/canal 문서 상업용/커뮤니티
Bare Metal Juju Ubuntu flannel/calico/canal 문서 상업용/커뮤니티
AWS Saltstack Debian AWS 문서 커뮤니티 (@justinsb)
AWS kops Debian AWS 문서 커뮤니티 (@justinsb)
Bare-metal 커스텀 Ubuntu flannel 문서 커뮤니티 (@resouer, @WIZARD-CXY)
oVirt 문서 커뮤니티 (@simon3z)
any any any any 문서 커뮤니티 (@erictune)
any any any any 문서 상업용/커뮤니티
any RKE 멀티-지원 flannel or canal 문서 상업용/커뮤니티
any Gardener Cluster-Operator 멀티-지원 멀티-지원 문서 프로젝트/커뮤니티/상업용
Alibaba Cloud Container Service For Kubernetes ROS CentOS flannel/Terway 문서 상업용
Agile Stacks Terraform CoreOS 멀티-지원 문서 상업용
IBM Cloud Kubernetes Service Ubuntu calico 문서 상업용
Digital Rebar kubeadm any metal 문서 커뮤니티 (@digitalrebar)
VMware Cloud PKS Photon OS Canal 문서 상업용

⚠️

위의 표는 버전 테스트/사용된 노드의 지원 레벨을 기준으로 정렬된다.

7.1 컬럼 정의

  • IaaS 공급자는 쿠버네티스가 구동되는 가상 또는 물리적 머신(노드)를 제공하는 제품 또는 조직이다.
  • OS는 노드의 기본 운영 체제이다.
  • 구성 관리는 노드에서 쿠버네티스를 설치하고 유지 관리하는 데 도움이 되는 구성 관리 시스템이다.
  • 네트워킹네트워킹 모델을 구현하는 것이다. 네트워크 유형이 _none_인 노드는 단일 노드 이상을 지원하지 않거나, 단일 물리 노드에서 여러 VM 노드를 지원할 수 있다.
  • 적합성은 명시된 구성으로 생성된 클러스터가 쿠버네티스 v1.0.0의 API 및 기본 기능을 지원하는지의 프로젝트 적합성 테스트 통과 여부를 나타낸다.
  • 지원 레벨
    • 프로젝트: 쿠버네티스 커미터는 현재 구성을 정기적으로 사용하므로, 일반적으로 최신 쿠버네티스 릴리즈와 함께 동작한다.
    • 상업용: 자체 지원 계약을 가진 상업용 제품.
    • 커뮤니티: 커뮤니티 기여를 바탕으로 활발하게 지원. 쿠버네티스 최신 릴리즈에는 작동하지 않을 수도 있다.
    • 비활성: 현재 유지되지 않는다. 쿠버네티스 최초 사용자에게 권장하지 않으며, 삭제될 수도 있다.
  • ⚠️는 사용된 쿠버네티스 버전 같은 기타 관련 정보가 있다.

8 같이 보기

9 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}