1.有了Docker 为什么还要使用Kubernetes?
为了提高业务并发和高可用,会使用多台服务器,因此会遇到以下问题:
1.多容器跨主机提供服务
2.多容器分布节点部署
3.多容器怎么升级
4.如何高效管理这些容器
Kubernetes 可以解决以上问题
2. Kubernetes 是什么?
Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。
Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。
Kubernetes 用于容器化应用的部署、扩展和管理,目标是让部署容器化应用简单高效
官方网站:https://kubernetes.io
官方文档:https://kubernetes.io/zh/docs/home
3. Kubernetes 集群架构与组件
Master 是 Cluster 的大脑,它的主要职责是调度,即决定将应用放在哪里运行,实现高可用,可以运行多个 Master。
Master 组件
Kubernetes API Server(kube-apiserver),集群的统一入口,各组件协调者,以RESTful API提供接口服务,所有对象资源的增删改查和监听操作都交给APIServer处理后再提交给Etcd存储。
Kubernetes Controller Manager,处理集群中常规后台任务,一个资源对应一个控制器,而ControllerManager就是负责管理这些控制器的。
Kubernetes Scheduler,根据调度算法为新创建的Pod选择一个Node节点,可以任意部署,可以部署在同一个节点上,也可以部署在不同的节点上。
etcd Server,分布式键值存储系统。用于保存集群状态数据,比如Pod、Service等对象信息
Node 的职责是运行容器应用。Node 由 Master 管理,Node 负责监控并汇报容器的状态,并根据 Master 的要求管理容器的生命周期。
kubelet:是Master在Node节点上的Agent,管理本机运行容器的生命周期,比如创建容器、Pod挂载数据卷、下载secret、获取容器和节点状态等工作。kubelet将每个Pod转换成一组容器。
kube-proxy:在Node节点上实现Pod网络代理,维护网络规则和四层负载均衡工作。
第三方容器引擎:例如 Docker、containerd、podman引擎,负责本机的容器创建和管理工作。
上次更新时间 3 7 月, 2023 at 05:55 下午