Kind Concepts: Difference between revisions
(33 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
=Overview= | =Overview= | ||
<code>kind</code> is a tool for running local Kubernetes clusters using Docker container | <code>kind</code> is a tool for running local Kubernetes clusters using Docker container as cluster nodes. As such, it needs a Docker installation to run and it is similar to [[Docker Desktop]] in that respect. kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI. | ||
=Cluster= | =Cluster= | ||
A Kubernetes cluster can be created with <code>[[Kind_Operations#Create_Cluster|kind create cluster]]</code>. The "nodes" are implemented as Docker containers. Upon creation of a default cluster, it will report two nodes, "kind-control-plane" and "kind-worker". The corresponding Docker containers are: | A Kubernetes cluster can be created with <code>[[Kind_Operations#Create_Cluster|kind create cluster]]</code>. The "nodes" are implemented as Docker containers. Upon creation of a default cluster, it will report two nodes, "kind-control-plane" and "kind-worker". The corresponding Docker containers are: | ||
<font size=-2> | <font size=-2> | ||
CONTAINER ID IMAGE | CONTAINER ID IMAGE [...] NAMES | ||
3108457ff1b6 [...]/kind:v1.27.3-3966ac76 | 3108457ff1b6 [...]/kind:v1.27.3-3966ac76 kind-worker | ||
c90cb24cc040 [...]kind:v1.27.3-3966ac76 | c90cb24cc040 [...]/kind:v1.27.3-3966ac76 kind-control-plane | ||
2702defb0752 [...]/registry:2 | 2702defb0752 [...]/registry:2 kind-registry | ||
</font> | </font> | ||
Other [[#Cluster_Container_Provider|cluster container providers]] can be used, and in that case, the nodes/containers will be reported differently. | |||
==Cluster Container Provider== | |||
While initializing the cluster, the initialization process will report what container provider it is using. | |||
===<tt>KIND_EXPERIMENTAL_PROVIDER</tt>=== | |||
=<span id='Node_Image'></span>"Node" Image= | =Node= | ||
==<span id='Node_Image'></span>"Node" Image== | |||
{{External|https://kind.sigs.k8s.io/docs/design/node-image}} | {{External|https://kind.sigs.k8s.io/docs/design/node-image}} | ||
The “node” image is a Docker image for running nested containers, systemd, and Kubernetes components. | |||
==Node Provider== | |||
===<tt>containerd</tt> on Node=== | |||
<syntaxhighlight lang='bash'> | |||
crictl images | |||
</syntaxhighlight> | |||
Also see: {{Internal|crictl#Overview|<tt>crictl</tt>}} | |||
=Registry= | |||
==Registry Server== | |||
Also referred by the kind documentation as the "local registry". | |||
= | ==Registry Container Provider== | ||
While initializing the cluster, the registry can use a different container provider, though usually there should be no good reason do so. | |||
= | =Image Handling= | ||
<font color=darkkhaki> | |||
Understand and document image pull and storage on a kind cluster. | |||
TODO | |||
* https://yunikorn.apache.org/docs/next/developer_guide/env_setup/#loading-your-images | |||
* https://iximiuz.com/en/posts/kubernetes-kind-load-docker-image/ | |||
Update [[Kind_Operations#Load_Images_into_a_Node|Load Images into a Node]]. | |||
</font> |
Latest revision as of 00:15, 8 December 2023
Internal
Overview
kind
is a tool for running local Kubernetes clusters using Docker container as cluster nodes. As such, it needs a Docker installation to run and it is similar to Docker Desktop in that respect. kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI.
Cluster
A Kubernetes cluster can be created with kind create cluster
. The "nodes" are implemented as Docker containers. Upon creation of a default cluster, it will report two nodes, "kind-control-plane" and "kind-worker". The corresponding Docker containers are:
CONTAINER ID IMAGE [...] NAMES 3108457ff1b6 [...]/kind:v1.27.3-3966ac76 kind-worker c90cb24cc040 [...]/kind:v1.27.3-3966ac76 kind-control-plane 2702defb0752 [...]/registry:2 kind-registry
Other cluster container providers can be used, and in that case, the nodes/containers will be reported differently.
Cluster Container Provider
While initializing the cluster, the initialization process will report what container provider it is using.
KIND_EXPERIMENTAL_PROVIDER
Node
"Node" Image
The “node” image is a Docker image for running nested containers, systemd, and Kubernetes components.
Node Provider
containerd on Node
crictl images
Also see:
Registry
Registry Server
Also referred by the kind documentation as the "local registry".
Registry Container Provider
While initializing the cluster, the registry can use a different container provider, though usually there should be no good reason do so.
Image Handling
Understand and document image pull and storage on a kind cluster. TODO
- https://yunikorn.apache.org/docs/next/developer_guide/env_setup/#loading-your-images
- https://iximiuz.com/en/posts/kubernetes-kind-load-docker-image/
Update Load Images into a Node.