Skip to main content

Cluster Orchestrator Components

Cluster Orchestrator deploys several Kubernetes resources to manage and optimize your cluster infrastructure. This document provides a comprehensive overview of all components installed during deployment.

Cluster Orchestrator installation creates a comprehensive set of infrastructure components across both AWS and Kubernetes environments:

Roles

AWS

ResourceNameDescription
IAM Roleharness-ccm-<cluster>-nodeIAM role for EKS worker nodes with CCM-required policies
Access Entry-Newer EKS "Access Entries" system to bind IAM role into Kubernetes (system:nodes)
Instance Profileharness-ccm-<cluster>-inst-profAllows EC2 nodes to assume the node IAM role
OIDC Provider-Enables IRSA (IAM Roles for Service Accounts) for secure AWS IAM usage
IAM Policy Update-Adds extra describe/EC2 permissions required for CCM
Resource Taggingharness.io/<cluster>Marks infrastructure (SGs, Subnets, AMIs) for CCM resource discovery

Harness

ResourceNameDescription
Service Account-Created via API to represent the cluster orchestrator
API Key + Token-Issued and stored in K8s as a secret for cluster-to-Harness communication
Cluster Registration-Registers your EKS cluster with Harness CCM

Components

Core Resources

Resource TypeNameDescription
Namespacekube-systemDefault namespace where CCM orchestrator is installed
Secretharness-api-keyStores Harness API token for cluster components

Cluster Orchestrator Components

Component TypeNameDescription
Deploymentcluster-orch-operator (harness-ccm)Main controller managing CCM orchestration inside cluster. Limits: CPU: 1, Memory: 1Gi
Deploymentcluster-telemetry-collector (kube-system)Collects cluster cost/usage data and sends it to Harness. Limits: CPU: 1, Memory: 1Gi
Servicecluster-orch-operatorCluster Orchestrator operator service
DaemonSetcluster-orch-interrupt-listenerListens for spot preemption events and reports to Harness

Service Accounts & RBAC

Each of these components gets a ServiceAccount, ClusterRole, and ClusterRoleBinding:

Service AccountPurpose
ccm-cluster-orchestrator-operatorPermissions for the orchestrator operator deployment
ccm-cluster-orchestrator-metricsHandles metrics collection for observability
ccm-cluster-orchestrator-interruptionManages pod eviction/node interruption handling

Custom Resource Definitions (CRDs)

CRD NamePurpose
nodepools.karpenter.shDefines node pools for Karpenter provisioning
nodeclaims.karpenter.shManages node claims for Karpenter
ec2nodeclasses.karpenter.k8s.awsDefines EC2 node class templates for Karpenter provisioning
workloaddistributionrules.ccm.harness.ioHarness CCM custom CRD to control workload placement and distribution