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

相关推荐
Meta391 小时前
cenots8安装docker
docker·容器·centos
CAE虚拟与现实4 小时前
docker desktop中的build功能是要build什么
java·docker·容器
fb_123454 小时前
Docker入门-第1-2章-容器生态系统与架构详解
docker·容器·架构
allnlei6 小时前
s6-overlay - 装在 Docker 容器里的轻量级管家
java·docker·容器
一技安身11 小时前
【Docker】 镜像导出 & 导入,实验环境aarch64(arm64)Linux操作系统
linux·docker·容器
鹤落晴春16 小时前
【K8s】从 ConfigMap 到 Argo CD:Kubernetes 配置管理链路
运维·云原生·容器·kubernetes
汇智信科16 小时前
基于 Jmis 框架的制度与流程管控系统设计与应用|项目全生命周期管理
大数据·人工智能·微服务·云原生·汇智信科
名字还没想好☜20 小时前
Docker 镜像瘦身进阶:用 distroless/scratch 把 Go 服务打到 10MB,以及没 shell 怎么调试
运维·docker·容器·golang·kubernetes
JavaPub-rodert20 小时前
Docker 深入理解:从容器原理到生产环境最佳实践
运维·docker·容器
陈聪.21 小时前
Kubernetes 集群网络插件迁移:从 Flannel 到 Calico 实战总结
云原生·kubernetes