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

相关推荐
U***e637 小时前
PHP在微服务中的Mezzio
微服务·云原生·架构
间彧7 小时前
Kubernetes滚动发布详解
kubernetes
间彧8 小时前
在实际生产环境中,Kubernetes声明式API如何实现蓝绿部署、金丝雀发布等高级部署策略?
kubernetes
间彧8 小时前
Kubernetes声明式API相比传统命令式API在故障恢复场景下的具体优势有哪些?
kubernetes·github
间彧8 小时前
为什么说Kubernetes的API设计是其成功的关键因素之一?
kubernetes
间彧8 小时前
Kubernetes Deployment 配置简化实战:从复杂到高效
kubernetes
u***u68510 小时前
Vue云原生
前端·vue.js·云原生
可爱的小小小狼12 小时前
k8s:服务网格Service Mesh(服务网格)istio和envoy
kubernetes·istio·service_mesh
gggg远13 小时前
docker详解
运维·docker·容器
ALex_zry15 小时前
Consul全方位入门指南:第二阶段—— 实操。Consul核心功能与项目集成
运维·docker·微服务·云原生·架构