如何删除kubernetes吊舱的标签
我想通过kubernetes API从节点或窗口删除标签,我的kubernetes版本为1.24
kubectl get pod --show-labels | grep all-flow-0fbah all-flow-0fbah 1/1 Running 2 9d app=all-flow,op=vps1,version=1001
我使用命令如下:
curl --request PATCH --header "Content-Type:application/json-patch+json" http://10.93.78.11:8080/api/v1/namespaces/default/pods/all-flow-0fbah --data '{"metadata":{"labels":{"a":"b"}}}'
但是这不起作用。 返回信息如下:
{ "kind": "Status", "apiVersion": "v1", "metadata": {}, "status": "Failure", "message": "the server responded with the status code 415 but did not return more information", "details": {}, "code": 415 }
然后我改变像这样的curl标题:
curl --request PATCH --header "Content-Type:application/merge-patch+json" http://10.93.78.11:8080/api/v1/namespaces/default/pods/all-flow-0fbah --data '{"meadata":{"labels":{"op":"vps3"}}}'
它不删除标签,但添加一个新的标签到该窗格。 那么有没有人可以告诉我如何删除一个像使用命令一样的标签:
kubectl label pod all-flow-0fbah key-
谢谢!
正如workhardcc发表评论,这样做的方式是
curl -k -v -XPATCH -H "Accept: application/json, /" -H "Content-Type: application/strategic-merge-patch+json" 10.10.10.10:443/api/v1/namespaces/default/pds/all-flow-946y0 --data '{"metadata":{"labels":{"$patch": "delete", "app":"all-flow"}}}'
最方便的方法是使用kubectl edit pods all-flow-0fbah
。 只需删除编辑器中的标签字段。
正在寻找CLI命令我自己。 这是什么对我有用:
kubectl patch pod <podname> --type=json -p='[{"op": "remove", "path": "/metadata/labels/somelabelkey"}]'
- 由于“任务:非零退出(1)”错误,Docker容器无法启动
- 无法在docker中安装perl模块PerlIO :: locale
- 无法在docker容器中启动rabbitmq-server,如何编写这个Dokcerfile?
- Go-CD不会安装npm
- 如何在Laravel的Docker容器中运行和安装Protractor E2Etesting?
- 如何同步本地docker容器的mac本地目录?
- 尽早构build一个Docker容器,并为yum install安装不良的软件包列表
- TERM环境variables未在Google Compute Engine上使用Docker进行设置
- AWS EC2上Docker的持久存储解决scheme