美文网首页
5.0.2 Pod 对象, 编排

5.0.2 Pod 对象, 编排

作者: RockyLuo_290f | 来源:发表于2019-05-08 22:13 被阅读0次

    凡是调度,网络,存储以及安全相关的属性,基本上是Pod级别的。
    例如:
    NodeSelector:是一个用户将Pod与Node进行绑定的字段。
    NodeName:一旦这个字段被赋值,Kubernetes就会认为这个Pod经过了调度。
    HostAliases:定义了Pod的hosts文件(比如/etc/hosts)里的内容.

    除了跟机器相关的配置外,凡是跟容器的Linux Namespace相关的属性,也一定是Pod级别的。

    凡是Pod中的容器要共享宿主机的Namespace,也一定是Pod级别的

    Container字段
    ImagePullPolicy字段。定义了拉取镜像的策略
    Lifecycle字段。定义了ContainerLifecycle Hooks

    Kubernetes v1.11 之后加入了投射数据卷,projected Volume. 其存在的意义不是为了存放容器里的数据,也不是用来进行容器和宿主机之间的数据交换,而是为容器提供预先定义好的数据

    一般有四种:
    1.Secret (存放数据库的Credential信息)
    2.ConfigMap (不需要加密的,应用所需的配置信息)
    3.Downward API
    4.ServiceAccountToken

    kubernetes架构中,叫做kube-controller-manager的组件,就是一系列控制器的集合.
    遵循一个通用编排模式,控制循环(control loop)

    for {
      实际状态 := 获取集群中对象 X 的实际状态(Actual State)
      期望状态 := 获取集群中对象 X 的期望状态(Desired State)
      if 实际状态 == 期望状态{
        什么都不做
      } else {
        执行编排动作,将实际状态调整为期望状态
      }
    }
    

    kubelet的监控来源包括,心跳汇报的容器抓共同和节点状态,监控系统保存的应用监控数据,或者控制器主动收集的感兴趣的信息。

    期望状态,来自于用户提交的YAML文件

    相关文章

      网友评论

          本文标题:5.0.2 Pod 对象, 编排

          本文链接:https://www.haomeiwen.com/subject/ldetoqtx.html