Skip to content

For help, click the link below to get free database assistance or contact our experts for personalized support.

Enable multi-cluster Services on EKS

The AWS Cloud Map MCS Controller is an open-source Kubernetes controller that implements the Multi-Cluster Services API using AWS Cloud Map as the backend. It allows services exported from one cluster to be discovered and consumed in another using the DNS format:

SERVICE_NAME.NAMESPACE.svc.clusterset.local

Read more about how AWS Cloud Map MCS Controller works in the AWS blog post .

Also, learn more about AWS Cloud Map pricing

Prerequisites

Before you get started with MCS on EKS, ensure you have the following:

  1. Two EKS clusters that can communicate with each other over the Virtual Private Cloud (Amazon VPC) peering . See Create the EKS cluster guide for the cluster creation steps.

  2. Each EKS cluster has permissions to communicate with AWS Cloud Map. A service account must have the IAM policy assigned that grants access to the AWS Cloud Map. For testing purposes, you can use the AWSCloudMapFullAccess policy. In production, apply least privilege permissions.

    For more information about IAM policies for AWS Cloud Map, see the Identity and Access Management for AWS Cloud Map documentation.

Configuration

Follow the steps from the AWS Cloud Map MCS Controller for K8s guide to configure multi-cloud Services.

Before you enable MCS on the clusters, create the ClusterProperty objects on each cluster:

apiVersion: about.k8s.io/v1alpha1
kind: ClusterProperty
metadata:
  name: cluster.clusterset.k8s.io
spec:
  value: [Your Cluster identifier]
---
apiVersion: about.k8s.io/v1alpha1
kind: ClusterProperty
metadata:
  name: clusterset.k8s.io
spec:
  value: [Your ClusterSet identifier]

Check the AWS MCS controller repository for more information.

Next steps

Deploy the Main site


Last update: 2025-10-01