Kubernetes Notes
  • README
  • 序:Kubernetes之道
  • 搭建开发环境
    • 搭建本地开发测试环境
  • 基本概念
    • Workloads
      • StatefulSet
    • 认证鉴权
      • 理解证书
      • Kubelet配置
    • 垃圾回收
    • Service
  • 基础组件
    • Scheduler
    • 自动扩缩容(HPA)
  • 容器运行时(Container Runtime)
    • CRI
    • Docker
      • 安装配置Docker
      • Docker FAQ
    • Containerd
  • 资源隔离与限制
    • 基础知识
      • Cgroup
      • Namespaces
    • CPU
    • Memory
    • 网络出/入带宽
    • GPU
    • Container
    • FAQ
  • 网络
    • 基础知识
      • Linux network interfaces
      • Iptables
      • Overlay network
    • CNI
    • Flannel
      • Flannel原理
      • host-gw
      • vxlan
      • ipip
    • Calico
    • Cilium
  • Service Mesh
    • Istio
  • 扩展Kubernetes
    • Admission controller
    • Custom resource definition(CRD)
    • Scheduler extender
    • 扩展资源维度
    • Kubectl plugin
    • Aggregator
    • Device plugin
  • 现网问题
    • Kubernetes
    • ETCD
    • Docker
  • 最佳实践
    • 各组件参数配置调优
    • 各大公司生产环境实践
    • 如何打造一个Kubernetes平台
  • 生产力小工具
    • 生成特定权限和配额的kubeconfig
  • 社区贡献
  • 学习资料
  • 附录:RTFSC
    • Informer
    • Pod deletion
Powered by GitBook
On this page

Was this helpful?

  1. 扩展Kubernetes

扩展资源维度

PreviousScheduler extenderNextKubectl plugin

Last updated 6 years ago

Was this helpful?

通常情况下,如果想给k8s多增加下一些资源维度,需要改kubelet、kube-scheduler代码,kubelet需要通过心跳上报这个资源的信息(capacity、allocable等),kube-scheduler调度时需要对这个资源进行predicate,判断node上是否有合适的资源。

k8s提供了一种有效的扩展方式,用于增加如inode、egress(网络出带宽)等这种类似于CPU、memory的简单的数值型的资源维度:

  1. 根据里提到的方法,将node上相应的资源PATCH到nodeinfo中

  2. 根据,在pod里申请相应的资源

  3. Kube-scheduler会根据pod里的request和limit,进行相应的predicate

参考资料

  • Advertise Extended Resources for a Node:

  • Assign Extended Resources to a Container:

Advertise Extended Resources for a Node
Assign Extended Resources to a Container
https://kubernetes.io/docs/tasks/administer-cluster/extended-resource-node/
https://kubernetes.io/docs/tasks/configure-pod-container/extended-resource/