6.2. 流程


  1. 确定使用 概念调整 CPU 和内存资源章节的部署大小
  2. 按照 Red Hat build of Keycloak Operator 安装中的内容 安装 Red Hat build of Keycloak Operator
  3. 请注意,以下配置文件包含与 多个可用区中从 Deploy AWS Aurora 连接到 Aurora数据库相关的选项
  4. 请注意以下与 Data Grid Operator 从 Deploy Data Grid for HA 连接到 Data Grid 服务器相关的选项
  5. 构建自定义红帽构建的 Keycloak 镜像,准备与 Amazon Aurora PostgreSQL 数据库一起使用
  6. 使用在第一步中计算的资源请求和限值,使用以下值部署红帽 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: 30 1
        poolInitialSize: 30
        poolMaxSize: 30
        usernameSecret:
          name: keycloak-db-secret
          key: username
        passwordSecret:
          name: keycloak-db-secret
          key: password
      image: <KEYCLOAK_IMAGE_HERE> 2
      startOptimized: false 3
      features:
        enabled:
          - multi-site 4
      transaction:
        xaEnabled: false 5
      additionalOptions:
    
        - name: http-max-queued-requests
          value: "1000"
        - name: log-console-output
          value: json
        - name: metrics-enabled 6
          value: 'true'
        - name: http-pool-max-threads 7
          value: "66"
        - 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。
    7
    您可以考虑进一步限制红帽构建的 Keycloak 线程数量,因为在达到请求的 CPU 限制后,多个并发线程会导致 Kubernetes 节流。详情请参阅配置线程池的概念 一章。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.