美文网首页
kubernetes笔记-自定义Node的扩展资源

kubernetes笔记-自定义Node的扩展资源

作者: 潘猛_9f76 | 来源:发表于2019-03-28 17:02 被阅读0次

在本地开启api代理

#kube-proxy

使用curl的方式PATCH Node kube-node1的资源项

curl --header "Content-Type: application/json-patch+json" \

--request PATCH \

--data '[{"op": "add", "path": "/status/capacity/panmeng.com~1diskcount", "value": "4"}]' \

http://localhost:8001/api/v1/nodes/kube-node1/status

使用curl的方式PATCH Node kube-node2的资源项

curl --header "Content-Type: application/json-patch+json" \

--request PATCH \

--data '[{"op": "add", "path": "/status/capacity/panmeng.com~1diskcount", "value": "4"}]' \

http://localhost:8001/api/v1/nodes/kube-node2/status

#kubectl descirbe node kube-node1

添加的扩展资源可以在Node的Allocatable中看到

新建yaml配置extended-resource-pod.yaml

apiVersion: v1

kind: Pod

metadata:

  name: extended-resource-demo

spec:

  containers:

  - name: extended-resource-demo-ctr

    image: nginx

    resources:

      requests:

        panmeng.com/diskcount: 3

      limits:

        panmeng.com/diskcount: 3

应用yaml新建pod,查看pod状态

#kubectl describe  pod extended-resource-demo 

查看各个node上的资源分配情况

#kubectl describe node kube-node1

#kubectl describe node kube-node2

可以看到由于pod调度到了kube-node2上,所以kube-node2已经分配了panmeng.com/discount 3, 如果在新建一个pod extended-resource-demo2,同样请求资源为3,则必然会调度到kube-node1上

再次新建一个pod extended-resource-demo3,同样请求资源为3,则会因为资源不足而无法创建。

#kubectl get pods

kube-node1有一个多余的example.com/dongle的资源项

可以使用类似的方法删除多余的扩展资源项

curl --header "Content-Type: application/json-patch+json" \

--request PATCH \

--data '[{"op": "remove", "path": "/status/capacity/example.com~1dongle"}]' \

http://localhost:8001/api/v1/nodes/kube-node1/status

相关文章

网友评论

      本文标题:kubernetes笔记-自定义Node的扩展资源

      本文链接:https://www.haomeiwen.com/subject/ytlcbqtx.html