更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号
分类: LINUX
2021-11-11 14:58:35
K8S是程序员进阶提升的首选课程,不仅Linux运维人员需要掌握它,也是开发人员应该掌握的一门技术。那么你知道K8S有哪两个分类吗?K8S核心组件是什么?如果这些你还不清楚,这篇文章一定要看。
K8S有哪两个分类?
1、自主式pod:自我管理的,创建以后,依然是提交给API server,由API server接收后借助Scheduler将其调度到指定的node节点,然后由node启动此节点后,如果有pod中容器出现问题了,需要重启容器,那是由Keepalived来完成,但是如果节点故障了,pod也就消失了,所以它有这样的坏处,没办法实现全局的调度,所有建议使用第二种pod。
2、控制器管理的pod:正是控制器这种机制的使用,使得在K8S上的集群设计中,pod完全就可以叫做有生命周期的对象,而后由调度器调度到集群中的某节点,运行以后,它的任务终止也就随着被删除掉,但是有一些任务,大家知道传统上有nginx、tomcat,它们是做为守护进程运行的,那么这种运行为pod容器的话,我们要确保它是时刻运行的,一旦出现故障我们要第一时间发现,要不重建取代它,要不重启,这种情况下pod控制器就可以观测并实现。
K8S核心组件是什么?
etcd:保存了整个集群的状态;
apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
controller manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
scheduler:负责资源的调度,按照预定的调度策略将pod调度到相应的机器上;
kubelet:负责维护容器的生命周期,同时也负责volume和网络的管理;
container runtime:负责镜像管理以及pod和容器的真正运行;
kube-proxy:负责为service提供cluster内部的服务发现和负载均衡。