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内存。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