Our company is using consul, and we want to integrate Istio with consul. The official documents has walkthroughs for deploying pilot. But now we are trying to deploy Mixer, whose service name is like “istio-policy.consul.service”.
And I don’t know how to configure those proxies to use the new mixer. I know that each proxy get xDS from pilot. But how can the proxy know which cluster/endpoint is for mixer? is this statically configured in the envoy.yaml?
Thanks very much for your reply.
Actually we are deploying mixer in a non-kube env. And the https://istio.io/docs/setup/consul/quick-start/ only indicates how to deploy pilot with consul, but no mixer. And we want to verify if other istio components can work outside the kubernetes cluster
OK. Unfortunately, I don’t have much experience trying to run a full setup outside of kubernetes. At best, I can probably help troubleshoot when things go wrong.
Hi,
There are two obstacles to running mixer outside of kubernetes, I believe:
connectivity: Mixer is just another service. It has been configured to use EDS till recently, so it can benefit from pilot’s discovery mechanisms instead of DNS. Recently, telemetry switched to strict DNS mode for session affinity.
metadata discovery: Mixer has “kubernetesenv” adapter that runs prior to all else, and auto-populates k8s metadata from some primary keys. Similar thing needs to exist for other environments. The mechanism is fairly generic, so almost all knowledge about k8s is concentrated in this adapter.