当前位置: 首页 > wzjs >正文

山西做网站建设的平台临沂网站seo

山西做网站建设的平台,临沂网站seo,wordpress lms插件,多米诺网站建设服务一、前言 在上一篇文章中我们学习了Pod的一些基本的知识,今天我们将继续学习Pod。 二、K8S如何选择节点来运行Pod 我们知道在一个K8S集群中,会有多个工作节点(Worker Node),那么k8s会选择那个node呢?接下…

一、前言

在上一篇文章中我们学习了Pod的一些基本的知识,今天我们将继续学习Pod。

二、K8S如何选择节点来运行Pod

我们知道在一个K8S集群中,会有多个工作节点(Worker Node),那么k8s会选择那个node呢?接下来我们将学习一下k8s是如何选择适合的node来运行我们所需要的Pod。

1、NodeName

首先我们可以通过指定Node名称来让k8s将pod调度到指定的Node,目前笔者的环境里有1个Master和2个Worker节点,如下图。

1、不指定NodeName

首先我们先什么都不指定,让k8s自动为我们调度,看看会将Pod分配到那个Node上。我们编写一个yaml

apiVersion: v2
kind: Pod
metadata:name: my-nginxlabels:run: my-nginx
spec:containers:- name: my-nginximage: nginxports:- containerPort: 80

执行命令

 kubectl apply -f nginx.yaml

(这里先不用考虑STATUS 为 ImagePullBackOff 这个是因为笔者的网络出了点小问题,导致拉取镜像失败),可以看到我们的Nginx被k8s调度到了node3 节点,那如果我们想指定pod调度到node2节点呢,接下来我们继续实验。

2、指定NodeName

1、我们先删除之前创建的pod,使用命令

 kubectl delete pod my-nginx

2、修改之前的yaml资源清单

apiVersion: v1
kind: Pod
metadata:name: my-nginxlabels:run: my-nginx
spec:containers:- name: my-nginximage: nginxports:- containerPort: 80nodeName: node2

3、执行命令

 kubectl apply -f nginx.yaml

4、创建完成后我们查看Pod使用命令

kubectl get pods -o wide

可以看到nginx这个pod已经被调度到了node2节点。

3、小结

使用NodeName可以手动指定Pod调度到那个Node上,那么这种操作适用于什么场景呢?

- 部署基础设施Pod,一些k8s的基础设施需要在指定节点运行,例如监控代理或者日志收集器等,这些Pod的部署和调度必须稳定和可靠,不能被k8s自动调度,这种情况下我们可以指定Node
- 管理节点资源:例如我们要维护某个节点,此时我们可以将当前节点的pod部署到其他我们指定的节点上,从而避免k8s自动分配到当前Node

2、nodeSelector

除了使用NameNode我们还可以使用nodeSelector来指定调度的Node。我们下看下NodeSelector的介绍,使用命令

kubectl explain pod.spec.nodeSelector

可以看到nodeSelector是一个Map结构,官网文档地址https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector nodeSelector用于将Pod调度到包含指定label(标签)的Node上

实验步骤:

1、给两个node添加上标签,给node1打上标签 cpu=high (CPU为高性能),给node2打上标签cpu=low(CPU为低性能)

 kubectl label nodes node2 cpu=hgihkubectl label nodes node3 cpu=low

2、查看一下这个标签

kubectl get nodes -L cpu

3、删除刚才的pod

 kubectl delete pod my-nginx

4、编写yaml

apiVersion: v1
kind: Pod
metadata:name: my-nginxlabels:run: my-nginx
spec:containers:- name: my-nginximage: nginxports:- containerPort: 80nodeSelector:cpu: high

5、执行创建命令

我们预期该pod会被创建在node1上,因为我们这里匹配的标签的是cpu high,我们直接运行命令看一下结果。

kubectl apply -f nginx.yaml

但是预期的现象并没有发生,pod一直处于pending状态,仔细看一下yaml和标签,结果发现是单词拼错了。node标签是 cpu=high 而我们清单上写的high导致匹配不到node,此时会一直pending住。直到有能匹配上的node。所以现在有两种方案,改资源清单或者改node上的标签,我们选择后者。

kubectl label nodes node2 cpu=high --overwrite=true

再次查看node上的标签

接着查看pod

至此Pod已经完成了调度

三、总结

今天我们学习了如何手动控制K8S调度Pod,分别可以通过NodeName和NodeSelector来指定,前者通过名称来指定Node而后者是通过标签来指定。接下来的文章我们会继续学习Pod其他知识希望对你有所帮助。

四、未完待续

http://www.dtcms.com/wzjs/42198.html

相关文章:

  • 中小企业网站设计与开发目的做网站用哪个软件
  • 网站两侧广告看片应该搜什么关键词哪些词
  • 软件开发外包管理seo查询平台
  • 大型企业网络建设方案软件优化
  • 求好心人给个地址seo管理系统培训运营
  • 台州做网站最好的重庆百度推广优化
  • 做网站送邮箱全网热度指数
  • 网站加强阵地建设与管理关键词查询神器
  • 如何做logo模板下载网站seo搜索引擎优化人员
  • 申请了域名先做网站还是先备案软文范文大全
  • 中企动力科技股份有限公司佛山分公司seo专家是什么意思
  • wordpress 流量统计插件网络营销中的seo与sem
  • 批量建设新闻网站郑州网络营销哪个好
  • 国基建设集团有限公司网站友情链接的作用大不大
  • 现在学做网站赚钱吗网络广告营销有哪些
  • 如何制作一个公司网站腾讯企点怎么注册
  • WordPress建站布置怎么开通网站
  • 网站谷歌地图提交周口网络推广公司
  • dw软件可以做哪些网站网络营销与传统营销的区别
  • 临朐网站制作哪家好怎么才能在百度上打广告
  • 可以做公司宣传的网站有哪些灯塔网站seo
  • 北京做网站的开发公司北京网站优化服务商
  • 028网站建设工作室web网页
  • 合肥市建设工程造价管理站网站榆林市网站seo
  • 南京网站建设 seo网页设计培训学校
  • 响应式网站科技百度推广服务费一年多少钱
  • 手机上可以做网站seo单页面优化
  • .东莞网站建设网络推广方案范文
  • 长寿网站建设免费单页网站在线制作
  • 网站建设官网制作平台百度网址安全中心