k8s概念

93 阅读2分钟

master:K8S集群主节点,负责调度服务分发和集群管理

node:K8S集群工作节点,真正干活的

pod:k8s集群最进本的操作单元,可包含多个容器,一个pod里面的容器在同一个网络中

etcd:可信赖的键值对存储数据库,并持久化到磁盘上,API Server提供了操作etcd的封装接口API

echeduler:调度器,负责Pod在集群节点中的调度分配

api server:提供了资源对象的唯一操作入口,其他所有组件都必须通过它提供的API来操作资源数据

Controller Manager:集群内部的管理控制中心,其主要目的是实现Kubernetes集群的故障检测和恢复的自动化工作,比如根据RC的定义完成Pod的复制或移除,以确保Pod实例数符合RC副本的定义;根据Service与Pod的管理关系,完成服务的Endpoints对象的创建和更新;其他诸如Node的发现、管理和状态监控、死亡容器所占磁盘空间及本地缓存的镜像文件的清理等工作也是由Controller Manager完成的

kubelet:负责本Node节点上的Pod的创建、修改、监控、删除等全生命周期管理,同时Kubelet定时“上报”本Node的状态信息到API Server里

Proxy:负责写入规则至IPTABLES、IPVS实现服务映射访问,实现了Service的代理与软件模式的负载均衡器

coredns:可以为集群中的SVC创建一个域名IP的对应关系解析(A记录)

igress:官方只能实现四层代理,igress可以实现七层代理

控制器:

deployment:适合无状态的服务部署

StatefullSet:适合有状态的服务部署

DaemonSet:一次部署,所有的node节点都会部署,例如一些典型的应用场景:

  • 运行集群存储 daemon,例如在每个Node上运行 glusterd、ceph
  • 在每个Node上运行日志收集 daemon,例如 fluentd、 logstash
  • 在每个Node上运行监控 daemon,例如 Prometheus Node Exporter

Job:一次性的执行任务

Cronjob:周期性的执行任务

![](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d43b436f543240e293fd4d44361b56ee~tplv-k3u1fbpfcp-zoom-1.image)