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.


À propos de l'auteur

UI_Icon-Red_Hat-Close-A-Black-RGB

Parcourir par canal

automation icon

Automatisation

Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements

AI icon

Intelligence artificielle

Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement

open hybrid cloud icon

Cloud hybride ouvert

Découvrez comment créer un avenir flexible grâce au cloud hybride

security icon

Sécurité

Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies

edge icon

Edge computing

Actualité sur les plateformes qui simplifient les opérations en périphérie

Infrastructure icon

Infrastructure

Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde

application development icon

Applications

À l’intérieur de nos solutions aux défis d’application les plus difficiles

Virtualization icon

Virtualisation

L'avenir de la virtualisation d'entreprise pour vos charges de travail sur site ou sur le cloud