Kubernetes基于extended-resource扩展资源

前言

扩展资源是Kubernetes.io域名之外的标准资源名称。它们使得集群管理员能够颁布非Kubernetes内置资源,而用户可以使用它们,下面介绍节点级扩展资源的用法。

节点级扩展资源

1、生成证书

cat ~/.kube/config 

在这里插入图片描述

#生成admin.crt
echo LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lJTzZiVHJEM1FLWWd3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TWpBeU1UZ3dOREV5TXpsYUZ3MHlNekF5TVRnd05ERXlORFZhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW8wM3lHRUdlbDRsb241em8KTlF3TmprR2hCQitPZmRYRUtPSDRjT2ZlS1BVdmFqSkVUelRHS0RGUE1rb2VPQ0h1aWNKRkdYY1krUDl3N3FCcwpqVVhsWDlhNTJMazJDakp3bkhWRU1PSVRycDM2RDZxMWV4c09MbWdTUlZnNVpEL2FnMVdMdDdOMVRqdkJWaW8vCnBMZGlER3FIQUZCZlI0WVptZDFDSXpZYlVtd3ZoejlYdDVFdk1LR2xvQllSMkNGQklpQktOVERBZU5oaFcvUGYKTXV2TXFySjg4d0tYUi9JdWdJNm5uVXpLdVhkYlBNbkRvcTFVZW1XYUVyWTRTd3krbVY2dWFDb1JaZ2hpdmJvMApmRDR5b09kYVllY0NwdGtyS2NxaFozTFkyWDl6TTVlTjg3eXlhUms1TlNFcHpsL1VhOFRjOWF3d014aTN5RTlGClpLY2NQd0lEQVFBQm8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JRUHI5eUFFalBHdUJJYlRvTUR5VlFiY2FFYQpOekFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBV25mYWErbFhHWCtJT0o5VU1iVkdBUTk2ZVRpQ3JxODBvVW1VCmUrTEhRRmZtYlQ0aWgvZWp4MHZvVlZuZnFiQi9GRWgzbGR1cUZFMU05aVdjRTZYSmw3NUZLWXMrVkVmZ3FYVjIKcjdOTjByUFpFcmNycit3TzEzdmV3V29xMVFQSVF1ajRxWFd4OXR4NHkyUmo4UkVlOWo1dWJJenlRVHZlejUzUApTV2hPdFBOMjJZc3VxZVVDeVRNazZaVnhCU2tSN29LVDZUc2J0eXhjT0Q4YnNDbVltY2FqdE1vZmoxMm1KL3NiClNQRjd2c3NiZklHT1h6UFdoaXRyeFBvVW9QNy9WNWg4RFExei9PbjYxbXUydi9LWjI2cGRTdC9wUlhVWms4WkwKbm9JbWpzSFVPbUFmOHZaSEMvR0Z2bnIxMWhMUTNSOCtCZ1RmZjdCOTQ2TElZeTk1M2c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== | base64 -d >admin.crt

