Почему я не могу подключить внешний IP-адрес через мой установочный манифест jelasti c? - PullRequest
0 голосов
/ 16 марта 2020

У меня очень простой jelasti c установочный манифест, который устанавливает кластер kubernetes:

jpsVersion: 1.3
jpsType: install
application:
  id: shopozor-k8s-cluster
  name: Shopozor k8s cluster
  version: 0.0

  settings:
    fields:
    - name: envName
      caption: Env Name
      type: string
      default: shopozor
    - name: topo
      type: radio-fieldset
      values:
        0-dev: '<b>Development:</b> one master (1) and one scalable worker (1+)'
        1-prod: '<b>Production:</b> multi master (3) with API balancers (2+) and scalable workers (2+)'
      default: 0-dev
    - name: k8s-version
      type: string
      caption: k8s manifest version
      default: v1.16.3

  onInstall:
  - installKubernetes
  - attachIpToWorkerNodes

  actions:
    installKubernetes:
      install:
        jps: https://github.com/jelastic-jps/kubernetes/blob/${settings.k8s-version}/manifest.jps
        envName: ${settings.envName}
        displayName: ${settings.envName}
        settings:
          deploy: cc
          topo: ${settings.topo}
          dashboard: version2
          ingress-controller: Nginx
          storage: true
          api: true
          monitoring: true
          version: ${settings.k8s-version}
          jaeger: false
    attachIpToWorkerNodes:
    - forEach(node:nodes.cp):
      - jelastic.env.binder.AttachExtIp:
          envName: ${settings.envName}
          nodeId: ${@node.id}

Если я установлю этот манифест, то я получу свой кластер и работает, но рабочие узлы не подключите IPv4. После установки этого манифеста, если я дополнительно установлю следующий манифест обновления, он будет работать:

jpsVersion: 1.3
jpsType: update
application:
  id: attach-ext-ip
  name: Attach external IP
  version: 0.0

  onInstall:
  - attachIpToWorkerNodes

  actions:
    attachIpToWorkerNodes:
    - forEach(node:nodes.cp):
      - jelastic.env.binder.AttachExtIp:
          nodeId: ${@node.id}

Что я делаю не так в манифесте установки? почему ip не привязан к моим рабочим узлам, а если я выполню это действие после установки с манифестом обновления?

1 Ответ

1 голос
/ 18 марта 2020

Обратите внимание, что функция "publi c IP-привязка" еще не доступна в производственной среде. Он находится в стадии активной разработки и будет официально объявлен в одном из наших следующих релизов. В текущей стабильной версии некоторые функции, связанные с ней, могут работать неправильно. В настоящее время это не рекомендуется для производственного использования, но вы можете попробовать его только в целях тестирования. Что касается действия «attachIpToWorkerNodes» в исходном манифесте, проблема заключалась в том, что «node.cp» созданной среды не было объявлено в области, в которой был вызван «forEach». Правильная версия акции:

attachIpToWorkerNodes:
  install:
    envName: ${settings.envName}
    jps:
      type: update
      name: Attach IP To Worker Nodes
      onInstall: jelastic.env.binder.AttachExtIp [nodes.cp.join(id,)]

Пожалуйста, дайте нам знать, если у вас есть дополнительные вопросы.

...