kind部署K8s

116 阅读1分钟

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

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

参考文章