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的方法。具体操作请参考第四章。
作
k8s-Node(节点)的更多相关文章
- k8s node节点部署(v1.13.10)
系统环境: node节点 操作系统: CentOS-7-x86_64-DVD-1908.iso node节点 IP地址: 192.168.1.204 node节点 hostname(主机名, 请和保持 ...
- Kubernetes学习之路(四)之Node节点二进制部署
K8S Node节点部署 1.部署kubelet (1)二进制包准备 [root@linux-node1 ~]# cd /usr/local/src/kubernetes/server/bin/ [r ...
- k8s pod节点调度及k8s资源优化
一.k8s pod 在节点间调度控制 k8s起pod时,会通过调度器scheduler选择某个节点完成调度,选择在某个节点上完成pod创建.当需要在指定pod运行在某个节点上时,可以通过以下几种方式: ...
- k8s集群添加node节点(使用kubeadm搭建的集群)
1.安装docker.kubelet.kubectl.kubeadm.socat # cat kubernets.repo[kubernetes]name=Kubernetesbaseurl=http ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...
- K8s集群部署(三)------ Node节点部署
之前的docker和etcd已经部署好了,现在node节点要部署二个服务:kubelet.kube-proxy. 部署kubelet(Master 节点操作) 1.二进制包准备 [root@k8s-m ...
- Node节点如何加入K8S集群
k8s集群中,有时候发现有些节点状态为 NotReady,如何修复为Ready状态呢? [root@k8s-master~]# kubectl get nodes NAME STATUS ROLES ...
- K8S踩坑篇-master节点作为node节点加入集群
前面我们二进制部署K8S集群时,三台master节点仅仅作为集群管理节点,所以master节点上中并未部署docker.kubelet.kube-proxy等服务.后来我在部署mertics-serv ...
- K8S线上集群排查,实测排查Node节点NotReady异常状态
一,文章简述 大家好,本篇是个人的第 2 篇文章.是关于在之前项目中,k8s 线上集群中 Node 节点状态变成 NotReady 状态,导致整个 Node 节点中容器停止服务后的问题排查. 文章中所 ...
- 在node节点部署kubectl管理k8s集群
感谢!原文链接:https://blog.csdn.net/sinat_35930259/article/details/79994078 kubectl是k8s的客户端程序,也是k8s的命令行工具, ...
随机推荐
- Centos系统 tomcat 中的应用与北京时间相差8小时
解决方法: 在 catalina.sh中的 JAVA_OPTS 加上 -Duser.timezone=GMT+08 启动时 startup.sh 会调用 catalina.sh.
- c# MVC5(二) MVC与IOC结合
今天主要来讲解使用Unity来自动注入.Unity前面我们已经详细的介绍过了,如有需要请自行前往去看,今天我们的重点是说MVC与IOC的结合. IOC:控制反转,控制反转的工具是DI(依赖注入:构造函 ...
- Linux计划任务管理
计划任务 类型: 一次性计划任务 周期性计划任务 一次性计划任务 前提: atd服务必须运行 [root@wei init.d]# yum -y install at ...
- nginx实现tcp的反向代理
nginx不仅可以实现http的反向代理,同时也支持TCP的反向代理以SSH为例1.编译的时候需要加入--with-stream这个参数,以加载ngx_stream_core_module这个模块2 ...
- shell之命令代换,将当前路径存放在变量中,然后使用变量
重要的 命令代换`` 反引号 shell先执行该命令,然后将命令的结果存放在 变量中 例如 var=`pwd` echo $var 也可以用其$()替换 var=$(date) echo $var 删 ...
- spring-data-redis 关于订阅客户端不断创建新线程的问题
项目中使用了spring-data-redis 实现消息订阅功能,原来的配置是这样子: <redis:listener-container connection-factory="je ...
- LOJ 3156: 「NOI2019」回家路线
题目传送门:LOJ #3156. 题意简述: 有一张 \(n\) 个点 \(m\) 条边的有向图,边有两个权值 \(p_i\) 和 \(q_i\)(\(p_i<q_i\))表示若 \(p_i\) ...
- 阿里巴巴java开发手册 学习
3. [强制]类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外: DO / BO / DTO / VO / AO 正例: MarcoPolo / UserDO / Xml ...
- .Net Core 获取项目所有程序集,排除Microsoft、Nuget下载的
https://www.cnblogs.com/yanglang/p/6866165.html public static List<Assembly> BaiqianAssemblies ...
- T1 :最小值(min)题解 ——2019.10.15
思路: 对于 % 30 的数据,可以想到一个 Dp 方程: 其中dp[i]表示分割[1,i]的最大答案 代码: #include<cstdio> #include<cstring&g ...