Kind Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
 
(18 intermediate revisions by the same user not shown)
Line 4: Line 4:
=Overview=
=Overview=
<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.
<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 Container Provider=
While initializing the cluster, the initialization process will report what container provider it is using.
==<tt>KIND_EXPERIMENTAL_PROVIDER</tt>==
=Registry=
==Registry Server==
=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.


=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              [...]        NAMES
  CONTAINER ID  IMAGE              [...]        NAMES
  3108457ff1b6  [...]/kind:v1.27.3-3966ac76      kind-worker
  3108457ff1b6  [...]/kind:v1.27.3-3966ac76      kind-worker
  c90cb24cc040  [...]kind:v1.27.3-3966ac76       kind-control-plane
  c90cb24cc040  [...]/kind:v1.27.3-3966ac76     kind-control-plane
  2702defb0752  [...]/registry:2                kind-registry
  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.


<font color=darkkhaki>What is a kind cluster? Where does it live?</font>
==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.


The “node” image is a Docker image for running nested containers, systemd, and Kubernetes components.
=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/


=Node Provider=
Update [[Kind_Operations#Load_Images_into_a_Node|Load Images into a Node]].
==Loading Images==
</font>
<font color=darkkhaki>TODO https://yunikorn.apache.org/docs/next/developer_guide/env_setup/#loading-your-images</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

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

containerd on Node

crictl images

Also see:

crictl

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

Update Load Images into a Node.