kubernetes——调度约束

  

基本原理

  
 <代码> kubernetes通过手表的机制进行每个组件的协作,每个组件之间的设计实现了解耦。 
  

调度方式

  
 <代码>节点名用于将Pod调度到指定的节点名称上,跳过调度器直接分配。
  
  nodeSelector用于将Pod调度到匹配标签的节点上,前提是节点要有标签。 
  

 kubernetes——调度约束

  

原理详解

  
 <代码>图中左上角的运维人员往节点中创建一个nginx资源。
  
  API服务器和etcd和调度器是主人。
  
  Kubelet和码头工人是节点节点。
  
  API服务器做为唯一入口,接受创建创建资源的属性信息写入到etcd中(属性信息:名称,镜像名称,限制条件),
  etcd完善发现机制(看)给调度器调度器(查看那个节点适合),然后绑定相关舱的网络信息,
  反馈给API服务器,收到信息后API写入etcd中,此时etcd存储了pod的网络信息(IP), node1,中的kubelet会管理舱资源,
  会触发容器的创建命令,安装完成后码头工人就会反馈状态信息给API服务器,当API服务器收到状态信息写入到etcd中。
  
  API服务器相当于是平台中的管理员,负责记录相关信息,
  
  etcd相当于管理员的记事本,相关信息内容写在其中,
  
  如果API服务器挂了,那么k8基本上就瘫痪了。 
  

范例演示nodename

  
      <李>编辑yaml文件   
  
 <代码类=" language-bash "> vim pod5.yaml
  
  apiVersion: v1
  :豆荚
  元数据:
  名称:pod-example
  标签:
  应用:nginx
  规范:
  节点名:192.168.142.131
  #指定给node1节点
  容器:
  ——名称:nginx
  图片:nginx: 1.15
  #验证是否创建了nginx  
  
      <李>创建yaml文件   
  
 <代码类=" language-bash "> kubectl创建- f pod5.yaml
  
  kubectl得到豆荚 
  
      <李>查看详细事件,发现未经过调度器李   
  
 <代码类=" language-bash "> kubectl描述pod pod-example  
  
      <李>清空舱资源李   
  
 <代码类=" language-bash "> kubectl删除- f。
  
  kubectl得到豆荚 
  

范例演示-nodeSelector

  
      <李>获取标签帮助李   
  
 <代码类=" language-bash "> kubectl标签——帮助 
  
      <李>需要获取节点上的名字名称李   
  
 <代码类=" language-bash "> kubectl得到节点 
  
      <李>给对应的节点设置标签分别为kgc=a和kgc=b   
  
 <代码类=" language-bash "> kubectl标签节点192.168.142.130 kgc=kubectl标签节点192.168.142.131 kgc=b  
  
      <李>查看标签   
  
 <代码类=" language-bash ">——show-labels kubectl得到节点
  
  vim pod5.yaml
  
  apiVersion: v1
  :豆荚
  元数据:
  名称:pod-example
  标签:
  应用:nginx
  规范:
  nodeSelector:
  kgc: b
  容器:
  ——名称:nginx
  图片:nginx: 1.15
  
  kubectl应用- f pod5.yaml  
  
      <李>查看详细事件,通过事件可以观察经过调度器分配李   
  
 <代码类=" language-bash "> kubectl描述pod pod-example  
  

故障排除

  
      <李>查看pod事件   
  
 <代码类=" language-bash "> kubectl描述类型NAME_PREFIX  
  
      <李>查看pod日志(失败的状态下)   
  
 <代码类=" language-bash "> kubectl日志POD_NAME  
  
      <李>进入舱(状态为运行,但是服务没有提供)   
  
 <代码类=" language-bash "> kubectl exec - POD_NAME bash  
  

 kubernetes——调度约束

  

谢谢阅读!

kubernetes——调度约束