基于Google云原生工程师的kubernetes最佳实践(三)

目录

三、集群管理

利用node affinity、taint等机制管理node

通过pod affinity/anti-affinity机制将pod分配到合适的node

Node分级管理

从Qos角度将Pod分级

用namespace隔离不同的环境和用户

配置RBAC权限控制

1. 遵循最小权限原则

2. 使用 Role 和 ClusterRole 分离权限

3. 利用 RoleBinding 和 ClusterRoleBinding 绑定角色

 Google云原生工程师最佳实践指南下载


三、集群管理


利用node affinity、taint等机制管理node

        Kubernetes提供了节点亲和性和污点等机制,可以更好地控制Pod在节点上的分布。node affinity允许基于节点的标签属性来约束pod可以调度到哪些节点,常用于将特定工作负载分配到具有特定硬件/软件配置的节点。而taint则用于将节点标记为专用,只有配置了相应容忍度(toleration)的pod才能调度到这些专用节点上,适合用于节点隔离。利用这些机制,可以更合理高效地利用集群资源。


通过pod affinity/anti-affinity机制将pod分配到合适的node

        除了调度pod到合适的节点外,Kubernetes还支持通过pod亲和性和反亲和性规则来影响pod与pod之间的调度关系。pod亲和性可以将新pod调度到同一拓扑域(如节点、可用区等)的现有pod附近,常用于实现pod集群化部署;而pod反亲和性则防止新pod与指定pod部署在同一拓扑域,避免单点故障。合理利用这些规则,可以提高应用可靠性和局部性能。

Node分级管理

通过给 Node 打标签来对节点进行分级管理,可以根据资源类型(如 CPU、内存、GPU)或用途(如生产、测试)对节点进行分类。

从Qos角度将Pod分级

根据QoS 策略将Pod分为核心应用(Guaranteed)、重要应用(Burstable)、边缘应用(BestEffort)

QoS 策略

  • Guaranteed: 所有容器的 requests 和 limits 应相等,确保 Pod 获得预留资源。
  • Burstable: 适用于需要一定程度资源弹性的 Pod,允许 Pod 在高峰期使用更多资源。
  • BestEffort: 适合非关键任务的 Pod,无固定资源预留,最低调度优先级。


用namespace隔离不同的环境和用户


配置RBAC权限控制

        在 Kubernetes 中,基于角色的访问控制(RBAC)是一种重要的安全机制,用于限制对集群资源的访问和操作权限。正确配置 RBAC 权限不仅有助于保护集群安全,还能确保用户和应用只能访问它们所需的最少资源,遵循最小权限原则

1. 遵循最小权限原则

为用户和服务帐户分配尽可能少的权限,只授予完成任务所必需的权限。这有助于减少潜在的安全风险和错误配置,尽量不要使用default serviceaccount

2. 使用 Role 和 ClusterRole 分离权限

  • Role 用于命名空间级别的权限控制。
  • ClusterRole 用于集群范围内的资源和非资源端点的权限控制。

3. 利用 RoleBinding 和 ClusterRoleBinding 绑定角色

  • RoleBinding 将 Role 与特定的用户、组或服务帐户在命名空间级别关联起来。
  • ClusterRoleBinding 将 ClusterRole 与用户、组或服务帐户在全集群级别关联起来。

 Google云原生工程师最佳实践指南下载

Kubernetes_Best_Practices.pdficon-default.png?t=N7T8https://c74p900o8m.feishu.cn/docx/S84ddjQg2oQRpMxxOykcdP8Snsc

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-25 06:08:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-25 06:08:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-25 06:08:01       82 阅读
  4. Python语言-面向对象

    2024-03-25 06:08:01       91 阅读

热门阅读

  1. 在odoo中以超级用户访问记录集

    2024-03-25 06:08:01       46 阅读
  2. python蓝桥杯-算法训练 印章、拿金币、数字游戏

    2024-03-25 06:08:01       38 阅读
  3. 单例模式

    2024-03-25 06:08:01       39 阅读
  4. C#的自述

    2024-03-25 06:08:01       37 阅读
  5. webvirtcloud:kvm虚拟化管理平台

    2024-03-25 06:08:01       41 阅读
  6. 深入剖析Hadoop面试题(75个问题,1.5万字)

    2024-03-25 06:08:01       36 阅读
  7. 【CSP试题回顾】202209-2-何以包邮?(优化)

    2024-03-25 06:08:01       36 阅读
  8. 探讨大数据、云计算与物联网的融合与发展

    2024-03-25 06:08:01       40 阅读
  9. 宝塔面板安装sqlite

    2024-03-25 06:08:01       45 阅读
  10. hadoop fs -test的相关命令

    2024-03-25 06:08:01       38 阅读
  11. 内存泄露?什么是ThreadLocal

    2024-03-25 06:08:01       48 阅读
  12. Django——forms组件

    2024-03-25 06:08:01       41 阅读
  13. MyBatis

    MyBatis

    2024-03-25 06:08:01      37 阅读
  14. 华为od真题2023-C卷-三叉搜索树

    2024-03-25 06:08:01       42 阅读