红帽构建的 Keycloak 部署的行为及高可用性保证最终由 {kubernetes} 集群的配置决定。通常,{kubernetes} 集群部署在单个可用区中,但为了提高容错功能,可以在 多个可用区间部署集群。
Red Hat build of Keycloak Operator 默认定义了以下拓扑分布约束,首选红帽构建的 Keycloak pod 部署到不同的节点上,并尽可能使用不同的可用区:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: "topology.kubernetes.io/zone"
whenUnsatisfiable: "ScheduleAnyway"
labelSelector:
matchLabels:
app: "keycloak"
app.kubernetes.io/managed-by: "keycloak-operator"
app.kubernetes.io/instance: "keycloak"
app.kubernetes.io/component: "server"
- maxSkew: 1
topologyKey: "kubernetes.io/hostname"
whenUnsatisfiable: "ScheduleAnyway"
labelSelector:
matchLabels:
app: "keycloak"
app.kubernetes.io/managed-by: "keycloak-operator"
app.kubernetes.io/instance: "keycloak"
app.kubernetes.io/component: "server"
topologySpreadConstraints:
- maxSkew: 1
topologyKey: "topology.kubernetes.io/zone"
whenUnsatisfiable: "ScheduleAnyway"
labelSelector:
matchLabels:
app: "keycloak"
app.kubernetes.io/managed-by: "keycloak-operator"
app.kubernetes.io/instance: "keycloak"
app.kubernetes.io/component: "server"
- maxSkew: 1
topologyKey: "kubernetes.io/hostname"
whenUnsatisfiable: "ScheduleAnyway"
labelSelector:
matchLabels:
app: "keycloak"
app.kubernetes.io/managed-by: "keycloak-operator"
app.kubernetes.io/instance: "keycloak"
app.kubernetes.io/component: "server"
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow