K8s知识汇总(5)
Node Affinity(节点亲和性)是Kubernetes调度机制,用于控制Pod调度到哪些节点。它是 Pod 的一种属性,它使 Pod 被吸引到一类特定的节点(可能出于一种偏好或者业务的硬性要求)。preferredDuringSchedulingIgnoredDuringExecution:软性要求,优先选择满足条件的节点,但允许调度到其他节点。Taint(污点)是应用于节点的标记,防止P
41. 什么是PVC,如何使用它
PersistentVolumeClaim (PVC)是用户对存储资源的请求,允许Pod动态绑定到PV。可以申领PV存储资源,PVC和PV两个类似于卷和卷组的关系。它可以根据请求的存储大小、访问模式等自动匹配PV,并且支持动态供给(StorageClass)。
使用步骤:
创建PVC,指定存储需求(大小、访问模式等)。
Kubernetes匹配符合条件的PV或动态创建PV。
在Pod中通过volume引用PVC。
42. PV有哪几种访问模式,详细说明
43. PV的回收策略
44. 如何将特定Pod调度到指定的节点
1. NodeName:直接指定Pod运行的节点名称(简单但不灵活)。
示例:
spec:
nodeName: node-1
2. NodeSelector:通过节点标签匹配Pod。
示例:
spec:
nodeSelector:
disktype: ssd
3.Node Affinity:节点亲和性。提供更灵活的节点选择规则(如优先级、硬性/软性要求)。
示例:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: disktype
operator: In
values:
- ssd
4.Taints和Tolerations:通过节点污点和Pod容忍度控制调度。
45. 什么是节点的亲和性
Node Affinity(节点亲和性)是Kubernetes调度机制,用于控制Pod调度到哪些节点。它是 Pod 的一种属性,它使 Pod 被吸引到一类特定的节点(可能出于一种偏好或者业务的硬性要求)。支持以下类型:
requiredDuringSchedulingIgnoredDuringExecution:硬性要求,Pod必须调度到满足条件的节点。
preferredDuringSchedulingIgnoredDuringExecution:软性要求,优先选择满足条件的节点,但允许调度到其他节点。
46. 什么是污点,它的主要用途是什么
Taint(污点)是应用于节点的标记,防止Pod被调度到该节点,污点(Taint)则相反,它使节点能够排斥一类特定的 Pod。
主要用途:
限制特定节点的使用(如专用节点只运行特定工作负载)。
隔离故障或特殊节点(如低性能硬件)。
实现Pod的优先级控制。
污点效果:
NoSchedule:没有容忍度的Pod不能调度到该节点。
PreferNoSchedule:尽量避免调度,但允许在资源不足时调度。
NoExecute:驱逐已有Pod,且新Pod无法调度。
47. ConfigMap的作用
很多应用在其初始化或运行期间要依赖一些配置信息。多数时候,存在要调整配置参数所设置的数值的需求。
ConfigMap 是 Kubernetes 的一种机制,可以将配置数据注入到应用的 Pod 内部。ConfigMap 允许将配置清单与镜像内容分离,以保持容器化的应用程序的可移植性。
48. Secret和ConfigMap相比较有哪些优点
Secret用于存储敏感数据(如密码、API密钥),与ConfigMap相比有以下优点:
安全性:Secret以Base64编码存储(可结合加密机制),比ConfigMap的明文更安全。
访问控制:Secret支持更严格的RBAC权限控制。
敏感数据隔离:专为敏感数据设计,降低泄露风险。
集成性:支持与外部密钥管理系统集成(如Vault)。
49. ResourceQuota的作用
ResourceQuota用于限制命名空间内资源的使用,防止资源滥用或超配。
作用:
限制CPU、内存、存储等资源的总使用量。
限制对象数量(如Pod、Service数量)。
实现多租户环境下的资源隔离。
提高集群资源利用效率。
此配置限制命名空间内最多10个Pod,总CPU请求4核、内存8Gi,限制8核CPU和16Gi内存。
更多推荐
所有评论(0)