美文网首页
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