Kubernetes入门:使用Kind快速安装、部署k8s集群

1,706 阅读3分钟

安装Kubernetes集群

安装Kubernetes集群的方式有很多,通过师兄的介绍,发现使用Kind这个工具安装k8s是比较方便的。而且对于学习来说也是绝对够用的。

开始安装之前需要确保电脑上已经安装过Docker。

1.安装Kind工具

官网:kind – Quick Start (k8s.io)

Mac

方式1:如果电脑上安装过homebrew,则可以直接使用以下命令进行安装。

brew install kind

方式2:二进制文件安装

Intel芯片的Mac

[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-darwin-amd64
chmod +x ./kind
mv ./kind /some-dir-in-your-PATH/kind

Apple芯片的Mac

[ $(uname -m) = arm64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-darwin-arm64
chmod +x ./kind
mv ./kind /some-dir-in-your-PATH/kind

Linux

使用Linux的用户根据自己电脑指令集的架构选择不同的安装指令。

# x86架构
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64 
# ARM架构
[ $(uname -m) = aarch64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-arm64 

chmod +x ./kind 
sudo mv ./kind /usr/local/bin/kind

2. 安装kubectl工具

官网:安装工具 | Kubernetes

2.1 Mac

Mac用户可以使用homebrew安装kubectl。若想通过二进制文件安装,请参考官方文档。

brew install kubectl
kubectl version --client

image.png

2.2 Linux

apt安装方式

第一步:安装使用 Kubernetes apt 仓库所需要的包。

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl

第二步:下载 Kubernetes 软件包仓库的公共签名密钥。

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

第三步:添加合适的 Kubernetes apt 仓库。如果你想用 v1.29 之外的 Kubernetes 版本, 请将下面命令中的 v1.29 替换为所需的次要版本:

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软件包,并且安装kubectl

sudo apt-get update
sudo apt-get install -y kubectl

yum安装方式

添加 Kubernetes 的 yum 仓库。如果你想使用 v1.29 之外的 Kubernetes 版本, 将下面命令中的 v1.29 替换为所需的次要版本。

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/repodata/repomd.xml.key
EOF

使用yum安装kubectl

sudo yum install -y kubectl

3.部署k8s集群

接下来回到我们的Kind这个工具上,现在可以用它来创建集群了。

部署单节点集群

通过这条指令,我们就可以部署一个单节点的集群。--name可以设置集群的名称,默认的集群名字就叫kind

kind create cluster --name [cluster_name]

部署多节点集群

我们可以通过编写yaml配置文件来设置多个节点。若我想创建一个4个节点的集群,就可以编写成以下yaml文件。

kind: Cluster # 节点名称 
apiVersion: kind.x-k8s.io/v1alpha4 
nodes: # 节点列表,需要几个节点写几个 
- role: control-plane # master节点 
- role: worker # worker从节点 
- role: worker
- role: worker

接着再通过指令,在--config后设置刚刚编写的yaml文件名即可。

kind create cluster --config [config.yaml]

4. 设置Kubernetes的版本

kind这个工具默认会部署它支持的最新版本的k8s,如果我们想部署之前的版本就需要自己手动去设置。

我们可以通过--image这个参数来设置所使用的k8s镜像的版本

具体镜像可以去Github上查看:github.com/kubernetes-…

image.png

image.png

假如我想部署一个k8s版本1.24.15的集群,那么kind create指令就可以写成:

kind create cluster --config kind.yaml --image kindest/node:v1.27.3@sha256:3966ac761ae0136263ffdb6cfd4db23ef8a83cba8a463690e98317add2c9ba72

5. 关联kubectl

当kind部署成功以后会出现以下提示:

~/: kind create cluster --config kind.yaml --image kindest/node:v1.27.3@sha256:3966ac761ae0136263ffdb6cfd4db23ef8a83cba8a463690e98317add2c9ba72
Creating cluster "kind" ... 
✓ Ensuring node image (kindest/node:v1.27.3) 🖼 
✓ Preparing nodes 📦 
✓ Writing configuration 📜 
✓ Starting control-plane 🕹️ 
✓ Installing CNI 🔌 
✓ Installing StorageClass 💾 
✓ Joining worker nodes 🚜 
Set kubectl context to "kind-kind" 
You can now use your cluster with: 

kubectl cluster-info --context kind-kind 

Not sure what to do next? 😅 Check out https://kind.sigs.k8s.io/docs/user/quick-start/

那么可以根据提示,找到第13行的指令,然后运行它即可。

kubectl cluster-info --context kind-kind

接着我们执行kubectl get no,就可以查看集群所有的节点了。(由于这里我部署的是单节点集群,因此只会显示一个control-plane

image.png