《深入剖析Kubernetes - 09 从容器到容器云 谈谈Kubernetes的本质》
kubernetes主要解决问题:服务编排、节点管理、任务调度
kubernetes 节点角色:
(1) Master :apiserver(提供 API服务)、kube-scheduler(负责调度)、kube-controller-manager(负责容器编排)
(2) worknode:最核心的组件为kubelet,负责跟apiserver、容器运行时(如docker) 通信
kubernetes 推荐使用声明式API,通过API 对象做服务编排
(1) 多个pod 通过service做代理,代理pod的IP和端口等信息自动更新,提供统一入口(整个生命周期中,IP不会变)
(2) 最小的管理粒度是pod,pod是container的集合,一个pod可以包含多个container
(3) 配置通过configmap 管理,将目录或文件挂载到容器中
(4) 敏感文件,例如证书、密码文件等,通过secret 挂载
(5) 需要固定主机名,对进程启停顺序有要求,则可以通过statefulset 部署
(6) agent类进程,例如日志采集、监控进程等,每个宿主机都需要起一个服务的进程可以通过daemonset部署
(7) 定时执行任务通过 cronjob 执行
(8) 一次性执行任务通过job 完成
(9) 自动伸缩通过HPA 实现