kube-apiserver:强制从 api-server 重建 etcd worker key

kube-apiserver: force etcd worker key to be re-constructed from api-server

问题:我正在创建以测试新的节点条件和状态,当我从我的代码或控制器中删除它们时,它们仍保留在 etcd /kubernetes.io/minions/ 中。每当我符文描述。

我无法更新它,因为它是加密的,我想要一种方法来从 etcd 中删除不需要的状态、节点条件,或者强制删除所有状态并从 apiserver 重新构建。

尝试删除 minion 密钥并重新启动 worker,但这不是一个实际的修复,有什么想法或解决方法吗?

我发现一种方法是从 etcd 中删除节点密钥并在节点中重新启动 kubelet。这 re-construct 钥匙又回来了。

解决方法: etcdctl get /kubernetes.io/minions/

请记住 api 向其发送二进制原型,因此我使用“grep -a”或广告到 etcdctl get -w json 来解码任何二进制文件。

修复: etcdctl del /kubernetes.io/minions/ 在工作节点中重启 kubelet etcd 中的 minion 密钥将被 re-constructed

修复2: 通过 curl kube api

删除所有条件
curl -k -H "Authorization: Bearer $TOKEN -H "Content-Type: application/json-patch+json" -X PATCH https://APISERVER:6443/api/v1/nodes/f<Node-Name>/status --data '[{ "op": "remove", "path": "/status/conditions"}]'