During initial deployment, the
kafka-edge service assigns a random port to the ingress gateway in charge of exposing the
kafka-edge to external clients. This random port, in certain circumstances, may conflict with another port assigned in other parts of the deployment.
kafka-edgeservice may not be deployed properly and can continue to report a Reconciled Failed state until the conflict is resolved. To determine the availability of the edge services and whether the port conflict is the reason for the failure, execute the following command from the deployer container:
kubectl get app kafka-edge
kubectl describe app kafka-edge
Useful Error Message: kapp: Error: Applying create service/istio-edge-ingressgateway (v1) namespace: kafka-edge: Creating resource service/istio-edge-ingressgateway (v1) namespace: kafka-edge: Service "istio-edge-ingressgateway" is invalid: spec.ports.nodePort: Invalid value: 32097: provided port is already allocated (reason: Invalid) Events: <none>
kubectl get svc -A | grep <port>
[root@wdc-10-220-142-191 ~]# kubectl get svc -A | grep 32097 istio-system istio-ingressgateway NodePort 100.68.40.18 <none> 15021:32737/TCP,80:32097/TCP,443:30002/TCP 3h28m
istio-ingressgatewayservice under the
istio-systemnamespace. To correct this, you must delete the service and wait for it to get recreated again, at which point it gets assigned to another random port. To delete the service for the preceding example, use the following command:
kubectl delete svc -n istio-system istio-ingressgateway
Verify the deleted service has been restored and that the
kafka-edge service is reporting a Reconciled state.