K8s Docker实践三

单主机创建多个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

相关推荐
吴声子夜歌3 小时前
Kubernetes权威指南——深入掌握Service(一)
云原生·容器·kubernetes
java_logo13 小时前
Docker 部署 Liquibase:轻松搭建数据库变更管理
数据库·docker·容器·数据库管理·liquibase·轩辕镜像·数据库变更
IT利刃出鞘21 小时前
Docker Compose--解决修改配置后不生效的问题
运维·docker·容器
java_logo21 小时前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
Lsetea21 小时前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
好用斋1 天前
拾光坞安装网盘聚合LitePan:把Docker命令翻译成图形界面
运维·docker·容器
对象存储与RustFS1 天前
Velero 接 RustFS 实操:K8s 集群备份落到自建对象存储
后端·docker·云原生
70后写java的老码农1 天前
docker-compose 部署 Redis Stack Server 6.2.6-v19
redis·docker
weirong1 天前
图解 client-go Informer:手写一个 mini-Informer 才敢说懂
kubernetes
.冰块.1 天前
流量大了自动加 Pod!K8s HPA 扩缩容与 ResourceQuota/LimitRange 资源管控实战
linux·云原生·容器·kubernetes·hpa·quota·limitrange