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.


Sobre el autor

UI_Icon-Red_Hat-Close-A-Black-RGB

Navegar por canal

automation icon

Automatización

Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos

AI icon

Inteligencia artificial

Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar

open hybrid cloud icon

Nube híbrida abierta

Vea como construimos un futuro flexible con la nube híbrida

security icon

Seguridad

Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías

edge icon

Edge computing

Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge

Infrastructure icon

Infraestructura

Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo

application development icon

Aplicaciones

Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones

Virtualization icon

Virtualización

El futuro de la virtualización empresarial para tus cargas de trabajo locales o en la nube