kubernetes 如果主节点出现故障,会发生什么情况?

inb24sb2  于 2023-02-21  发布在  Kubernetes
关注(0)|答案(1)|浏览(212)

我有一个关于主从节点服务路由的基本查询
我看了好几个帖子,但都找不到答案
我们假设以下设置

10.10.10.32   - Master Node (only-one master node)
10.10.10.1    - Worker Node #1
10.10.10.2    - Worker Node #2

nginx配置

upstream example {
    server 10.10.10.1:30001;  #worker-node1
    server 10.10.10.2:30001;  #worker-node2
}

server {
   server_name domainname.com

   location / {
       proxy_pass http://example
   }
}

当我点击domainname.com时,请求将被发送到上游,客户端将收到响应
如果我理解正确的话,在'master node failure'的情况下,我们仍然能够到达'upstream servers',并且客户端将收到响应EDIT

问题1

why not we schedule the pods as 'static pods'?

如果即使在'master node failure'的情况下请求也能够到达上游服务器
注意:我知道静态pod由kubelet维护,无法通过控制平面访问

问题2

当针对上述设置**点击服务时,是否与主节点有任何关系?

or in other words

主节点是否只需要控制调度、维护副本集等,而不需要在服务命中时使用?

t3psigkw

t3psigkw1#

几周前主人不在的时候我们还能去参加礼拜
当主节点出现故障时,工作节点上运行的任何Pod仍将运行,但在主节点重新联机之前无法修改。根据您的Ingress设置,它们可能仍可访问。
主节点做两件事:服务接收传入请求的API,并将集群的当前状态写入etcd数据库。
使用RAFT共识协议,一个节点总是被选为“领导者”。您需要奇数个投票者来防止投票平局。因此,如果两个主节点中的一个发生故障,群集将成为无头群集。最少需要3个主节点。或者使用一个节点并严格备份etcd。以下是helpful link

相关问题