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的命令行工具, ...
随机推荐
- Django extend(继承)模板标签
在 views.py 上修改 ... def ordered(req): return render(req, "ordered.html") def shopping_car(r ...
- HAProxy的调度算法
HAProxy通过固定参数balance指明对后端服务器的调度算法,该参数可以配置在listen或backend选项中. HAProxy的调度算法分为静态和动态调度算法,但是有些算法可以根据参 ...
- sql学习(一),sqlpuls
原创作品,转载请注明来源https://www.cnblogs.com/sogeisetsu/ oracle的特殊语法 注意,上方的语法只适用于oracle,并不适用于mysql,比如,mysql需要 ...
- Codeforces D. The Sum of the k-th Powers(拉格朗日插值)
题目描述: The Sum of the k-th Powers time limit per test 2 seconds memory limit per test 256 megabytes i ...
- V4L2 API详解 Buffer的准备和数据读取
1. 初始化 Memory Mapping 或 User Pointer I/O. int ioctl(int fd, int requestbuf, struct v4l2_requestbuffe ...
- 201871010112-梁丽珍《面向对象程序设计(java)》第四周学习总结
项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>http ...
- 测试基础【第六篇】bug要素及其生命周期
bug的要素 为了让开发人员更准确.更快的看懂Bug,测试需要按照一定的规范提交bug. 缺陷id:一般由缺陷管理系统自动生成: 缺陷标题:概要描述缺陷: 发现人:一般是缺陷管理系统自动获取当前用户: ...
- phpcms添加https后台分页错误的解决方法
今天修改一位客户的phpcms网站,他要求添加https,这对ytkah来说是轻车熟路了,但是后台稍微有点问题,点击分页出现错误,将鼠标移到下一页显示的链接是https://www.abc.com/w ...
- 第三章 linux常用的命令
安装笔记: 1 安装linux操作系统时,会默认创建一个超级管理员帐号:root 2 安装时,当进行到选择哪种类型的安装时,我们选择"使用所有空间"的类型 Linux概念性的东西 ...
- R语言排序 -- sort() order() rank()
order() 的返回值是对应“排名”元素所在向量中的位置.注意返回的不是元素本身,而是元素的位置. sort() 是直接对向量中的元素进行排序,返回的是排序后的元素组成的向量. rank() 是求秩 ...