Apigee Hybrid - Invalid value: 31381: provided port is already allocated

Running command: $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml

Results in error: The Service "apigee-mart-istio-ingressgateway" is invalid: spec.ports[1].nodePort: Invalid value: 31381: provided port is already allocated Error: unable to exec kubectl: error applying k8s config via kubectl: exit status 1

The static IP is totally different from the runtime. The files overrides.yaml is similar to examples/overrides-large.yaml

0 3 1,901
3 REPLIES 3

One of the components in kube-system space uses random allocation of a nodePort for its needs.

It belongs to a range 30000-32000+. Occasionally it clashes with 31281 that Istio defines explicitly.

You can check it using:

kubectl describe svc default-http-backend -n kube-system

You can workaround this problem by issuing:

kubectl delete svc -n kube-system default-http-backend

which will force kubernetes to re-deploy default-http-backend with a newly allocated random port.

Unfortunately, it is not an Apigee Hybrid problem that we can fix easily.

It's bigger Kubernetes problem you can read about here:

https://github.com/istio/istio/issues/14499#issuecomment-500641742

Hi @ylesyuk,

The main issue is that I was trying to connect another GCP project to an organization that already had a GCP project related. Per the documentation looks like there is 1-1 relationship between the organization and GCP project. Also I was told that the GCP project cannot be updated in the organization, then I requested to whitelist another organization and the installation process finish successfully under the new organization.

Thanks,

Isabel

If the error persists after having deleted the default-http-backend (I've just seen this happen), you can:

kubectl delete -n istio-system istio-ingressgateway

and then re-run your
apigeectl init -f overrides/overrides.yaml