zoukankan      html  css  js  c++  java
  • k8s-Node(节点)

    k8s-Node(节点)

    Node(节点)是k8s集群中相对于Master而言的工作主机。Node可以是一台物理主机,也可以是一台虚拟机(VM)。
    在每个Node上运行用于启动和管理Pid的服务Kubelet,并能够被Master管理。
    在Node上运行的服务进行包括Kubelet、kube-proxy和docker daemon。

    Node信息如下:
    Node地址:主机的IP地址,或者Node ID。
    Node运行状态:包括Pending、Running、Terminated三种状态。
    Node Condition(条件):描述Running状态Node的运行条件,目前只有一种条件----Ready。Ready表示Node处于健康状态,可以接收从Master发来的创建Pod的指令。
    Node系统容量:描述Node可用的系统资源,包括CPU、内存数量、最大可调度Pod数量等。
    其他:Node的其他信息,包括实例的内核版本号、k8s版本号、Docker版本号、操作系统名称等。

    1. Node的管理
    Node通常是物理机、虚拟机或者云服务商提供的资源,并不是由k8s创建的。
    我们说k8s创建一个Node,仅仅表示k8s在系统内部创建了一个Node对象,创建后即会对其进行一系列健康检查,包括是否可以连通、服务是否正确启动、是否可以创建Pod等。
    如果检查未能通过,则该Node将会在集群中被标记为不可用(Not Ready)。

    2. 使用Node Controller对Node进行管理
    Node Controller是k8s Master中的一个组件,用于管理Node对象。
    它的两个主要功能包括:集群范围内的Node信息同步,以及单个Node的生命周期管理。
    Node信息同步可以通过kube-controller-manager的启动参数--node-sync-period设置同步的时间周期。

    3. Node的自注册
    当Kubelet的--register-node参数被设置为true(默认值即为true)时,Kubelet会向apiserver注册自己。这也是k8s推荐的Node管理方式。

    Kubelet进行自注册的启动参数如下:
    --apiservers=: apiserver地址;
    --kubeconfig=: 登录apiserver所需凭据/证书的目录;
    --cloud_provider=: 云服务商地址,用于获取自身的metadata;
    --register-node=: 设置为true表示自动注册到apiserver。

    4. 手动管理Node
    k8s集群管理员也可以手工创建和修改Node对象。
    当需要这样操作时,先要将Kubelet启动参数中的--register-node参数的值设置为false。这样,在Node上的Kubelet就不会把自己注册到apiserver中去了。
    另外,k8s提供了一种运行时加入或者隔离某些Node的方法。具体操作请参考第四章。

  • 相关阅读:
    Spring MVC Ajax 嵌套表单数据的提交
    Spring MVC 过滤静态资源访问
    Spring MVC 页面跳转时传递参数
    IDEA Maven 三层架构 2、运行 springMVC
    IDEA Maven 三层架构 1、基本的Archetype 搭建
    EasyUI DataGrid 基于 Ajax 自定义取值(loadData)
    Spring MVC Ajax 复杂参数的批量传递
    Mybatis Sql片段的应用
    在 Tomcat 8 部署多端口项目
    自动升级的设计思路与实现
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/k8s-node.html
Copyright © 2011-2022 走看看