mirror of
				https://github.com/kata-containers/kata-containers.git
				synced 2025-10-31 09:26:52 +00:00 
			
		
		
		
	docs: Split k8s info out of arch doc
Move the Kubernetes information out of the architecture doc and into a separate file. Partially fixes: #3246. Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
This commit is contained in:
		| @@ -80,7 +80,7 @@ The shimv2 architecture allows running several containers per VM to | |||||||
| support container engines that require multiple containers running | support container engines that require multiple containers running | ||||||
| inside a pod. | inside a pod. | ||||||
|  |  | ||||||
| With the new architecture [Kubernetes](#kubernetes-support) can | With the new architecture [Kubernetes](kubernetes.md) can | ||||||
| launch both Pod and OCI compatible containers with a single | launch both Pod and OCI compatible containers with a single | ||||||
| [runtime](#runtime) shim per Pod, rather than `2N+1` shims. No stand | [runtime](#runtime) shim per Pod, rather than `2N+1` shims. No stand | ||||||
| alone `kata-proxy` process is required, even if VSOCK is not | alone `kata-proxy` process is required, even if VSOCK is not | ||||||
| @@ -141,7 +141,7 @@ The reasons for containerizing the [workload](#workload) inside the VM | |||||||
| are: | are: | ||||||
|  |  | ||||||
| - Isolates the workload entirely from the VM environment. | - Isolates the workload entirely from the VM environment. | ||||||
| - Provides better isolation between containers in a [pod](#kubernetes-support). | - Provides better isolation between containers in a [pod](kubernetes.md). | ||||||
| - Allows the workload to be managed and monitored through its cgroup | - Allows the workload to be managed and monitored through its cgroup | ||||||
|   confinement. |   confinement. | ||||||
|  |  | ||||||
| @@ -518,39 +518,7 @@ See the [storage document](storage.md). | |||||||
|  |  | ||||||
| ## Kubernetes support | ## Kubernetes support | ||||||
|  |  | ||||||
| [Kubernetes](https://github.com/kubernetes/kubernetes/), or K8s, is a popular open source | See the [Kubernetes document](kubernetes.md). | ||||||
| container orchestration engine. In Kubernetes, a set of containers sharing resources |  | ||||||
| such as networking, storage, mount, PID, etc. is called a |  | ||||||
| [pod](https://kubernetes.io/docs/user-guide/pods/). |  | ||||||
|  |  | ||||||
| A node can have multiple pods, but at a minimum, a node within a Kubernetes cluster |  | ||||||
| only needs to run a container runtime and a container agent (called a |  | ||||||
| [Kubelet](https://kubernetes.io/docs/admin/kubelet/)). |  | ||||||
|  |  | ||||||
| Kata Containers represents a Kubelet pod as a VM. |  | ||||||
|  |  | ||||||
| A Kubernetes cluster runs a control plane where a scheduler (typically |  | ||||||
| running on a dedicated master node) calls into a compute Kubelet. This |  | ||||||
| Kubelet instance is responsible for managing the lifecycle of pods |  | ||||||
| within the nodes and eventually relies on a container runtime to |  | ||||||
| handle execution. The Kubelet architecture decouples lifecycle |  | ||||||
| management from container execution through a dedicated gRPC based |  | ||||||
| [Container Runtime Interface (CRI)](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/container-runtime-interface-v1.md). |  | ||||||
|  |  | ||||||
| In other words, a Kubelet is a CRI client and expects a CRI |  | ||||||
| implementation to handle the server side of the interface. |  | ||||||
| [CRI-O](https://github.com/kubernetes-incubator/cri-o) and |  | ||||||
| [containerd](https://github.com/containerd/containerd/) are CRI |  | ||||||
| implementations that rely on |  | ||||||
| [OCI](https://github.com/opencontainers/runtime-spec) compatible |  | ||||||
| runtimes for managing container instances. |  | ||||||
|  |  | ||||||
| Kata Containers is an officially supported CRI-O and containerd |  | ||||||
| runtime. Refer to the following guides on how to set up Kata |  | ||||||
| Containers with Kubernetes: |  | ||||||
|  |  | ||||||
| - [How to use Kata Containers and containerd](../../how-to/containerd-kata.md) |  | ||||||
| - [Run Kata Containers with Kubernetes](../../how-to/run-kata-with-k8s.md) |  | ||||||
|  |  | ||||||
| ####  OCI annotations | ####  OCI annotations | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										35
									
								
								docs/design/architecture/kubernetes.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								docs/design/architecture/kubernetes.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | |||||||
|  | # Kubernetes support | ||||||
|  |  | ||||||
|  | [Kubernetes](https://github.com/kubernetes/kubernetes/), or K8s, is a popular open source | ||||||
|  | container orchestration engine. In Kubernetes, a set of containers sharing resources | ||||||
|  | such as networking, storage, mount, PID, etc. is called a | ||||||
|  | [pod](https://kubernetes.io/docs/user-guide/pods/). | ||||||
|  |  | ||||||
|  | A node can have multiple pods, but at a minimum, a node within a Kubernetes cluster | ||||||
|  | only needs to run a container runtime and a container agent (called a | ||||||
|  | [Kubelet](https://kubernetes.io/docs/admin/kubelet/)). | ||||||
|  |  | ||||||
|  | Kata Containers represents a Kubelet pod as a VM. | ||||||
|  |  | ||||||
|  | A Kubernetes cluster runs a control plane where a scheduler (typically | ||||||
|  | running on a dedicated master node) calls into a compute Kubelet. This | ||||||
|  | Kubelet instance is responsible for managing the lifecycle of pods | ||||||
|  | within the nodes and eventually relies on a container runtime to | ||||||
|  | handle execution. The Kubelet architecture decouples lifecycle | ||||||
|  | management from container execution through a dedicated gRPC based | ||||||
|  | [Container Runtime Interface (CRI)](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/container-runtime-interface-v1.md). | ||||||
|  |  | ||||||
|  | In other words, a Kubelet is a CRI client and expects a CRI | ||||||
|  | implementation to handle the server side of the interface. | ||||||
|  | [CRI-O](https://github.com/kubernetes-incubator/cri-o) and | ||||||
|  | [containerd](https://github.com/containerd/containerd/) are CRI | ||||||
|  | implementations that rely on | ||||||
|  | [OCI](https://github.com/opencontainers/runtime-spec) compatible | ||||||
|  | runtimes for managing container instances. | ||||||
|  |  | ||||||
|  | Kata Containers is an officially supported CRI-O and containerd | ||||||
|  | runtime. Refer to the following guides on how to set up Kata | ||||||
|  | Containers with Kubernetes: | ||||||
|  |  | ||||||
|  | - [How to use Kata Containers and containerd](../../how-to/containerd-kata.md) | ||||||
|  | - [Run Kata Containers with Kubernetes](../../how-to/run-kata-with-k8s.md) | ||||||
		Reference in New Issue
	
	Block a user