Подключить локальный узел к кластеру Kops AWS

Я хочу подключить локальную ноду (не облачную) к созданному kops кластеру на AWS. Я следовал предложенному подходу в Kubernetes: объединение Кластер Kops в локальный кластер Kubeadm. Ниже приведены мои 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.


person Wycan    schedule 21.01.2020    source источник
comment
Я предполагаю, что вам нужно запустить плоскость управления / мастер без облачного провайдера, который удаляет большую часть полезности из узлов AWS.   -  person Matt    schedule 22.01.2020
comment
См. Комментарий Мариуша Далевского к qa, на который вы ссылались, он говорит так же   -  person Matt    schedule 22.01.2020
comment
Ага, я видел этот комментарий. Надеялся увидеть, есть ли способ, который не требует очистки флага облачного провайдера на мастере, чтобы я мог сохранить доступ к службам aws.   -  person Wycan    schedule 22.01.2020