Как добавить второго мастера в плоскость управления существующего кластера Kubernetes 1.14?
Доступная документация , очевидно, предполагает, что оба мастера (в стековой плоскости управления и узлах etcd) создаются одновременно. Я недавно создал своего первого мастера с kubeadm init --pod-network-cidr=10.244.0.0/16
, поэтому у меня нет kubeadm-config.yaml
, как указано в этой документации.
Вместо этого я попробовал следующее:
kubeadm join ... --token ... --discovery-token-ca-cert-hash ... \
--experimental-control-plane --certificate-key ...
Часть kubeadm join ... --token ... --discovery-token-ca-cert-hash ...
- это то, что предлагается при запуске kubeadm token create --print-join-command
на первом мастере; обычно он служит для добавления другого работника. --experimental-control-plane
предназначен для добавления другого мастера. Ключ в --certificate-key ...
такой, как предлагается, запустив kubeadm init phase upload-certs --experimental-upload-certs
на первом мастере.
Я получаю следующие ошибки:
[preflight] Running pre-flight checks
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver.
The recommended driver is "systemd". Please follow the guide at
https://kubernetes.io/docs/setup/cri/
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
error execution phase preflight:
One or more conditions for hosting a new control plane instance is not satisfied.
unable to add a new control plane instance a cluster that doesn't have a stable
controlPlaneEndpoint address
Please ensure that:
* The cluster has a stable controlPlaneEndpoint address.
* The certificates that must be shared among control plane instances are provided.
Что означает, что мой кластер не имеет стабильного controlPlaneEndpoint
адреса? Может ли это быть связано с controlPlaneEndpoint
в выводе от kubectl -n kube-system get configmap kubeadm-config -o yaml
, который в настоящее время является пустой строкой? Как я могу преодолеть эту ситуацию?