ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

k8s——2.Pod概念

2021-11-20 11:34:37  阅读:191  来源: 互联网

标签:Node 容器 ReplicaSet RS 概念 Deployment Pod k8s


Pod的分类:自主式Pod和控制器管理的Pod

pod的特点:

1.一个pod中可以由多个容器,但是只要运行pod,一个叫pause的容器就会被启动

2.pod中的其他容器可以共享pause这个容器的网络站和存储,也代表在同一个pod里,容器的端口不能冲突

 

控制器管理的Pod

多种控制器介绍:

①RelicationController:用来确保容器应用的副本数始终保持在用户定义的副本数,即如果有容器异常退出,会自动创建新的Pod来替代;而如果异常多出来的容器也会自动吸收。

在新版本的kubenetes中建议使用ReplicaSet来取代RelicationController

②ReplicaSet:跟RelicationController没有本质的不同,只是名字不一样,并且ReplicaSet支持集合式的selector(因为创建Pod时,会被打标签),但是RS不支持滚动更新,Deployment支持,并且还可以回滚

③Deployment:虽然ReplicaSet可以独立使用,但是一般建议使用Deployment来自动管理ReplicaSet,这样就无需担心跟其他机制的不兼容问题(比如ReplicaSet不支持rolling-update,但Deployment支持),

Deployment创建时,会去创建一个RS,当滚动更新后,会有一个新的RS,老的RS就会停用,但是回滚时,老的RS会重新启用

 

 

HPA:仅适用于Deployment和ReplicaSet,在V1版本中仅支持根据Pod的CPU利用率扩容,在vlalpha版本中,支持根据内存和用户自定义的metric扩缩容

下图意思是,HPA会去监控Pod的资源利用率,当利用率大于80%时,会去新建新的Pod,直到达到最大值,当新建到第三个时,利用率达不到80%了,就不会去新建了

 

 

StatefulSet:是为了解决有状态服务的问题(对应Deployment和ReplicaSet是为无状态服务而设计),其应用场景包括:

 ①稳定的持久化储存,即Pod重新调度后还是能访问到相同的持久化数据,基于PVC来实现

 ②稳定的网络标志,即Pod重新调度后其Podname和Hostname不变,基于Headless Service来(即没有Cluster IP 的Service)实现

 ③有序部署,有序扩展,即Pod是有顺序的,在部署或者扩展的时候要依据定义的顺序依次进行(即从0到N-1,在下一个Pod运行之前的Pod都必须是Running和Ready状态),基于init containers实现

 ④有序收缩,有序删除(即从N-1到0)

 

DaemonSet:确保全部(或者一些)Node上运行一个Pod的副本,当有Node加入集群时,也会为它们新增一个Pod,当有Node从集群移除时,这些Pod也会被回收,删除DaemonSet将会删除它创建的所有Pod

使用DaemonSet的一些典型用法:

①运行集群存储daemon,例如在每个Node上运行glusterd,ceph

②在每个Node上运行日志收集daemon,例如fluentd,logstash

③在每个Node上运行监控daemon,例如Prometheus,Node Exporter

 

Job:是负责批处理任务,即仅执行一次的任务,它保证批处理任务的一个或者多个Pod成功结束

Cron Job管理基于时间的的Job,即:在给定时间点只运行一次 

                 周期性的在给定时间点运行

 

 

服务发现

service收集Pod是通过标签去选择到的,service有自己的一个IP+端口,那个客户端就能访问到service,间接访问到这些Pod,并且有个轮询机制

 

 

 

 

标签:Node,容器,ReplicaSet,RS,概念,Deployment,Pod,k8s
来源: https://www.cnblogs.com/zhaobobo001/p/15580505.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有