Cluster Orchestrator Components
Compare Harness Cluster Orchestrator with AWS Karpenter and discover unique advantages
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
IAM Role
harness-ccm-<cluster>-node
IAM 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 Profile
harness-ccm-<cluster>-inst-prof
Allows 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 Tagging
harness.io/<cluster>
Marks infrastructure (SGs, Subnets, AMIs) for CCM resource discovery
Harness
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 CACM
Components
Core Resources
Namespace
kube-system
Default namespace where CCM orchestrator is installed
Secret
harness-api-key
Stores Harness API token for cluster components
Cluster Orchestrator Components
Deployment
cluster-orch-operator (harness-ccm)
Main controller managing CCM orchestration inside cluster. Limits: CPU: 1, Memory: 1Gi
Deployment
cluster-telemetry-collector (kube-system)
Collects cluster cost/usage data and sends it to Harness. Limits: CPU: 1, Memory: 1Gi
Service
cluster-orch-operator
Cluster Orchestrator operator service
DaemonSet
cluster-orch-interrupt-listener
Listens for spot preemption events and reports to Harness
Service Accounts & RBAC
Each of these components gets a ServiceAccount, ClusterRole, and ClusterRoleBinding:
ccm-cluster-orchestrator-operator
Permissions for the orchestrator operator deployment
ccm-cluster-orchestrator-metrics
Handles metrics collection for observability
ccm-cluster-orchestrator-interruption
Manages pod eviction/node interruption handling
Custom Resource Definitions (CRDs)
nodepools.karpenter.sh
Defines node pools for Karpenter provisioning
nodeclaims.karpenter.sh
Manages node claims for Karpenter
ec2nodeclasses.karpenter.k8s.aws
Defines EC2 node class templates for Karpenter provisioning
workloaddistributionrules.ccm.harness.io
Harness CACM custom CRD to control workload placement and distribution
Last updated
Was this helpful?