安装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工具
2.1 Mac
Mac用户可以使用homebrew安装kubectl。若想通过二进制文件安装,请参考官方文档。
brew install kubectl
kubectl version --client
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-…
假如我想部署一个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)