在 kubespray 的帮助下,我在 3 台机器上运行了 kubernetes 集群。其中 2 个(node1、node2)是主节点,所有(node1、node2、node3)都是工作节点。因此它应该满足我对高可用集群的要求。我想测试一些节点关闭时的可用性以及它们的反应。
问题:我正在关闭 node2 和 node3,所以只有 node1 正在运行。当我尝试kubectl get nodes
在 node1 上它返回The connection to the server 10.1.1.44:6443 was refused - did you specify the right host or port?
奇怪的是:当 node1 和 node2(所有的 master)都在运行时,api 可以正常工作。但是当只有一个 master 宕机时,api 会返回上面的消息。
我希望 node1 应该在没有其他主/工作节点的情况下工作。我在这里错过了什么吗?
使用:kubespray v2.11.0
已编辑group_vars/all/all.yml
## Internal loadbalancers for apiservers
loadbalancer_apiserver_localhost: true
# valid options are "nginx" or "haproxy"
loadbalancer_apiserver_type: nginx
# valid values "nginx" or "haproxy"
我的hosts.yml
all:
hosts:
node1:
ansible_host: 10.1.1.44
ip: 10.1.1.44
access_ip: 10.1.1.44
node2:
ansible_host: 10.1.1.45
ip: 10.1.1.45
access_ip: 10.1.1.45
node3:
ansible_host: 10.1.1.46
ip: 10.1.1.46
access_ip: 10.1.1.46
children:
kube-master:
hosts:
node1:
node2:
kube-node:
hosts:
node1:
node2:
node3:
etcd:
hosts:
node1:
node2:
node3:
k8s-cluster:
children:
kube-master:
kube-node:
calico-rr:
hosts: {}