Skip to content

Kind

Kubernetes IN Docker - local clusters for testing Kubernetes

About

kind is a tool for running local Kubernetes clusters using Docker container “nodes”.

kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI.

Install

winget install --id Docker.DockerDesktop -e
winget install --id Kubernetes.kind -e
  • 참고로 -e 플래그는 정확한 일치를 사용하여 패키지를 찾습니다.

Create Cluster

PS C:\Users\zer0\Project> kind create cluster --name=kubeflow --config=kind.yaml

출력:

Creating cluster "kubeflow" ...
 ✓ Ensuring node image (kindest/node:v1.34.0) 🖼
 ✓ Preparing nodes 📦
 ✓ Writing configuration 📜
 ✓ Starting control-plane 🕹️
 ✓ Installing CNI 🔌
 ✓ Installing StorageClass 💾
Set kubectl context to "kind-kubeflow"
You can now use your cluster with:

kubectl cluster-info --context kind-kubeflow

Have a question, bug, or feature request? Let us know! https://kind.sigs.k8s.io/#community 🙂

클러스터 정보 확인:

PS C:\Users\zer0\Project> kubectl cluster-info --context kind-kubeflow

출력:

Kubernetes control plane is running at https://127.0.0.1:57278
CoreDNS is running at https://127.0.0.1:57278/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

kubeflow

kubeflow 설치 문서에서 제안하는 클러스터 설정은 다음과 같다:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  image: kindest/node:v1.34.0@sha256:7416a61b42b1662ca6ca89f02028ac133a309a2a30ba309614e8ec94d976dc5a
  kubeadmConfigPatches:
  - |
    kind: ClusterConfiguration
    apiServer:
      extraArgs:
        "service-account-issuer": "https://kubernetes.default.svc"
        "service-account-signing-key-file": "/etc/kubernetes/pki/sa.key"

자세한 내용은 Kubeflow:Install 항목 참조.

Kubeconfig 저장

kind get kubeconfig --name kubeflow > /tmp/kubeflow-config
export KUBECONFIG=/tmp/kubeflow-config

기존 자격 증명을 기반으로 이미지를 가져오기 위한 비밀 키를 생성합니다

docker login

kubectl create secret generic regcred \
    --from-file=.dockerconfigjson=$HOME/.docker/config.json \
    --type=kubernetes.io/dockerconfigjson

출력 결과:

secret/regcred created

See also

Favorite site