【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资源配置的复用、定制和管理。

相关推荐
今晚务必早点睡5 小时前
从零到上线:Docker、Docker Compose 与 Runtime 安装部署全指南(含实战示例与应用场景)
运维·docker·容器
zyplanke7 小时前
Kubernetes(四):Service
云原生·容器·kubernetes·k8s
掘金-我是哪吒8 小时前
分布式微服务系统架构第169集:1万~10万QPS的查当前订单列表
分布式·微服务·云原生·架构·系统架构
attitude.x9 小时前
微服务架构的五大核心挑战与应对策略
微服务·云原生·架构
虚伪的空想家9 小时前
K8S删除命名空间卡住一直Terminating状态
云原生·容器·kubernetes·删除·卡顿·delete·命名空间
衍余未了11 小时前
k8s除了主server服务器可正常使用kubectl命令,其他节点不能使用原因,以及如何在其他k8s节点正常使用kubectl命令??
云原生·容器·kubernetes
Clownseven11 小时前
Mattermost教程:用Docker搭建自己的开源Slack替代品 (团队聊天)
docker·容器·开源
❀͜͡傀儡师11 小时前
Docker部署Drawnix开源白板工具
docker·容器·开源·drawnix
❀͜͡傀儡师11 小时前
Docker部署Lunalytics开源监控工具
docker·容器·开源·lunalytics