03|理解K8s的架构和资源对象
王雪飞
你好,我是雪飞。
上一讲我带你动手搭建了一套 K8s 集群,你在搭建过程中是不是感觉有点难?没关系,这是很正常的。你会发现,明明是按照文档一步步执行,总是有报错。这种情况,建议你在搭建的时候,仔细阅读文档,执行过程中注意规范操作,避免小错误。最好要明白每一步操作的目的,多试几次就一定能成功。我还记得当时我第一次搭建成功那一刻真是非常激动,这就是一个程序员的小快乐吧,相信你也能体会到这种快乐!
今天这节课我们就来深入学习 K8s 的各种组件和资源对象,并动手在 K8s 环境部署一个 Nginx 的应用。你会发现 K8s 架构设计非常灵活高效,提供的资源对象也是非常丰富,能够满足各种各样的部署需求。
K8s 组件
K8s 由管理节点和工作节点组成,因为它们所承担的工作内容不一样,所以这两个节点上安装着不同的 K8s 组件。管理节点安装承担调度和管理相关的组件,而工作节点自然就是安装具体执行的组件了。下面我们分别介绍这两种节点上的组件。
管理节点(Master Node)
管理节点是 K8s 集群的“大脑”,负责管理整个集群。管理节点上运行的核心组件包括:
API server:它是整个 K8s 集群的唯一访问入口,它对外开放了一套 RESTful API 接口,要访问 K8s 里的资源对象就需要调用 API server 提供的接口。资源对象是 K8s 提供的用于实现各种管理和部署需求的“工具包”。K8s 内部的各个组件之间不能直接互相调用,也需要调用 API server 的接口来完成自己需要的工作。就连我们使用的 kubectl 命令交互工具也是通过调用 API server 的接口来操作集群。
Scheduler:它负责对集群内部的资源对象进行调度,相当于调度员的角色。K8s 中管理的最小资源对象是 Pod,Pod 相当于一个容器组,里面包含了多个容器,当 K8s 接到一个 Pod 对象的部署任务,Scheduler 就会根据调度策略来决定这个 Pod 应该运行在哪些节点上。
Controller Manager:它是 K8s 的管理中心,它包含的 Controller 控制器和 K8s 的资源对象一一对应,负责集群内资源对象的管理,它保障资源对象维持在预期的工作状态。
etcd:它是一个键值对存储组件,相当于整个 K8s 集群组件共享的数据库,用于保存集群的所有配置数据,包含集群中当前的资源对象、状态数据、统计数据等。Etcd 中存储的数据通常需要做备份,如果集群出现问题可以使用备份数据恢复所有资源对象和工作状态。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
1. K8s的架构由管理节点和工作节点组成,增强了灵活性和扩展性,有效支持大规模和动态变化的云原生应用部署需求。 2. K8s的资源对象是K8s提供的用于实现各种管理和部署需求的“工具包”,核心组件之间不能直接互相调用,需要调用API server的接口来完成操作。 3. K8s的Dashboard提供了一个可视化界面,让用户可以轻松地管理和监控集群中的资源对象。 4. K8s的资源对象是K8s中的核心概念,通过K8s的API进行定义和管理,包括Pod、Job、CronJob、DaemonSet、Deployment、StatefulSet、Service、Ingress、PV、PVC、ConfigMap和Secret等。 5. K8s提供了丰富的资源对象,用于灵活地部署和管理应用,方便地使用网络和存储。 6. 在K8s集群中部署应用可以通过命令行工具kubectl直接执行命令部署,或者使用YAML或JSON格式的配置文件部署。 7. K8s的资源对象的熟练使用是学习K8s的关键,后续的课程中会陆续介绍这些资源对象的使用方法。 8. 在K8s集群中部署应用时,需要设置Service的类型为NodePort,以便通过任意集群节点服务器的公网IP和NodePort端口号来访问应用。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《零基础拿下云原生 CKA 认证》,新⼈⾸单¥59
《零基础拿下云原生 CKA 认证》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论