任务
安装工具
管理集群
管理集群
用 kubeadm 进行管理
管理内存,CPU 和 API 资源
Install a Network Policy Provider
Debug DNS 方案
Enabling Service Topology (EN)
IP Masquerade Agent 用户指南
Kubernetes 云管理控制器
Safely Drain a Node while Respecting the PodDisruptionBudget (EN)
为 Kubernetes 运行 etcd 集群
为系统守护进程预留计算资源
为节点发布扩展资源
使用 CoreDNS 进行服务发现
使用 KMS 提供商进行数据加密
使用 Kubernetes API 访问集群
关键插件 Pod 的调度保证
启用端点切片
命名空间演练
在 Kubernetes 集群中使用 NodeLocal DNSCache
在 Kubernetes 集群中使用 sysctl
在实时集群上重新配置节点的 Kubelet
声明网络策略
开发云控制器管理器
控制节点上的 CPU 管理策略
控制节点上的拓扑管理策略
搭建高可用的 Kubernetes Masters
改变默认 StorageClass
更改 PersistentVolume 的回收策略
自定义 DNS 服务
访问集群上运行的服务
通过命名空间共享集群
通过配置文件设置 Kubelet 参数
配置 API 对象配额
配置多个调度器
配置资源不足时的处理方式
限制存储消耗
集群 DNS 服务自动伸缩
集群安全
集群管理
静态加密 Secret 数据
配置 Pods 和容器
配置 Pods 和容器
为容器和 Pod 分配内存资源
Assign CPU Resources to Containers and Pods
Configure GMSA for Windows Pods and containers (EN)
为 Windows 的 pod 和容器配置 RunAsUserName
配置 Pod 的服务质量
为容器分派扩展资源
配置 Pod 以使用卷进行存储
配置 Pod 以使用 PersistentVolume 作为存储
配置 Pod 使用投射卷作存储
Configure a Security Context for a Pod or Container (EN)
为 Pod 配置服务账户
从私有仓库拉取镜像
配置存活、就绪和启动探测器
将 Pod 分配给节点
配置 Pod 初始化
为容器的生命周期事件设置处理函数
使用 ConfigMap 配置 Pod
在 Pod 中的容器之间共享进程命名空间
创建静态 Pod
将 Docker Compose 文件转换为 Kubernetes 资源
管理 Kubernetes 对象
给应用注入数据
运行应用
访问集群中的应用程序
监控、日志和排错
扩展 Kubernetes
联邦 - 在多个集群上运行一个应用
用插件扩展 kubectl
管理巨页(HugePages)
调度 GPUs
管理巨页(HugePages)
FEATURE STATE:
Kubernetes v1.17
稳定作为 GA 特性,Kubernetes 支持在 Pod 应用中使用预先分配的巨页。本文描述了用户如何使用巨页,以及当前的限制。
准备开始
- 为了使节点能够上报巨页容量,Kubernetes 节点必须预先分配巨页。每个节点只能预先分配一种特定规格的巨页。
节点会自动发现全部巨页资源,并作为可供调度的资源进行上报。
API
用户可以通过在容器级别的资源需求中使用资源名称 hugepages-<size>
来使用巨页,其中的 size 是特定节点上支持的以整数值表示的最小二进制单位。 例如,如果节点支持 2048KiB 的页面规格, 它将暴露可供调度的资源 hugepages-2Mi
。 与 CPU 或内存不同,巨页不支持过量使用(overcommit)。
注意,在请求巨页资源时,还必须请求内存或 CPU 资源。
apiVersion: v1
kind: Pod
metadata:
generateName: hugepages-volume-
spec:
containers:
- image: fedora:latest
command:
- sleep
- inf
name: example
volumeMounts:
- mountPath: /hugepages
name: hugepage
resources:
limits:
hugepages-2Mi: 100Mi
memory: 100Mi
requests:
memory: 100Mi
volumes:
- name: hugepage
emptyDir:
medium: HugePages
- 巨页的资源请求值必须等于其限制值。该条件在指定了资源限制,而没有指定请求的情况下默认成立。
- 巨页是被隔离在 pod 作用域的,计划在将来的迭代中实现容器级别的隔离。
- 巨页可用于 EmptyDir 卷,不过 EmptyDir 卷所使用的巨页数量不能够超出 Pod 请求的巨页数量。
- 通过带有
SHM_HUGETLB
的shmget()
使用巨页的应用,必须运行在一个与proc/sys/vm/hugetlb_shm_group
匹配的补充组下。 - 通过 ResourceQuota 资源,可以使用
hugepages-<size>
标记控制每个命名空间下的巨页使用量, 类似于使用cpu
或memory
来控制其他计算资源。
待实现的特性
- 在 pod 级别隔离的基础上,支持巨页在容器级别的隔离。
- 作为服务质量特性,保证巨页的 NUMA 局部性。
- 支持 LimitRange 。
反馈
此页是否对您有帮助?
感谢反馈。如果您有一个关于如何使用 Kubernetes 的特定的、需要答案的问题,可以访问 Stack Overflow. 在 GitHub 仓库上登记新的问题 报告问题 或者 提出改进建议.