【Kubernetes】知识点总结5

50. 解释ResourceQuota的作用。

**答:**资源配额可以对每个命名空间的资源消耗总量提供限制。它可以限制命名空间中某种类型对象的总的数目上限,也可以限制命名空间中的Pod可以使用的计算资源的总上限。来实现资源的合理分配。

51. 解释Service Account的用途。

**答:**为了方便Pod里面的进程调用 Kubernetes API 或其它外部服务而设计的。每个namespace都会自动创建一个default service account。用于为集群内运行的Pod或应用程序提供身份标识和访问权限的机制,专门用于服务间的身份验证和授权。

52. 详细解释Role和ClusterRole。

**答:**Role和ClusterRole是基于RBAC(角色的访问控制)机制的核心组件,其中包含一组代表相关权限的规则,用于定义 "允许执行哪些操作"。 Role总是用来在某个命名空间内设置访问权限,在创建Role时,必须指定该Role所属的命名空间。ClusterRole则是一个集群作用域的资源。这两种资源的名字不同(Role和ClusterRole)是因为Kubernetes对象要么是命名空间作用域的,要么是集群作用域的,不可两者兼具。如果希望在命名空间内定义角色,就应该使用 Role,如果希望定义集群范围的角色,则应该使用ClusterRole。

53. 什么是K8s的NetworkPolicy?

**答:**NetworkPolicy是一种用于定义Pod之间网络通信规则的资源对象,它基于策略对Pod的入站(Ingress)和出站(Egress)流量进行精细化控制,仅允许符合规则的流量在Pod之间或Pod与外部服务之间传输。比如希望针对 TCP、UDP 和 SCTP 协议在 IP 地址或端口层面控制网络流量,那么就可以考虑为集群中特定应用使用 Kubernetes 网络策略(NetworkPolicy)。NetworkPolicy是一种以应用为中心的结构,允许设置如何允许 Pod 与网络上的各类网络"实体"通信。NetworkPolicy 适用于一端或两端与 Pod 的连接,与其它连接无关。Pod 可以与之通信的实体是通过被允许的Pod、被允许的命名空间以及IP组块的组合来辩识的。

54. 详细描述在K8s中如何控制跨Namespace的Pod访问?

**答:**通过NetworkPolicy资源结合命名空间标签和Pod标签来实现。核心是利用namespaceSelector筛选目标Namespace,结合podSelector锁定具体Pod,并通过ingress规则定义允许的流量方向、端口和协议。从而精准控制跨Namespace流量的 "来源" 或"目标"。

55. 举例说明K8s中都有哪些常规的维护管理操作。

**答:**通过Metrics-server(监控组件)来监控节点资源使用率(CPU/内存/磁盘)、Pod状态(重启次数、就绪状态)。

比如设置告警规则,当节点磁盘使用率超过80%或70%、Pod重启次数异常或API Server不可用时,通过Alertmanager 发送告警(如邮件、Slack通知)。

56. 如何升级K8s到新的版本?在升级过程中应该注意哪些事项?

**答:**1)先确定要升级的版本;

2)禁止 Master节点接收新调度;

3)驱逐 Master节点上的现有任务;

4)安装指定版本的 kubeadm;

5)查看可升级的列表并升级集群;

6)升级 kubelet和 kubectl,首先要unhold(释放)kubelet和kubectl,然后升级;

7)恢复 Master节点的调度能力,包括hold kubelet和 kubectl,kubeadm,重载服务等。

注意事项:升级前需认真阅读官网发布的升级指南,版本升级需先升级控制平面再升级集群;避免跨多个版本升级,导致版本不兼容问题;升级前备份etcd存储的集群所有状态数据,以便升级失败时通过kubeadm upgrade undo回滚到上一版本;升级前需认真阅读官网发布的升级指南,版本升级需先升级控制平面再升级集群,最后验证是否成功升级到新版本。

57. 解释ETCD及其备份和恢复的过程。

**答:**备份:首先先安装etcd客户端,然后用etcdctl指定ETCD 服务的访问地址,CA根证书的路径,客户端访问ETCD的证书文件,与上述证书匹配的私钥文件,用快照备份,将备份数据保存到指定文件中。

恢复:首先停止服务用mv改名的方法将数据存储到另一个文件中,然后删除(mv)现有ETCD,并恢复数据,最后恢复服务并验证。

58. Kustomization在Kubernetes中的作用。

**答:**Kustomization是Kubernetes中用于管理资源配置文件的工具,它通过声明式的方式对Kubernetes资源进行定制和组合。实现了配置的复用、简化和集中管控,特别适合多环境部署场景。其核心作用是简化不同环境下Kubernetes资源配置的复用、定制和管理。

相关推荐
鹤落晴春4 小时前
【K8s】Pod调度、configMaps
云原生·容器·kubernetes
张忠琳5 小时前
【runc 1.4.2】(Part 2)runc 1.4.2 超深度分析 — CLI层:main.go、命令文件、runner、信号处理、TTY
云原生·kubernetes·runc
极客先躯6 小时前
高级java每日一道面试题-2026年02月02日-实战篇[Docker]-如何实现容器的持久化存储?
docker·容器·面试宝典·持久化·存储·韵味·java高级面试题
阿里云云原生7 小时前
AI 提效是“假象”还是“红利”?用 LoongSuite + SLS 构建组织级 AI 编码度量看板
云原生
极客先躯7 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java识堂8 小时前
如何对微服务进行拆分?
微服务·云原生·架构
某林2129 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
m0_738120729 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
Plastic garden10 小时前
K8s知识(3) Pod亲和性,调度
云原生·容器·kubernetes