在openstack环境中完成了Kubespray安装。一切功能齐全,没有问题。
我的问题是如何删除正在运行的集群上的集成,一台机器一台机器(而不是通过kubelet重新安装集群)--我们的openstack提供者的稳定性有问题,这会导致kubelet服务不时失败。
我们已经将持久化从炉渣中移开了,而且我们从未使用过任何LB集成。没有剩下的依赖项,我们所需要的只是“禁用”云端配置。
不幸的是,当天真地从kubelet.env中删除与云相关的值时,kubelet服务无法从"node“错误开始。
发布于 2019-11-25 13:34:43
OpenStack云提供者使用实例名称(根据OpenStack元数据确定)作为Kubernetes Node对象的名称。注意,要使kubelet成功注册其Node对象,实例名称必须是有效的Kubernetes Node名称。
在kubelet文件中,您可以阅读:
-如果不是空的,则重写字符串,将使用此字符串作为标识,而不是实际的主机名。如果-云提供程序被设置,云提供者将确定节点的名称(请参阅云提供商文档以确定主机名是否使用和如何使用)。
这意味着当“禁用”云配置时,您需要自己设置hostname-override选项。
在关于云提供商的文档中,您可以阅读:
节点名称-- OpenStack云提供者使用实例名(根据OpenStack元数据确定)作为Kubernetes Node对象的名称。注意,要使kubelet成功注册其Node对象,实例名称必须是有效的Kubernetes Node名称。
因此,您可以使用OpenStack元数据为您的节点找到名称。
如果它能解决你的问题就告诉我。
https://serverfault.com/questions/993044
复制相似问题