如何配置Keycloak Helm Chart

4

我想将docker-compose.yaml Keycloak转换为Char值,但我有一点困难:

Docker-compose配置看起来像这样:

  keycloak:
    container_name: keycloak
    image: jboss/keycloak:10.0.0
    hostname: keycloak
    command:
      [
        '-b',
        '0.0.0.0',
        '-Djboss.socket.binding.port-offset=1000',
        '-Dkeycloak.migration.action=import',
        '-Dkeycloak.migration.provider=dir',
        '-Dkeycloak.migration.dir=/keycloak',
        '-Dkeycloak.migration.strategy=IGNORE_EXISTING',
      ]
    volumes:
      - ./keycloak:/realm-config
    environment:
      KEYCLOAK_USER: admin@example.com
      KEYCLOAK_PASSWORD: password
    networks:
      keycloak:
        aliases:
          - keycloak.localtest.me
    ports:
      - 9080:9080/tcp

我想要做的是处理图表数值:

keycloak:
  basepath: auth
  username: admin
  password: password
  route:
    tls:
      enabled: false
  extraEnv: |
    - name: PROXY_ADDRESS_FORWARDING
      value: "true"
    - name: KEYCLOAK_IMPORT
      value: /keycloak/master-realm.json
    - name: JAVA_OPTS
      value: >-
        -Djboss.socket.binding.port-offset=1000
  extraVolumes: |
    - name: realm-secret
      secret:
        secretName: realm-secret
  extraVolumeMounts: |
    - name: realm-secret
      mountPath: "../keycloak/"
      readOnly: true
  ingress:
    enabled:    true
    annotations:
      kubernetes.io/ingress.class: nginx
      nginx.ingress.kubernetes.io/use-regex: "true"
    path: /auth/?(.*)
    hosts:
      - keycloak.localtest.me

我不太明白在docker-compose.yaml文件中该把它放在哪里:

    command:
      [
        '-b',
        '0.0.0.0',
        '-Djboss.socket.binding.port-offset=1000',
        '-Dkeycloak.migration.action=import',
        '-Dkeycloak.migration.provider=dir',
        '-Dkeycloak.migration.dir=/realm-config',
        '-Dkeycloak.migration.strategy=IGNORE_EXISTING',
      ]

附言:我想运行一个关于 k8s 的示例,地址为 https://github.com/oauth2-proxy/oauth2-proxy/tree/master/contrib/local-environment。他们提供了包含 Dex 的 k8s 演示,我想将其改为 Keycloak。

1个回答

3
您可以使用kompose工具直接将Docker Compose转换为Kubernetes文件。如果您想要创建一个Helm Chart,只需用templates替换并在Chart Values中提供值。此外,Kubernetes deployment在yaml中有command字段。
如您所见,github.com/codecentric/helm-charts/blob/master/charts/keycloak/…中通过.Values.command设置command
因此,在github.com/codecentric/helm-charts/blob/master/charts/keycloak/…文件中,将command : []替换为您的Docker Compose command

谢谢,我会检查一下。问题是我想用Helm来做这件事。 - xeLL
是的,但是您仍然需要为Helm准备YAML文件。因此,请生成这些文件。然后编辑并概括它们。 - Saurabh Nigam
1
我想使用存储库 https://codecentric.github.io/helm-charts 中现有的图表。 - xeLL
1
正如你可以在https://github.com/codecentric/helm-charts/blob/master/charts/keycloak/templates/statefulset.yaml中看到的那样,命令是由.Values.command设置的。因此,在https://github.com/codecentric/helm-charts/blob/master/charts/keycloak/values.yaml文件中,将command: []替换为你的命令。 - Saurabh Nigam
1
参数: ["-Dkeycloak.migration.action=import", "-Dkeycloak.migration.provider=dir", "-Dkeycloak.migration.dir=/keycloak", "-Dkeycloak.migration.strategy=IGNORE_EXISTING"] - xeLL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接