我有一个关于主从节点服务路由的基本查询
我看了好几个帖子,但都找不到答案
我们假设以下设置
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
主节点是否只需要控制调度、维护副本集等,而不需要在服务命中时使用?
1条答案
按热度按时间t3psigkw1#
几周前主人不在的时候我们还能去参加礼拜
当主节点出现故障时,工作节点上运行的任何Pod仍将运行,但在主节点重新联机之前无法修改。根据您的Ingress设置,它们可能仍可访问。
主节点做两件事:服务接收传入请求的API,并将集群的当前状态写入
etcd
数据库。使用RAFT共识协议,一个节点总是被选为“领导者”。您需要奇数个投票者来防止投票平局。因此,如果两个主节点中的一个发生故障,群集将成为无头群集。最少需要3个主节点。或者使用一个节点并严格备份
etcd
。以下是helpful link