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

Gateway API核心思想是通过使用可扩展的、角色导向的、协议感知的配置机制来提供网络服务。包括以下几个核心组件:

  1. GatewayClass:定义一组具有配置相同的网关,由实现该类的控制器管理。
  2. Gateway:定义流量处理基础设施的一个实例,比如云负载均衡器。
  3. HTTPRoute:定义特定于HTTP的规则,用于将来自网关监听器的流量映射到后端网络端点的表示形式。这些端点通常表示为一个服务(Service)。

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

PriorityClass是K8s调度系统的"紧急程度标签",用于解决资源竞争时的调度决策问题,通过数值优先级和抢占机制定义Pod的相对重要性,PriorityClass不是配额机制,不能保证高优先级Pod一定能获得资源,当紧急任务需要资源时候,集群需要腾出资源,会优先终止低优先级的后台任务,如果资源仍然不足,可能会终止业务应用,绝对不会终止系统基础服务。

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

HPA根据资源使用情况动态调整Pod副本数量,确保应用能够应对负载的变化,高负载时自动扩容,低负载时自动缩容。HPA工作流程分为1.监控阶段:这个阶段定期从Kubelet收集所有Pod的CPU使用量,计算CPU利用率,2.决策阶段,根据计算出的指标与HPA中定义的比较,按照比例调整副本数,3.执行阶段,调用Deployment扩容,扩容无延迟,缩容默认等待5分钟。

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

Argo CD是一个基于GitOps理念的持续交付工具,专门用于在K8s环境中自动化应用程序的部署和管理,架构主要包括以下组件:

1.Argo CD API Server:提供RESTful API,用于与Argo CD交互,处理用户请求,与K8sAPI交互,管理集群资源。

2.Repository Server:负责从Git仓库中拉取配置,将配置渲染为K8s资源。

3.APplication Controller:持续监控Git仓库和K8s集群的状态,确保集群中的资源与Git中的期望一致,执行同步操作和修复操作。

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

5.User Interface:提供Web界面,方便用户查看应用状态、执行操作。

66.你是如何理解CI/CD流水线技术的,它对提升企业竞争力有什么作用?

CI/CD是持续集成与持续交付/持续部署的统称,是一套自动化的软件开发、测试、发布流水线体系,依托工具链与流程规范贯穿代码提交到线上运行的全链路。

CI/CD可以大幅度缩短产品交付周期,抢占市场先机,可以降低研发与运维成本,可以保障软件质量与系统稳定性,规范了研发流程,实现了标准化与规模化,支撑业务规模化发展。

更多推荐