There are many ways to install Kubernetes and the obvious starting point is the setup section in the official documentation. But let's be honest, that's a little bit overwhelming, isn't it? This post should give you a high-level overview of what the different approaches are and which one might be the best for your situation. Note that I won't consider local/development setups here, such as Minikube or Minishift. Instead, we're talking about setting up Kubernetes for production usage.

A few questions to consider upfront:

  • Is your target environment bare metal, on-premises, public cloud?
  • Do you want to have fine-grained control over the install process or more of "push-button-do-it-for-me" install?
  • What's your budget (both time and money)?

Really, it's a spectrum of options you're looking at and taking into account the above questions may look somewhat like the following:

Let's now have a closer look at the different groups and examples of concrete methods and tools:

  • Manual means that you manually set up everything from the networking bits over downloading, configuring and launching components such as etcd or kube-apiserver. You've got full control over what goes where, but it might take you some time and it's error-prone. The ultimate reference in this area is Kelsey Hightower's Kubernetes The Hard Way (KTHW).
  • Installer are CLI tools that leverage templates and/or automation tools such as Terraform and Ansible. You typically have a lot control over what is going on, but less than in the manual approach. Examples include:
    • OpenCredo's Kubernetes from scratch to AWS with Terraform and Ansible part 1 and 2
    • kubeadm (think of a building block for other installers)
    • kops, mainly AWS
    • kubicorn
    • kubespray (Ansible-based, both bare-metal and cloud)
    • OpenShift advanced install based on Ansible
  • Hosted effectively means little to no installation effort on your end. For example:

To be clear, this is not a comprehensive listing of all the available options. Some offerings, such as OpenShift Dedicated, just don't fit in any of the categories. Further, the installation realm is moving so fast that whatever I write today could be obsolete tomorrow. For example, at GopherCon 2017, less than a month ago, at time of writing, kubicorn was open-sourced and I got involved in it, because it is a promising and very flexible approach. Another example, reportedly, AWS now also plans to offer its own hosted Kubernetes offering.
Who knows what install options will be available by end of year, so I'd suggest keeping your eyes peeled and your mind open.

Last but not least: In the Kubernetes SIG Cluster Lifecycle we've recently launched a task force that is looking into the adoption of kubeadm and if you're interested, you're more than welcome to chime in here as well.


저자 소개

UI_Icon-Red_Hat-Close-A-Black-RGB

채널별 검색

automation icon

오토메이션

기술, 팀, 인프라를 위한 IT 자동화 최신 동향

AI icon

인공지능

고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트

open hybrid cloud icon

오픈 하이브리드 클라우드

하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요

security icon

보안

환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보

edge icon

엣지 컴퓨팅

엣지에서의 운영을 단순화하는 플랫폼 업데이트

Infrastructure icon

인프라

세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보

application development icon

애플리케이션

복잡한 애플리케이션에 대한 솔루션 더 보기

Virtualization icon

가상화

온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래