本篇内容主要讲解“kubernetes怎么将容器指定到某些节点运行”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“kubernetes怎么将容器指定到某些节点运行”吧!
假定部署的kubernetes集群有5个节点,一个master节点和4个work节点,默认master节点不调度Pod,所有Pod均在4个work节点上调度Pod。简单列表如下:
hostname | role |
node1 | master |
node2 | work |
node3 | work |
node4 | work |
node5 | work |
现需要部署2个容器应用A和B,其中A属于业务应用(例如springboot web应用),B属于组件(例如redis、zookeeper等),需要将A应用指定到node2和node3节点上,将应用B指定到node4和node5节点上,通过这种方式将组件和业务应用进行隔离,具体实现如下:
1、查看当前集群节点标签信息:
# 查看当前集群节点标签信息
kubectl get nodes --show-labels
# 可以看到每个节点默认初始标签大致如下
beta.kubernetes.io/arch=amd64,
beta.kubernetes.io/os=linux,
kubernetes.io/arch=amd64,
kubernetes.io/hostname=node2,
kubernetes.io/os=linux
2、通过部署类型标签将node2、node3节点标记为业务应用,将node4、node5标记为组件应用:
kubectl label nodes node2 deploy.type=biz_appkubectl label nodes node3 deploy.type=biz_appkubectl label nodes node4 deploy.type=assembly_appkubectl label nodes node5 deploy.type=assembly_app# 确认标签是否生效kubectl get nodes --show-labels
3、然后Pod指定配置如下:
apiVersion: apps/v1kind: Podmetadata: name: nginx-pod namespace: my-namespace labels: app: nginx-podspec: nodeSelector: deploy.type: assembly_app restartPolicy: Always containers: - name: nginx image: "nginx" ports: - containerPort: 80
到此,相信大家对“kubernetes怎么将容器指定到某些节点运行”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。