将本地节点连接到Kops AWS集群

我想将本地节点(不是云节点)连接到AWS上由kops创建的集群。我遵循了建议的方法 Kubernetes: Combining a Kops cluster to an on-premise Kubeadm cluster。以下是我的kubelet选项:

DAEMON_ARGS="\
--allow-privileged=true \
--cgroup-root=/ \
--cgroup-driver=systemd \
--cluster-dns=${CLUSTER_DNS} \
--cluster-domain=cluster.local \
--enable-debugging-handlers=true \
--eviction-hard=memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%,imagefs.available<10%,imagefs.inodesFree<5% \.available<10%,imagefs.inodesFree<5% \
--feature-gates=DevicePlugins=true,ExperimentalCriticalpodAnnotation=true \
--hostname-override=my-node \
--kubeconfig=/var/lib/kubelet/kubeconfig \
--network-plugin-mtu=9001 \
--network-plugin=kubenet \
--node-labels=KubernetesCluster=${CLUSTER_NAME},kubernetes.io/cluster/${CLUSTER_NAME}=owned,kubernetes.io/role=node,node-role.kubernetes.io/node= \
--node-ip=${NODE_IP} \
--non-masquerade-cidr=${NON_MASQUERADE_CIDR} \
--pod-infra-container-image=gcr.io/google_containers/pause-amd64:3.0 \
--pod-manifest-path=/etc/kubernetes/manifests \
--register-schedulable=true \
--v=2 \
--cni-bin-dir=/opt/cni/bin/ \
--cni-conf-dir=/etc/cni/net.d/ \
--cni-bin-dir=/opt/cni/bin/"

当我在本地节点上启动kubelet时,它成功连接到kube-apiserver并注册了该节点。但是,它随后在更新节点状态时反复失败:

E0121 23:08:35.135858   18352 kubelet_node_status.go:383] Error updating node status,will retry: error getting node "my-node": nodes "my-node" not found
E0121 23:08:35.191611   18352 kubelet_node_status.go:383] Error updating node status,will retry: error getting node "my-node": nodes "my-node" not found
...
E0121 23:08:35.359480   18352 kubelet_node_status.go:375] Unable to update node status: update node status exceeds retry count
E0121 23:08:35.823944   18352 eviction_manager.go:238] eviction manager: unexpected err: failed to get node info: node "my-node" not found

检查kube-controller-manager日志(主节点上的/var/log/kube-controller-manager.log)后,我发现kube-controller-manager正在删除my-node,因为它无法在云提供商中找到,aws

I0121 23:08:25.722214       1 node_controller.go:769] Deleting node (no longer present in cloud provider): my-node
I0121 23:08:25.722248       1 controller_utils.go:197] Recording Deleting Node my-node because it's not present according to cloud provider event message for node my-node

是否有一种方法可以对此my-node禁用此云提供程序检查,以便它不会被kube-controller-manager删除?我仍然希望能够在AWS中运行某些节点,因此不想清除kube-controller-manager中的cloud-provider标志。

piaodongdeyun1225 回答:将本地节点连接到Kops AWS集群

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2735590.html

大家都在问