1. 개요


2. 제품 레벨

  • Kubernetes는 오픈 소스 프로젝트이고 OpenShift는 제품이다. 물론 OKD(Origin Community Disttribution)라는 OpenShift의 오픈 소스 버전이 있다. 이전에는 OpenShift Origin 이라고도 했다.
  • OpenShift는 subscription을 포함한 유료 계약 대상 인프라에 설치할 수 있는 제품이다. 대상 클러스터에는 subscription 갱신이 필요하며, 클러스터 확장 시에는 비용을 지불해야 한다.
  • OpenShift subscription은 여러 기능을 지원하는 CloudForms를 포함하고 있다. (단 OpenShift 3 한정)
  • OKD는 무료로 사용할 수 있고 상용 버전의 대부분 기능을 지원한다. 단 지원을 구매할 수 없고 Red Hat 공식 이미지를 사용할 수 없다.
  • Kubernetes는 많은 배포 버전이 있다. 그런데 그것은 프로젝트이다. 이말은 문제가 생겼을 때는 커뮤니티를 통해 해결하거나 외부 전문가를 구해서 해결해야 한다. 뭐, 어떤 경우에는 Red Hat 서포트를 받는 것보다 나을 수도 있겠다.
  • Kubernetes는 1년에도 몇번씩 배포 버전이 나온다. 통상 1년에 네번. 물론 OpenShift도 많은 릴리즈가 있지만 Kubernetes만큼은 아니다.

결론을 내보자. Kubernetes를 사용하고 싶은데 지원이 필요하다면 OpenShift subscription을 구매하는 것이 하나의 선택지다. 반대로 자체적으로 해결할 수 있다고 판단되면 Kubernetes를 선택하고 에코시스템과 커뮤니티를 활용한다. 이도저도 아닌 상황이면 OKD를 선택하고 향후 필요시 OpenShift로 전환하거나 그냥 OKD로 go한다.


3. 설치 측면

OpenShift를 선택하기로 마음먹었다면 다음 것들을 사용해야만 한다.

  • OpenShift 3 상에 RHEL 혹은 Red Hat Atomic
  • OpenShift 4 상에 Red Hat CoreOS(Control plane이 요구), 그리고 Compute Node에 RHEL
  • OKD 상에 RHEL 혹은 CoreOS

Kubernetes는 다르다. 데비안, 우분투, 기타 등등 어떠한 리눅스 배포판에도 (거의 대부분) 설치 가능하다.

OpenShift 설치 시에는 OpenShift 3과 4중에 버전을 선택한다.

Kubernetes는 kubeadm, kube-spray, kops 등 여러 설치 도구가 제공된다. 도구에 따라 클라우드에 더 적합하거나 보다 복잡한 설정이 가능하거나 하다. 대형 클라우드 서비스 업체에서는 서비스 형태로 제공되는 것들이 있다. 구글의 GKE, AWS의 EKS, Azure의 AKS이다.

OpenShift는 OpenShift Online, OpenShift Dedicate, OpenShift on Azure가 있다.

싱글 노드에서 테스트 용도로 사용하기 위한 것들로는 다음과 같은 것이 있다.

  • Minikube (Kubernetes)
  • Minishift (OKD)
  • CDK (OpenShift Container Platform 3)
  • CRC (CodeReady Containers, OpenShift Container Platform 4)