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.

Due to the port conflict, the kafka-edge service 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
If the status shown is not Reconcile succeeded, then look at the details of the app by describing the app with the following command:
kubectl describe app kafka-edge 
At the bottom of the output, look for the status or error message, which may state the port conflict with a message similar to this:
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[3].nodePort:
Invalid value: 32097: provided port is already allocated (reason: Invalid)
Events: <none>
Once you have this information and the port number causing the conflict, determine which service is using the port:
kubectl get svc -A | grep <port>
For example:
[root@wdc-10-220-142-191 ~]# kubectl get svc -A | grep 32097
istio-system   istio-ingressgateway                                 NodePort     <none>                                            
                                        15021:32737/TCP,80:32097/TCP,443:30002/TCP      3h28m 
The preceding example points to the istio-ingressgateway service under the istio-system namespace. 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.