Deploy Kubernetes In Five Different Ways
If you’re like many DevOps and IT teams, you want to reap the benefits of containers and container management. Getting started can be painful due to choosing amongst and implementing the numerous deployment models and installers, each with its pros and cons. Let us consider five of these briefly:
1. Deploy Kuberenetes with Minikube for laptop environments
2. kubeadm for on-premises deployments
3. Kubernetes hosted infrastructure with Google Cloud and Microsoft Azure
4. Kube2Go for a small testbed
5. Platform9 Managed Kubernetes (PMK) for a SaaS-Managed, hybrid solution
Though this blog provides some details below, more in-depth coverage is available in Platform9’s Kubernetes Deployment Models: The Ultimate Guide.
1. Deploy Kubernetes with Minikube for laptop environments
The most popular way to deploy Kubernetes locally, Minikube comes with support for a variety of hypervisors, including VirtualBox, VMware Fusion, KVM, and xhyve, and OSs, including OSX, Windows, and Linux. However, running a few containers on an all-in-one node is not as useful as running containers that can scale and reliably run critical applications, whether it’s in the cloud or on premises.
2. kubeadm for on-premises deployments
One among three installers which include kops and kargo, kubeadm caters to users who want to get their hands dirty with Kubernetes installation. Users will need to invest time and resources into requirements such as scalability and monitoring, and high-availability.
As shown in the figure above, there are a many different components to Kubernetes deployed by kubeadm (and the other installers):
- Master Node(s): This machine is the controller from which you can deploy Kubernetes pods. Pods are a set of containers that can be deployed across multiple nodes.
- Pods typically run containerized applications that are very dependent on each other.
- Worker Nodes: These machines provide an environment where Kubernetes can run.
- etcd: This is a key-value store used for configuration data and master state information.
- Scheduler: This service selects appropriate nodes for unscheduled pods
- API Server: This service provides RESTful Kubernetes API used to update the etcd database. It validates incoming requests before updating etcd.
- Controller Manager: This service takes care of all other services – discovering and managing of nodes, monitoring pods, etc.
- Kubelet: This service manages pods on the node based on directions from the API Server on the master.
3. Kubernetes hosted infrastructure with Google Cloud and Microsoft Azure
To get up and running quickly, Google Container Engine (GKE) and Azure Container Service (ACS) provide a platform to deploy your apps in the public cloud. GKE is offered by Google, which is also the pioneer of container orchestration through the Borg Project and leads other public cloud vendors. However, ACS provides flexibility: users get the ability to choose container orchestration and deploy containerized applications on Windows, in addition to Linux.
4. Kube2Go for a small testbed
As an alternative to hosted infrastructure but restricted to 5 cloud nodes, Kube2Go provides a community focused product which closely resembles Platform9 Managed Kubernetes. Kube2Go aims to make cluster creation and usage drop-dead simple for users. The project aims to make the consumption of Kubernetes clusters easier by simplifying application development using “Helm” charts and integrating serverless functions-as-a-service via Fission.
5. Platform9 Managed Kubernetes (PMK) for a SaaS-Managed, hybrid solution
The Enterprise-grade SaaS-Managed Kubernetes deployment scales for on-premise and public cloud workloads. Like GKE and ACS, Platform9 provides commercial support/SLA, cluster high availability and persistent storage, but links the user’s on-premises infrastructure, enabling a truehybrid environment. Hybrid cloud will be enabled by Cluster Federation, for use cases such as bursting to the public cloud or high availability/disaster recovery.
If Platform9 Managed Kubernetes sounds interesting to you, try the free Platform9 sandbox right from your browser.
Synopsis
For a detailed look at deployment considerations, models, and their pros and cons, take a look at Kubernetes Deployment Models: The Ultimate Guide. Let us know of any feedback in the comments section below, tweet us @Platform9Sys or email us at connect@platform9.com.
- Beyond Kubernetes Operations: Discover Platform9’s Always-On Assurance™ - November 29, 2023
- Platform9 Introduces Elastic Machine Pool (EMP) at KubeCon 2023 to Optimize Costs on AWS EKS - November 15, 2023
- KubeCon 2023 Through Platform9’s Lens: Key Takeaways and Innovative Demos - November 14, 2023