kubernetes简介 |
kubernetes设计架构:kubernetes设计架构
kubernetes的核心组件
①etcd
保存了整个集群的状态
②apiserver
提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制,即为api对象验证并配置数据
③controller manager
负责维护集群的状态,比如故障检测、自动扩展、滚动更新等
④scheduler
负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上,即pod的调度策略
⑤kubelet
负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理
⑥Container runtime
负责镜像管理以及Pod和容器的真正运行(CRI)
⑦kube-proxy
负责为Service提供cluster内部的服务发现和负载均衡
kubernetes的分层架构
核心层:Kubernetes最核心的功能,对外提供API构建高层的应用,对内提供插件式应用执行环境
应用层:部署(无状态应用、有状态应用
、批处理任务、集群应用等)和路由(服务发现、DNS解析
等)
管理层:系统度量(如基础设施、容器和网络的度量),自动化(如自动扩展、动态Provision等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy等)
接口层:kubectl命令行工具、客户端SDK以及集群联邦
生态系统:在接口层之上的庞大容器集群管理调度的生态系统,可以划分为两个范畴
- Kubernetes外部:日志、监控、配置管理、CI、CD、Workflow、FaaS、OTS应用、ChatOps等
- Kubernetes内部:CRI、CNI、CVI、镜像仓库、Cloud Provider、集群自身的配置和管理等
kubernetes的核心优势
①基于 yaml 文件实现容器的自动创建、删除
②更快速实现业务的弹性横向扩容
③动态发现新扩容的容器并对自动用户提供访问
④更简单、更快速的实现业务代码升级和回滚
kubernetes的核心功能
①可以创建容器
②可以对容器进行自动编排
③可以自动对代码进行升级和回滚
④可以做端口映射和并能访问