kind简介
kind 即 Kubernetes In Docker,顾名思义,就是将 k8s 所需要的所有组件,全部部署在一个docker容器中,是一套开箱即用的 k8s 环境搭建方案。
安装kind
本文档使用的系统是Ubuntu22.04环境
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-$(uname)-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
创建集群
在创建集群之前需要先安装Docker
使用kind创建集群
# --image 表示使用kindest/node:v1.29.0镜像创建集群
kind create cluster --image kindest/node:v1.29.0
输出如下
~# kind create cluster --image kindest/node:v1.29.0
Creating cluster "kind" ...
✓ Ensuring node image (kindest/node:v1.29.0) 🖼
✓ Preparing nodes 📦
✓ Writing configuration 📜
✓ Starting control-plane 🕹️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️
✓ Installing CNI 🔌
✓ Installing StorageClass 💾
Set kubectl context to "kind-kind"
You can now use your cluster with:
kubectl cluster-info --context kind-kind
Have a question, bug, or feature request? Let us know! https://kind.sigs.k8s.io/#community 🙂
安装kubectl
apt-get update
apt-get install -y apt-transport-https ca-certificates curl gpg
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
apt-get update
apt install kubectl
查看集群节点和Pod
~# kubectl get nodes
NAME STATUS ROLES AGE VERSION
kind-control-plane Ready control-plane 6m15s v1.29.0
~# kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-76f75df574-4fplb 1/1 Running 0 7m22s
kube-system coredns-76f75df574-5vp7v 1/1 Running 0 7m22s
kube-system etcd-kind-control-plane 1/1 Running 0 7m38s
kube-system kindnet-lvjz2 1/1 Running 0 7m23s
kube-system kube-apiserver-kind-control-plane 1/1 Running 0 7m37s
kube-system kube-controller-manager-kind-control-plane 1/1 Running 0 7m37s
kube-system kube-proxy-wljfr 1/1 Running 0 7m23s
kube-system kube-scheduler-kind-control-plane 1/1 Running 0 7m37s
local-path-storage local-path-provisioner-6f8956fb48-h8p4q 1/1 Running 0 7m22s