Как настроить контрольную диаграмму Keycloak

#kubernetes #keycloak #kubernetes-helm

#kubernetes #keycloak #kubernetes-руль

Вопрос:

Я пытаюсь преобразовать docker-compose.yaml Keycloak для значений символов, я немного зациклился на этом:

Конфигурация 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',
      ]
  

P.S Я пытаюсь запустить пример k8s дляhttps://github.com/oauth2-proxy/oauth2-proxy/tree/master/contrib/local-environment
Там у них есть демо k8s с Dex, и я хочу адаптировать его с помощью Keycloak.

Ответ №1:

Вы можете использовать инструмент compose для прямого преобразования docker compose в файлы kubernetes. Если вы хотите создать диаграмму руля, просто замените ее шаблонами и укажите значения в значениях диаграммы. Также развертывание Kubernetes имеет командное поле в yaml.

как вы можете видеть в github.com/codecentric/helm-charts/blob/master/charts/keycloak /… команда задается .Values.command

Итак, в файле github.com/codecentric/helm-charts/blob/master/charts/keycloak /… замените команду: [] на вашу команду docker-compose.

Комментарии:

1. Спасибо, я проверю это, дело в том, что я хотел сделать это с Helm.

2. Да, но вам все еще нужны файлы yaml для helm. Итак, создайте эти файлы. Затем отредактируйте их и обобщите

3. Я хочу использовать существующую диаграмму из репозитория codecentric.github.io/helm-charts

4. как вы можете видеть github.com/codecentric/helm-charts/blob/master/charts/keycloak /… команда задается с помощью .Values.command, поэтому в файле github.com/codecentric/helm-charts/blob/master/charts/keycloak /… замените command : [] своей командой.

5. аргументы: [«-Dkeycloak.migration.action=импорт», «-Dkeycloak.migration. provider=dir», «-Dkeycloak.migration.dir=/keycloak», «-Dkeycloak.migration.strategy=IGNORE_EXISTING»]