0

我正在尝试kubelet使用--cloud-provider=aws标志运行,但失败并出现以下错误:

kubelet_node_status.go:107] 无法向 API 服务器注册节点“ip-172-28-68-69.eu-west-1.compute.internal”:节点“ip-172-28-68-69.eu-west -1.compute.internal 被禁止:节点“k8s-master.my.fqdn”不能修改节点“ip-172-28-68-69.eu-west-1.compute.internal”

我已经尝试将--host-override标志设置为"k8s-master.my.fqdn"但没有成功。

(kubectl get nodes:
NAME                    STATUS    ROLES     AGE       VERSION
k8s.my.fqdn             Ready     <none>    29m       v1.8.1)

我应该如何开始kubelet才能在 AWS 上成功注册?

4

1 回答 1

1

我以这种方式解决了我的问题:

  1. 不要将默认亚马逊主机名更改为您自己的,因为--host-override标志不起作用。
  2. 初始化节点喜欢:kubeadm init --pod-network-cidr=10.233.0.0/16 --node-name=$(curl http://169.254.169.254/latest/meta-data/local-hostname)或者干脆使用 kubespray 作为集群管理解决方案。

顺便说一句,如果您想与亚马逊集成,最好保留亚马逊主机名。我在 kubespray 文档中发现的相同:

下一步是确保清单文件中的主机名与 AWS 中的内部主机名相同。这可能看起来像 ip-111-222-333-444.us-west-2.compute.internal

于 2018-01-26T17:33:05.940 回答