单主机创建多个node
在Mac桌面上部署多个Kubernetes节点可以使用Minikube工具。Minikube是一个轻量级的Kubernetes工具,它可以在单个主机上创建一个虚拟集群。以下是在Mac桌面上使用Minikube部署多个Kubernetes节点的步骤:
安装Minikube,运行以下命令:
java
# brew install minikube
或
# curl -LO https://github.com/kubernetes/minikube/releases/download/v1.21.0/minikube-darwin-amd64
# sudo install minikube-darwin-amd64 /usr/local/bin/minikube
启动docker desktop后, 启动Minikube集群,运行以下命令:
java
# minikube start --node 3
此命令将在你的Mac上创建一个具有3个节点的Kubernetes集群。
如果因为gcr.io/k8s-minikube/kicbase:v0.0.10下载失败导致启动失败,可以
查找替代的镜像,比如anjone/kicbase,指定镜像启动:
java
# docker pull anjone/kicbase
# minikube start --base-image="anjone/kicbase" -n 3
验证集群是否正常运行,运行以下命令:
java
kubectl get nodes
现在已经在Mac桌面上成功部署了一个具有两个节点的Kubernetes集群,可以使用kubectl命令来管理和操作集群。
指定pod在哪个node上运行
k8s集群的yaml文件,需要指定pod在哪个node上面运行:
通过label-selector机制选择节点
java
查询node的label情况命令:
java
kubectl get node --show-labels
为node添加label:
java
kubectl label node k8s-node1 type=node1
修改一个Label的值,如果key值相同,需要加上--overwrite参数;key值不同,同上直接添加label即可:
java
kubectl label node nodename type=node2 --overwrite
删除一个Label,只需在命令行最后指定Label的key名并与一个减号相连即可:
java
kubectl label node nodename role-
参考:https://blog.csdn.net/u010420283/article/details/103928862