Kubernetes in Docker
一、部署Kind
1.1 提前在本机器安装好docker
1.2 下载安装Kind
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.24.0/kind-linux-amd64
chmod +x ./kind
mv ./kind /usr/local/bin/kind
1.3 安装kubectl
curl -LO https://dl.k8s.io/release/v1.31.0/bin/linux/amd64/kubectl
install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
二、集群
2.1 单控制面集群
#创建集群,没有指定集群名字,默认名字为kind
kind create cluster
#删除集群,没有指定集群名字,默认名字为kind
kind delete cluster
#指定集群名字创建集群,也可以使用-n
kind create cluster --name cluster-name
2.2 多节点集群
创建一控制节点两工作节点集群
[root@Kind my-yamls]# cat myc.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: myc
nodes:
- role: control-plane
- role: worker
- role: worker
[root@Kind my-yamls]# kind create cluster --config myc.yaml
Creating cluster "myc" ...
✓ Ensuring node image (kindest/node:v1.31.0) 🖼
✓ Preparing nodes 📦 📦 📦
✓ Writing configuration 📜
✓ Starting control-plane 🕹️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️️
✓ Installing CNI 🔌
✓ Installing StorageClass 💾
✓ Joining worker nodes 🚜
Set kubectl context to "kind-myc"
You can now use your cluster with:
kubectl cluster-info --context kind-myc
Have a question, bug, or feature request? Let us know! https://kind.sigs.k8s.io/#community 🙂
查看集群
[root@Kind my-yamls]# kind get clusters
myc
[root@Kind my-yamls]# kind get nodes -A
myc-worker
myc-worker2
myc-control-plane
[root@Kind my-yamls]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
myc-control-plane Ready control-plane 14h v1.31.0
myc-worker Ready <none> 14h v1.31.0
myc-worker2 Ready <none> 14h v1.31.0
[root@Kind my-yamls]# kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-6f6b679f8f-nx76j 1/1 Running 0 2m26s
kube-system coredns-6f6b679f8f-ptk57 1/1 Running 0 2m26s
kube-system etcd-myc-control-plane 1/1 Running 0 2m30s
kube-system kindnet-4v5f5 1/1 Running 0 2m16s
kube-system kindnet-cdwv5 1/1 Running 0 2m26s
kube-system kindnet-gl6c9 1/1 Running 0 2m16s
kube-system kube-apiserver-myc-control-plane 1/1 Running 0 2m30s
kube-system kube-controller-manager-myc-control-plane 1/1 Running 0 2m30s
kube-system kube-proxy-4wxbh 1/1 Running 0 2m26s
kube-system kube-proxy-8g96k 1/1 Running 0 2m16s
kube-system kube-proxy-hv9dr 1/1 Running 0 2m16s
kube-system kube-scheduler-myc-control-plane 1/1 Running 0 2m30s
local-path-storage local-path-provisioner-57c5987fd4-7r5ms 1/1 Running 0 2m26s
三、镜像
3.1 导入docker镜像到所有节点
kind load docker-image my-custom-image-0 my-custom-image-1 ...
3.2 导入归档的docker镜像到所有节点
kind load image-archive /my-image-archive.tar
3.3 查看节点内的镜像
docker exec -it my-node-name crictl images