Uploaded image for project: 'Maistra'
  1. Maistra
  2. MAISTRA-464

Node port conflict when deploying two control planes

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • maistra-0.11.0
    • maistra-0.11.0
    • operator
    • None
    • Maistra TP sprint 11

      When you deploy two control planes, the operator can't create the istio-ingressgateway service in the second control plane, due to the NodePort already being used by the first control plane:

      $ kubectl -n istio-system2 get servicemeshcontrolplanes.maistra.io multitenant-install -o json | jq .status
      {
        "conditions": [
          {
            "lastTransitionTime": "2019-05-29T12:33:49Z",
            "message": "Service \"istio-ingressgateway\" is invalid: spec.ports[1].nodePort: Invalid value: 31380: provided port is already allocated",
            "reason": "InstallError",
            "status": "False",
            "type": "Installed"
          },
          {
            "lastTransitionTime": "2019-05-29T12:33:49Z",
            "message": "Service \"istio-ingressgateway\" is invalid: spec.ports[1].nodePort: Invalid value: 31380: provided port is already allocated",
            "reason": "InstallError",
            "status": "False",
            "type": "Reconciled"
          }
        ],
        "observedGeneration": 1
      }
      

      The values for the nodePorts are effectively hard-coded in the operator (in the charts inside the operator) and can't be configured (e.g. in the ServiceMeshControlPlane object).

      Actually, on clusters where multitenancy makes sense, using node ports probably won't be allowed at all.

              kconner@redhat.com Kevin Conner (Inactive)
              mluksa@redhat.com Marko Luksa
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: