Federation between 2 minikube clusters failing

I have 2 minikube clusters. When I try to enable federation on the primary cluster using a custom config.yaml file, I get the following error:

Error: INSTALLATION FAILED: failed post-install: timed out waiting for the condition

The content of the config.yaml file are:

global:
  name: consul
  datacenter: dc1

  # TLS configures whether Consul components use TLS.
  tls:
    # TLS must be enabled for federation in Kubernetes.
    enabled: true

  federation:
    enabled: true
    # This will cause a Kubernetes secret to be created that
    # can be imported by secondary datacenters to configure them
    # for federation.
    createFederationSecret: true

connectInject:
  # Consul Connect service mesh must be enabled for federation.
  enabled: true

controller:
  enabled: true

meshGateway:
  # Mesh gateways are gateways between datacenters. They must be enabled
  # for federation in Kubernetes since the communication between datacenters
  # goes through the mesh gateways.
  enabled: true

Hi, you need to use extra config for your kind clusters so that they expose the mesh gateways to one another via a host port.

kind cluster 1

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: cluster1
nodes:
  - role: control-plane
    extraPortMappings:
      - containerPort: 8888
        hostPort: 8888
        protocol: TCP

kind cluster 2

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: cluster2
nodes:
  - role: control-plane
    extraPortMappings:
      - containerPort: 9999
        hostPort: 9999
        protocol: TCP

meshGateway config for 1:

meshGateway:
  enabled: true
  replicas: 1
  wanAddress:
    source: "Static"
    port: 8888
    static: "host.docker.internal"
  service:
    enabled: false
  hostPort: 8888

meshGateway config for 2

meshGateway:
  enabled: true
  replicas: 1
  wanAddress:
    source: "Static"
    port: 9999
    static: "host.docker.internal"
  service:
    enabled: false
  hostPort: 9999

Thanks, I will try this out! :slight_smile: