【Kubernetes】知识点总结6

发布于:2025-09-07 ⋅ 阅读:(16) ⋅ 点赞:(0)

59. 什么是CRD,它对K8s有什么重要意义?

答:CRD是K8s提供的一种扩展机制,允许用户通过自定义资源来创建自己的资源类型(就像Pod、Deployment、Service等资源),从而扩展K8s的API功能。

CRD扩展了K8s能力,使K8s不仅仅局限于原生的资源和功能,让K8s能管理和编排业务专属资源(如数据库实例、AI模型、网站托管等);使用户自定义的资源可通过K8s API、kubectl命令行、UI工具(如Dashboard)进行统一操作,降低管理复杂度;用户可结合自定义控制器(Controller)来实现自定义资源的自动化运维,如自动扩缩容等。大大提高了资源管理的灵活性。

60. CRD 的典型应用场景有哪些,举例说明。

答:典型应用场景:1、机器学习工作流管理,将机器学习训练、推理、模型管理等流程定义为K8s资源,实现端到端自动化。

2、CI/CD流水线定义;将代码构建、测试、部署的流水线逻辑定义为 K8s 资源,如定义Pipeline类型的CRD,通过控制器监听Pipeline资源变化,自动创建Pod执行各阶段任务,并将状态同步至CRD实例;

3、数据库即服务(DBaaS);将数据库实例的创建、扩缩容、备份、升级等操作抽象为 K8s 资源,用户只需执行一个yaml文件即可创建数据库,无需手动操作底层资源。

4、特定领域应用管理。如在物联网领域中,定义DeviceControllerCRD,包含设备连接协议(MQTT/CoAP)、数据采集频率、离线阈值等字段。控制器通过CRD配置自动创建边缘代理Pod,连接物联网设备、接收数据并转发至云端,同时在CRD状态中记录设备在线率、数据延迟等指标,实现物联网设备的K8s化管理。

61. 结合教材,解释CRD的完整创建和使用过程。

答:1)首先创建一个YAML文件来定义CRD;其中包含group:定义AP组,通常使用域名格式。versions:定义资源的版本。scope:定义资源的作用域,可以是Namespaced或Cluster。names:定义资源的名称、复数形式、单数形式和简称。

2)用kubectl apply -f 来创建1中定义的CRD;

3)创建并查看CR实例;

62. Gateway API有哪几个核心组件,分别有哪些作用?

答:1)GatewayClass:定义一组具有配置相同的网关,由实现该类的控制器管理。

2)Gateway:定义流量处理基础设施(例如云负载均衡器)的一个实例。

3)HTTPRoute:定义特定于 HTTP 的规则,用于将来自网关监听器的流量映射到后端网络端点的表示形式。这些端点通常表示为一个服务(Service)。

63. 说明PriorityClass是在解决K8s资源争用时的调度决策原理。

答:PriorityClass 通过数值优先级和抢占机制定义Pod的相对重要性(值的通常范围为0-10,000,000),当集群资源不足时,PriorityClass决定哪些Pod应该优先获得资源,并且高优先级Pod可以抢占低优先级Pod的资源。它是是非命名空间资源,是在集群级别定义的,在所有命名空间可见。它不能保证高优先级Pod一定能获得资源。

64. HPA是如何在K8s集群中实现自动扩缩容机制的?

答:HPA 通过 Metrics Server 等组件收集 Pod 的CPU、内存等指标,并根据当前指标值和目标值计算所需 Pod 数量,之后通过 Deployment 或 ReplicaSet 调整 Pod 副本数量,并在达到目标后持续监控指标,确保 Pod 数量始终满足需求。

65. 请谈谈Argo CD的核心架构组件有哪些,分别做简要说明。

答:1. Argo CD API Server:

-提供 RESTful API,用于与 Argo CD 交互。

-处理用户请求(如创建、更新、删除应用)。

-与 Kubernetes API 交互,管理集群资源。

2. Repository Server:

-负责从 Git 仓库中拉取配置(如 Helm Chart、Kustomize 配置)。

-将配置渲染为 Kubernetes 资源。

3. Application Controller:

-持续监控 Git 仓库和 Kubernetes 集群的状态。

-确保集群中的资源与 Git 中的期望状态一致。

-执行同步操作(Sync)和修复操作(Self-Healing)。

4. Redis:-用于缓存数据,提高性能。

5. User Interface (UI):

-提供 Web 界面,方便用户查看应用状态、执行操作。

-支持可视化展示应用的部署状态、健康状态和同步状态。

-执行同步操作(Sync)和修复操作(Self-Healing)。


网站公告

今日签到

点亮在社区的每一天
去签到