1

在 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: {}
4

0 回答 0