#生成admin.key
echo LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBbzAzeUdFR2VsNGxvbjV6b05Rd05qa0doQkIrT2ZkWEVLT0g0Y09mZUtQVXZhakpFClR6VEdLREZQTWtvZU9DSHVpY0pGR1hjWStQOXc3cUJzalVYbFg5YTUyTGsyQ2pKd25IVkVNT0lUcnAzNkQ2cTEKZXhzT0xtZ1NSVmc1WkQvYWcxV0x0N04xVGp2QlZpby9wTGRpREdxSEFGQmZSNFlabWQxQ0l6WWJVbXd2aHo5WAp0NUV2TUtHbG9CWVIyQ0ZCSWlCS05UREFlTmhoVy9QZk11dk1xcko4OHdLWFIvSXVnSTZublV6S3VYZGJQTW5ECm9xMVVlbVdhRXJZNFN3eSttVjZ1YUNvUlpnaGl2Ym8wZkQ0eW9PZGFZZWNDcHRrcktjcWhaM0xZMlg5ek01ZU4KODd5eWFSazVOU0VwemwvVWE4VGM5YXd3TXhpM3lFOUZaS2NjUHdJREFRQUJBb0lCQVFDTytWVTJDMjF3T3V1UQpvdTFpVkRVaUVTK0p6cDhRYUxHZklZaEVRWnp0dXd4U0s4UkduR3ZKRUxMSDBzQjJZSzdaaVc2NkJ0MmtVdkJxCjI2VnVZbjJaMVFOTlRZcVVqdWlzOHJaTEhnUWhZMHBsb1EzV3hDODhUZjJCSE9iU2NGMDlrdzRLUFdJOHBuQjAKb2ZTcW42dUdOMVlPM2s4czdhbElYc0RpMXlKQW0vVUI5UGh6TWc4Z1BFMHlwODVSK3BrVEZITkdyU2JaQUNXcgozMSsyaHB0YW9vSmxVbWhPS293bitTeDdLd3RZZ1Vqd29UOEdMNHJOMkVQRm5qc012cDV2bENrZkYrWCtwTUVVCkZieHdyVXBWRW13bm81eDRKOGhRRHV2akgzNW1KbWwvVzVCckN2NTBKVHNKS3BBZGExZkFHSmxPNGs0TXdKRHgKYlFjanMxd0JBb0dCQU1RWUFEYnp4QTdqTEExSWJuVFgwNDlHOFFPbXVwYzdTak9mVDZISDhVNzQvWk85dmtmRgpKcFRGZ1hXL1h1NzdxVVpBMTlTU3dIL3Bwc0s0NWwyUjNQZFJKNDBGVVpjaExPekhJdTZvYTFCUE4zS1JCV3diClJaaFl4eUVOeXdyMFlOdlVIRkVsb2Z1c2M1dFZIczRqUDlINklJTllSaDArS294SVNxODgvdFUvQW9HQkFOVXgKay9Fais2amZRQjdTSmlpdG9sWVhNaU50N3k1RndxZEtLMGNiNkdtMzVDRGRBeEw3VThKbzJtL29zVmFnUFVjRwp1NE1saHA1Z2h6bGZvNG5VV2IrUUJMRmlhYW5ZY2VyZlVMdGM4S3BjRFhnMlVuVktDS21tMzFndnMzT0gwR1h1Ckd6dWlLT202ZGs4aVhWRDRNcVVpdTF0Z0FoN0dmL0VtbVF5d1F2a0JBb0dCQUxNbnltcHFaQ0hGNDZWdkc1dWMKNUNqdkE1djJaRnR2UytmR0VaY1plWnBSV2p2MUN6ZS9JL1NnVGhzcDhLNGZOeFI4Z2JReEw3YXQzakhoaEhiUQpvVFZEN0FLbmJWZktjNlVRZXhYWXdkTHB6UnJhN0QxTTNWVEhKNGRIZHM1WFgzYjRYN2F6eno2RTNFcDZobDZIClRmT2x0cmJKbTZWeitxT1lHTVBwMGxrNUFvR0FaTSt5MDE1ZWpEWTFUZDIxcVpxaG52QU5CMi9lb0JUZ3ZOWjMKcklKbjNrWFVuQzJtWEgxMzJBQlkrbjRnRFlSc05YL2JmMkpwUzg3OVlvWDFBU0htNW95bGkzT3IzMks0UzRZWgoyTjlUOWxyZEM3RTBRTDRuWm9IQUx5VXZTRHc2c1Zoc2pFQmI5Rm4xdytuT0VwR3E4U2VCVE80VFVwWXV2Y3V3CnA2MVpuZ0VDZ1lBNWNGeXpSZ2pEbk90U1RaNHBDVXMwV0U3WWZxMDdna3JJYU9KMVNqOXNnRHdrQ0NzM3FoNlgKOGh5SGFCajNOWjNpS2JNQnBReVNmWGpHV3A4YmtUcGFNdVVLd3dHY3N6M3pSRjAzQ21adWs4bGQrcE9sR2lHVwptd3JtekNwcElrQVhwblhBTzNqekxUWStHS1NrbE1nK1I4cmUrTkdIMFpMU2JBMDFuZmMrL2c9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= | base64 -d >admin.key

2、配置资源

#向API服务器提交patch http请求,在集群中节点的status.capacity中为其配置可用数量
curl --key admin.key --cert admin.crt --header "Content-Type: application/json-patch+json" \
--request PATCH -k \
--data '[{"op": "add", "path": "/status/capacity/xing.com~1reclaimed-cpu", "value": "2"}]' \
https://192.168.0.61:6443/api/v1/nodes/ops-node-1/status

在这里插入图片描述

#查看配置是否成功
kubectl get nodes ops-node-1 -oyaml

在这里插入图片描述

3、启动pod使用扩展资源

cat deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx
          resources:
            limits:
              xing.com/reclaimed-cpu: 2
            requests:
              xing.com/reclaimed-cpu: 2
#创建pod
kubectl apply -f deployment.yaml

在这里插入图片描述
扩展成功。

4、删除扩展资源

curl --key admin.key --cert admin.crt --header "Content-Type: application/json-patch+json" \
--request PATCH -k \
--data '[{"op": "remove", "path": "/status/capacity/xing.com~1reclaimed-cpu", "value": "2"}]' \
https://192.168.0.61:6443/api/v1/nodes/ops-node-1/status

在这里插入图片描述

删除成功。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平凡似水的人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值