$ kubectl get pod
NAME READY STATUS RESTARTS AGE
my-server-with-replicas-59c7985c96-7j9m4 1/1 Running 0 49s
my-server-with-replicas-59c7985c96-fpnjj 1/1 Running 0 49s
型 日志会显示
$kubectl logs my-server-with-replicas-59c7985c96-fpnjj
Defaulted container "httpbin" out of: httpbin, get-binary (init)
time="2023-12-30T11:43:39Z" level=info msg="running k8s-await-election" version=refs/tags/v0.2.3
I1230 11:43:39.439505 1 leaderelection.go:242] attempting to acquire leader lease default/my-server...
time="2023-12-30T11:43:39Z" level=info msg="long live our new leader: 'my-server-with-replicas-59c7985c96-7j9m4'!"
1条答案
按热度按时间byqmnocz1#
您可以使用
k8s-await-election
,它利用Kubernetes内置的leader election功能来协调在不同Pod中运行的命令。它充当看门人,只有当Pod成为leader时才启动命令。k8s-await-election
拥有告诉Kubernetes哪个pod应该接收流量所需的所有信息。这可以解决上述问题,但代价是不可用的就绪探测器。以下是使用
httpd
图像的完整示例:字符串
然后检查有多少个pod,哪一个是领导者:
型
日志会显示
型
这是一个从您的服务接收流量的副本