|
| 1 | +--- |
| 2 | +title: Using Minikube to Create a Cluster |
| 3 | +weight: 10 |
| 4 | +--- |
| 5 | + |
| 6 | +## {{% heading "objectives" %}} |
| 7 | + |
| 8 | +* Learn what a Kubernetes cluster is. |
| 9 | +* Learn what Minikube is. |
| 10 | +* Start a Kubernetes cluster on your computer. |
| 11 | + |
| 12 | +## Kubernetes Clusters |
| 13 | + |
| 14 | +{{% alert %}} |
| 15 | +_Kubernetes is a production-grade, open-source platform that orchestrates |
| 16 | +the placement (scheduling) and execution of application containers |
| 17 | +within and across computer clusters._ |
| 18 | +{{% /alert %}} |
| 19 | + |
| 20 | +**Kubernetes coordinates a highly available cluster of computers that are connected |
| 21 | +to work as a single unit.** The abstractions in Kubernetes allow you to deploy |
| 22 | +containerized applications to a cluster without tying them specifically to individual |
| 23 | +machines. To make use of this new model of deployment, applications need to be packaged |
| 24 | +in a way that decouples them from individual hosts: they need to be containerized. |
| 25 | +Containerized applications are more flexible and available than in past deployment models, |
| 26 | +where applications were installed directly onto specific machines as packages deeply |
| 27 | +integrated into the host. **Kubernetes automates the distribution and scheduling of |
| 28 | +application containers across a cluster in a more efficient way.** Kubernetes is an |
| 29 | +open-source platform and is production-ready. |
| 30 | + |
| 31 | +A Kubernetes cluster consists of two types of resources: |
| 32 | + |
| 33 | +* The **Control Plane** coordinates the cluster |
| 34 | +* **Nodes** are the workers that run applications |
| 35 | + |
| 36 | +### Cluster Diagram |
| 37 | + |
| 38 | +{{< figure src="/docs/tutorials/kubernetes-basics/public/images/module_01_cluster.svg" style="width: 100%;" >}} |
| 39 | + |
| 40 | +**The Control Plane is responsible for managing the cluster.** The Control Plane |
| 41 | +coordinates all activities in your cluster, such as scheduling applications, maintaining |
| 42 | +applications' desired state, scaling applications, and rolling out new updates. |
| 43 | + |
| 44 | +{{% alert %}} |
| 45 | +_Control Planes manage the cluster and the nodes that are used to host the running |
| 46 | +applications._ |
| 47 | +{{% /alert %}} |
| 48 | + |
| 49 | +**A node is a VM or a physical computer that serves as a worker machine in a Kubernetes |
| 50 | +cluster.** Each node has a Kubelet, which is an agent for managing the node and |
| 51 | +communicating with the Kubernetes control plane. The node should also have tools for |
| 52 | +handling container operations, such as {{< glossary_tooltip text="containerd" term_id="containerd" >}} |
| 53 | +or {{< glossary_tooltip term_id="cri-o" >}}. A Kubernetes cluster that handles production |
| 54 | +traffic should have a minimum of three nodes because if one node goes down, both an |
| 55 | +[etcd](/docs/concepts/architecture/#etcd) member and a control plane instance are lost, |
| 56 | +and redundancy is compromised. You can mitigate this risk by adding more control plane nodes. |
| 57 | + |
| 58 | +When you deploy applications on Kubernetes, you tell the control plane to start |
| 59 | +the application containers. The control plane schedules the containers to run on |
| 60 | +the cluster's nodes. **Node-level components, such as the kubelet, communicate |
| 61 | +with the control plane using the [Kubernetes API](/docs/concepts/overview/kubernetes-api/)**, |
| 62 | +which the control plane exposes. End users can also use the Kubernetes API directly |
| 63 | +to interact with the cluster. |
| 64 | + |
| 65 | +A Kubernetes cluster can be deployed on either physical or virtual machines. To |
| 66 | +get started with Kubernetes development, you can use Minikube. Minikube is a lightweight |
| 67 | +Kubernetes implementation that creates a VM on your local machine and deploys a |
| 68 | +simple cluster containing only one node. Minikube is available for Linux, macOS, |
| 69 | +and Windows systems. The Minikube CLI provides basic bootstrapping operations for |
| 70 | +working with your cluster, including start, stop, status, and delete. |
| 71 | + |
| 72 | +## {{% heading "whatsnext" %}} |
| 73 | + |
| 74 | +* Tutorial [Hello Minikube](/docs/tutorials/hello-minikube/). |
| 75 | +* Learn more about [Cluster Architecture](/docs/concepts/architecture/). |
0 commit comments