шаблон helzcast helmcast, как мне передать свой hazelcast.xml? - PullRequest
1 голос
/ 04 июля 2019

Шлем Greenhorn. Я должен «ввести» конкретный hazelcast.xml в configMap с помощью диаграммы . Я должен --set hazelcast.configurationFiles

Я пробовал несколько способов:

  1. helm install stable/hazelcast --set cluster.memberCount=3 --set hazelcast.configurationFiles[0].val="$(cat k8s/hazelcast.xml)"
    
  2. helm install --name=ciao stable/hazelcast --set cluster.memberCount=3 --set hazelcast.configurationFiles[0]="\{ key: hazelcast.xml, val:$(cat k8s/hazelcast.xml)  \}"
    
  3. helm install --name=ciao stable/hazelcast --set cluster.memberCount=3   --set hazelcast.configurationFiles[0]="$(cat k8s/hazelcast.xml)"
    

ни один из них не работает, и я не мог найти или понять, как правильно это сделать.

Я ожидаю, что я правильно настрою configMap, как должно быть:

apiVersion: v1
kind: ConfigMap
metadata:
  name: hazelcast-configuration
data:
  hazelcast.xml: |-
    <?xml version="1.0" encoding="UTF-8"?>........

вместо этого (ближайший результат, полученный с помощью try nr 3):

 data:
 "0": |-
       <?xml version="1.0" encoding="UTF-8"?>

1 Ответ

2 голосов
/ 04 июля 2019

По примеру README

вам нужно раскомментировать файлы конфигурации с значениями и вставить вставить свой собственный файл XML:

configurationFiles:
hazelcast.xml: |-
  <?xml version="1.0" encoding="UTF-8"?>
  <hazelcast xsi:schemaLocation="http://www.hazelcast.com/schema/config hazelcast-config-3.10.xsd"
                 xmlns="http://www.hazelcast.com/schema/config"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <properties>
      <property name="hazelcast.discovery.enabled">true</property>
    </properties>
    <network>
      <join>
        <multicast enabled="false"/>
        <tcp-ip enabled="false" />
        <discovery-strategies>
          <discovery-strategy enabled="true" class="com.hazelcast.kubernetes.HazelcastKubernetesDiscoveryStrategy">
          </discovery-strategy>
        </discovery-strategies>
      </join>
    </network>

    <management-center enabled="${hazelcast.mancenter.enabled}">${hazelcast.mancenter.url}</management-center>

    <!-- Custom Configuration Placeholder -->
  </hazelcast>

но если вы не хотите пропускать содержимое внутри values.yaml, вы можете использовать. Файл, чтобы получить содержимое файла по тому же пути

configurationFiles:
  hazelcast.xml: |-
  {{ .Files.Get "hazelcast.xml" | indent 4}}

Шаблон справочника

Помните, что вы можете скопировать оригинал values.yaml с диаграммы и использовать -f для указания собственных значений вместо использования --set каждый раз.

...