10.2. 流程
- 确定使用 概念调整 CPU 和内存资源章节的部署大小。
- 按照 Red Hat build of Keycloak Operator 安装中的内容 安装 Red Hat build of Keycloak Operator。
- 请注意,以下配置文件包含与 多个可用区部署 AWS Aurora 中连接到 Aurora数据库相关的选项
- 请注意以下与 Data Grid Operator 部署 Data Grid 相关的选项。
- 构建自定义红帽构建的 Keycloak 镜像,准备与 Amazon Aurora PostgreSQL 数据库一起使用。
使用在第一步中计算的资源请求和限值,使用以下值部署红帽 Keycloak CR:
apiVersion: k8s.keycloak.org/v2alpha1 kind: Keycloak metadata: labels: app: keycloak name: keycloak namespace: keycloak spec: hostname: hostname: <KEYCLOAK_URL_HERE> resources: requests: cpu: "2" memory: "1250M" limits: cpu: "6" memory: "2250M" db: vendor: postgres url: jdbc:aws-wrapper:postgresql://<AWS_AURORA_URL_HERE>:5432/keycloak poolMinSize: 301 poolInitialSize: 30 poolMaxSize: 30 usernameSecret: name: keycloak-db-secret key: username passwordSecret: name: keycloak-db-secret key: password image: <KEYCLOAK_IMAGE_HERE>2 startOptimized: false3 features: enabled: - user-event-metrics - multi-site4 transaction: xaEnabled: false5 additionalOptions: - name: log-console-output value: json - name: metrics-enabled6 value: 'true' - name: event-metrics-user-enabled value: 'true' - name: cache-remote-host value: "infinispan.keycloak.svc" - name: cache-remote-port value: "11222" - name: cache-remote-username secret: name: remote-store-secret key: username - name: cache-remote-password secret: name: remote-store-secret key: password - name: spi-connections-infinispan-quarkus-site-name value: keycloak - name: db-driver value: software.amazon.jdbc.Driver http: tlsSecret: keycloak-tls-secret instances: 3- 1
- 数据库连接池 initial、max 和 min 大小应当相同,以允许数据库的声明缓存。调整这个数字以满足您的系统需求。由于大多数请求不会因为红帽构建的 Keycloak 嵌入式缓存而影响数据库,因此这个更改可以每秒负责几百个请求。详情请参阅数据库连接池的概念 章节。
- 2 3
- 指定自定义红帽构建的 Keycloak 镜像的 URL。如果您的镜像经过优化,请将
startOptimized标志设置为true。 - 4
- 为多站点支持启用额外的功能,如 loadbalancer probe
/lb-check。 - 5
- 6
- 为了能够在负载下分析系统,启用指标端点。设置的缺点是,指标将在 Keycloak 端点的外部红帽构建中可用,因此您必须添加过滤器,以便外部无法使用端点。在 Red Hat build of Keycloak 前使用反向代理来过滤这些 URL。