1.7. Cluster Operator 领导选举机制来运行多个副本
使用领导选举机制运行 Cluster Operator 的多个并行副本。一个副本被选为活跃领导值,并运行部署的资源。其他副本以待机模式运行。副本对高可用性非常有用。其他副本可防止因重大故障造成的中断。这一点非常重要,因为引入了 StrimziPodSets,AMQ Streams 需要处理 Kafka 集群的 pod 的创建和管理。Cluster Operator 负责重启 pod。
要启用领导选举机制,Cluster Operator 的 STRIMZI_LEADER_ELECTION_ENABLED 环境变量必须设置为 true (默认)。在用于部署 Cluster Operator 的 Deployment 自定义资源中,设置环境变量以及相关的环境变量。默认情况下,AMQ Streams 使用单个 Cluster Operator 副本运行,该副本始终是领导副本。要添加更多副本,您可以更新 Deployment 自定义资源中的 spec.replicas 值。
Cluster Operator 副本和领导选举机制的部署配置
apiVersion: apps/v1
kind: Deployment
metadata:
name: strimzi-cluster-operator
labels:
app: strimzi
spec:
replicas: 1
# ...
spec:
# ...
containers:
- name: strimzi-cluster-operator
image: registry.redhat.io/amq7/amq-streams-rhel8-operator:2.3.0
# ...
env:
# ...
- name: STRIMZI_LEADER_ELECTION_ENABLED
value: "true"
- name: STRIMZI_LEADER_ELECTION_LEASE_NAME
value: "strimzi-cluster-operator"
- name: STRIMZI_LEADER_ELECTION_LEASE_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: STRIMZI_LEADER_ELECTION_IDENTITY
valueFrom:
fieldRef:
# ...