
文章插图
Pod 在 Kubernetes 内互相访问,外网访问 Pod
另外,作为资源监控 Kubernetes 在每个 Node 和容器上都运行了 cAdvisor 。它是用来分析资源使用率和性能的工具,支持 Docker 容器 。
kubelet 通过 cAdvisor 获取其所在 Node 及容器(Docker)的数据 。cAdvisor 自动采集 CPU、内存、文件系统和网络使用的统计信息 。
kubelet 作为 Node 的管理者,把 cAdvisor 采集上来的数据通过 RESTAPI 的形式暴露给 Kubernetes 的其他资源,让他们知道 Node/Pod 中的资源使用情况 。
总结
由于微服务的迅猛发展,Kubernetes 作为微服务治理平台被广泛应用 。由于其发展时间长,包含服务功能多我们无法一一列出 。
因此,从一个简单的创建应用副本的例子入手,介绍了各个重要组件的概念和基本原理 。
Kubernetes 是用来管理容器集群的,Master 作为管理者,包括 APIServer,Scheduler,Controller Manager 。
Node作为副本部署的载体,包含多个 Pod,每个 Pod 又包含多个容器(container) 。用户通过 kubectl 给 Master 中的 APIServer 下部署命令 。
命令主体是以“.yaml”结尾的配置文件,包含副本的类型,副本个数,名称,端口,模版等信息 。
APIServer 接受到请求以后,会分别进行以下操作:权限验证(包括特殊控制),取出需要创建的资源,保存副本信息到etcd 。
APIServer 和 Controller Manager,Scheduler 以及 kubelete 之间通过 List-Watch 方式通信(事件发送与监听) 。
Controller Manager 通过 etcd 获取需要创建资源的副本数,交由 Scheduler 进行策略分析 。
最后 kubelet 负责最终的 Pod 创建和容器加载 。部署好容器以后,通过 Service 进行访问,通过 cAdvisor 监控资源 。
作者:崔皓
简介:十六年开发和架构经验,曾担任过惠普武汉交付中心技术专家,需求分析师,项目经理,后在创业公司担任技术/产品经理 。善于学习,乐于分享 。目前专注于技术架构与研发管理 。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】
推荐阅读
- 亲戚住院给500合适吗 女朋友亲戚生病了我应该去看望吗
- 抖音里照片一张一张翻怎么做 抖音ABCDEFG送你张我的ep哪首歌里的
- 有小伙伴说看不懂 LiveData、Flow、Channel,跟我走
- PHP有哪些框架?
- 你想靠创作不上班吗?你想在头条实现财富自由吗?我来告诉你真相
- 淘宝开店如何进货 开淘宝网店如何进货
- 淘宝店铺违规扣分罚款对店铺有影响吗
- 你是我的城池营垒2话本小说 你是我的城池营垒有小说吗
- 我的同桌作文 我的同桌400字
- PDC钻头各个部位!
