快捷搜索: 王者荣耀 脱发

Kubernetes (k8s) 图解入门

Kubernetes是什么 功能 特点 容器集群管理系统 对计算资源进行了更高层次的 抽象,减轻应用程序在云上运行的负担 快速部署应用 快速扩展应用 无缝对接新的应用功能 节省资源,优化硬件资源的使用 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud),因为 容器与底层设施、机器文件系统解耦的 可扩展: 模块化, 插件化, 可挂载, 可组合 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展 开发和运行相分离 开发,测试和生产环境一致性 Loosely coupled,分布式,弹性,微服务化: 应用程序分为更小的、独立的部件,可以动态部署和管理。 资源隔离 资源利用更高效
Kubernetes设计架构 图示 Kubernetes 定义了 deployment、pod、service、volume 等。 Kubernetes主要由以下几个核心组件组成: etcd保存了整个集群的状态; apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制; controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等; scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上; kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理; Container runtime如Docker负责镜像管理以及Pod和容器的真正运行(CRI); kube-proxy负责为Service提供cluster内部的服务发现和负载均衡 除了核心组件,还有一些推荐的Add-ons: kube-dns负责为整个集群提供DNS服务 Ingress Controller为服务提供外网入口 Heapster提供资源监控 Dashboard提供GUI Federation提供跨可用区的集群 Fluentd-elasticsearch提供集群日志采集、存储与查询

思维导图参考

思维导图参考
Pod 图示 Kubecfg将特定的请求,比如创建Pod,发送给Kubernetes Client。 Kubernetes Client将请求发送给API server。 REST Storage API对的请求作相应的处理。 将处理的结果存入高可用键值存储系统Etcd中。 在API Server响应Kubecfg的请求后,Scheduler会根据Kubernetes Client获取集群中运行Pod及Minion/Node信息。 依据从Kubernetes Client获取的信息,Scheduler将未分发的Pod分发到可用的Minion/Node节点上。
经验分享 程序员 微信小程序 职场和发展