I configured 2 clusters with ISTIO multi-cluster multi-primary on different networks.
Using a sample pod running an nginx image, I was able to reach the second cluster from the other one (LoadBalancers of the E/W gateways and also the k8s API).
When I try to verify the mesh was successfully installed, the load balancing of an service doesn't works (it does not balance the request between the versions 1 and 2 between the clusters).
In istiod pod, in cluster1, I found this log:
2023-05-03T14:31:26.590441Z info initializing Kubernetes credential reader for cluster cluster2
2023-05-03T14:31:26.590470Z error Adding cluster_id from secret=cluster2: istio-system/istio-remote-secret-cluster2 1 error occurred:
* failed creating config configStore for cluster cluster2: Get "https://172.26.0.2:8443/apis/apiextensions.k8s.io/v1/customresourcedefinitions": context deadline exceeded
2023-05-03T14:31:26.590476Z info Number of remote clusters: 1
Any idea about what is happening?
Solved, I had to configure the minikube clusters to start with --network host
, and the Metal LB
I had to configure with an IP range of my host network also, so the LoadBalancers
got an reachable IP address.