Istio install creates public LoadBalancer automatically

Cloud Vendor : Oracle Cloud Infrastructure

When I install istio (just the istio-init and istio) via helm I see that it automatically creates a public IP.

Install Steps -

curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.3.0 sh -
helm install istio-1.3.0/install/kubernetes/helm/istio-init --name istio-init --namespace istio-system
helm install istio-1.3.0/install/kubernetes/helm/istio --name istio --namespace istio-system

Now the problem is when we want to uninstall istio there is no way to delete this LB.

Uninstall Steps -

helm delete --purge istio
helm delete --purge istio-init

And there are no gateways that are defined from the application, neither there are any application deployments or services… Meaning there are only PODs and Services belonging to Kubernetes and Istio that are running in the system.

Now the problem is , since the infra was created by Terraform it is unaware of the existence of the LB … As a result the TF destroy does not end since the LB subnets are being actively used by the LB (that was created by istio).

To being with, why does istio installation lead to creation of LoadBalancer ?

Since it was the istio installation that lead to the creation of the LB, shouldn’t the onus of cleaning up the LB also lie with istio un-installation ?

Appreciate your help !

This seems to be vendor specific issue. Hence this thread can be considered closed.