<p>I have used the following configuration to setup the Istio</p>
<pre><code>cat &lt;&lt; EOF | kubectl apply -f -
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
  name: istio-control-plane
spec:
  # Use the default profile as the base
  # More details at: https://istio.io/docs/setup/additional-setup/config-profiles/
  profile: default
  # Enable the addons that we will want to use
  addonComponents:
    grafana:
      enabled: true
    prometheus:
      enabled: true
    tracing:
      enabled: true
    kiali:
      enabled: true
  values:
    global:
      # Ensure that the Istio pods are only scheduled to run on Linux nodes
      defaultNodeSelector:
        beta.kubernetes.io/os: linux
    kiali:
      dashboard:
        auth:
          strategy: anonymous
  components:
    egressGateways:
    - name: istio-egressgateway
      enabled: true
EOF
</code></pre>
<p>I want to access the services like grafana, prometheus, jaeger, kiali &amp; envoy externally - eg: <a href="https://grafana.mycompany.com" rel="nofollow noreferrer">https://grafana.mycompany.com</a>, how can I do it?</p>
<p><strong>Update:</strong>
I have tried below however it doesn't work</p>
<pre><code>kubectl expose service prometheus --type=LoadBalancer --name=prometheus --namespace istio-system
kubectl get svc prometheus-svc -n istio-system -o json
export PROMETHEUS_URL=$(kubectl get svc istio-ingressgateway -n istio-system  -o jsonpath=&quot;{.status.loadBalancer.ingress[0]['hostname','ip']}&quot;):$(kubectl get svc prometheus-svc -n istio-system -o 'jsonpath={.spec.ports[0].nodePort}')
echo http://${PROMETHEUS_URL}
curl http://${PROMETHEUS_URL}
</code></pre>

One Developer
<p>I got it working as mentioned below</p>
<pre><code>kubectl expose service prometheus --type=LoadBalancer --name=prometheus --namespace istio-system
    
export PROMETHEUS_URL=$(kubectl get svc prometheus-svc -n istio-system  -o jsonpath=&quot;{.status.loadBalancer.ingress[0]['hostname','ip']}&quot;):$(kubectl get svc prometheus-svc -n istio-system -o 'jsonpath={.spec.ports[0].port}')


echo http://${PROMETHEUS_URL}
curl http://${PROMETHEUS_URL}
</code></pre>
<p>I would assume that it may not be the right way of exposing the services. Instead</p>
<ol>
<li>Create a Istio Gateway point to <a href="https://grafana.mycompany.com" rel="nofollow noreferrer">https://grafana.mycompany.com</a></li>
<li>Create a Istio Virtual service to redirect the requuest to the above Internal Service</li>
</ol>
