Three Mainstream Kubernetes Deployment Methods

Kubernetes deployment methods.Kubernetes deployment methods

Kubernetes deployment methods.article is about three mainstream Kubernetes deployment methods [translator's words] This article analyzes and introduces three mainstream Kubernetes deployment methods, and provides a good reference for the majority of Kubernetes users.
This article is about three mainstream Kubernetes deployment methods [ translator's words] This article analyzes and introduces three mainstream Kubernetes deployment methods, and provides a good reference for the majority of Kubernetes users.

Kubernetes deployment methods.Let's take a look at the role Kubernetes plays and how you can get richer from orchestration as you move to cloud-native development and deployment.
Containers provide the ability to decouple applications and their dependencies from the operating system. By packaging operating systems in a different way than virtual machine images, containers can save a lot of system resources: computing, memory, and disk space. Containers are also faster to download, update, deploy and iterate. Thus, in the technology world, containers have caused a micro-revolution and have been adopted by companies such as Google, Microsoft, and Amazon.

Kubernetes deployment methods.The container micro-revolution also brings fierce competition to meet the needs of container orchestration and management. As Google's open source container orchestration engine, Kubernetes has become a leading solution (including Amazon ECS and Docker Swarm , etc.) for three main reasons:

•Cloud-native design: enabling the deployment and operation of next-generation applications
•The Nature of Open Source: Rapid Innovation, Avoiding Vendor Lock-In
•High Portability: Deploy in cloud, on- premises or virtual machine environments.

The following diagram shows the role Kubernetes can play in your cloud-native deployment:


Kubernetes deployment methods.Kubernetes Container Orchestration



As you can see, Kubernetes can deploy and manage your containerized applications, including NGINX, MySQL, Apache, and more. It can provide scheduling, scaling, replication, monitoring and other functions for containers.

Once you have chosen your container orchestration platform, the next step is to deploy Kubernetes . As mentioned earlier, Kubernetes is a lightweight solution. Because Kubernetes uses the same image and configuration, it works exactly the same on your laptop, in the cloud, or on-premises.

Kubernetes deployment methods.Kubernetes-as-a-Service


ability to deploy Kubernetes in various infrastructures ( public cloud or on-premise). The advantages of choosing this approach for a Kubernetes cluster include:

1.Upgrades, monitoring and support through KaaS providers;
2.Easy scaling for hybrid or multi-cloud environments
3.Unified view of multiple clusters
4.Highly available multi-master Kubernetes cluster that automatically scales up and down according to workload
5.Common enterprise integrations such as SSO/isolated namespaces; and the ability to deploy applications via Helm charts
6.Cluster federation for truly seamless hybrid environments across multiple clouds or data centers



Kubernetes-as-a-Service

Examples of Kubernetes-as-a-Service solutions include Platform9 and StackPoint.io .



Google Cloud Platform and Microsoft Azure offer Kubernetes via Google Container Engine (GKE) and Azure Container Service (ACS), respectively. Putting containers in the public cloud can start quickly, but your data will now reside outside the network perimeter and firewall.

Google's GKE leads other public cloud providers. Google has more than a decade of experience using containers in internal projects extensively through a cluster management tool called Borg (source: TheNextPlatform ). In comparison, Microsoft's ACS is a much younger product, and Kubernetes support was only introduced in February 2017. However, ACS offers flexibility: users can choose a container orchestration platform (Kubernetes, Docker Swarm, DCOS), and can choose to deploy containerized applications on Windows in addition to Linux. As shown in the diagram below, GKE and ACS are entirely based on the public cloud, with Kubernetes services and infrastructure deployed and managed by the hosting provider.


Kubernetes for managed infrastructure

local deployment
Minikube is the most popular way to deploy Kubernetes locally. It supports various hypervisors including VirtualBox, VMware Fusion, KVM and xhyve and OS including OSX, Windows and Linux. The following figure shows the deployment of Minikube :


The mini Kubernetes is

shown above, and users interact with this laptop deployment using the Minikube CLI and Kubectl (Kubernetes' native CLI). Minikube CLI can be used to start, stop, delete, get status, and perform other operations on virtual machines. Once the Minikube VM is started, the Kubectl CLI performs operations on the Kubernetes cluster. The following commands start an existing Minikube virtual machine and create an NGINX Kubernetes deployment:

minikube start
cat > example.yaml <apiVersion : apps/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
EOF
kubectl create -f example.yaml

Kubernetes-as-a-service, Kubernetes managed infrastructure, Minikube are just three ways to deploy Kubernetes. For a detailed analysis of the various deployment models, caveats, pros and cons, and an item-by-item comparison, see the deployment guide below .

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00