Karmada Documentation
website·Indexed 34 days ago
https://karmada.ioAdministrator guides and reliability runbooks for Karmada, including SLO alerts and latency monitoring for the API server, scheduler, and workload synchronization across versions v1.18, v1.19, and Next.
What's inside Karmada
- CronFederatedHPA is a Karmada API resource and controller used for regular, scheduled autoscaling actions. It allows developers to proactively scale workloads (e.g., scaling up 30 minutes before a predictable traffic spike at 9 AM) to ensure availability. The controller runs within the Karmada control plane and modifies replicas or FederatedHPA settings based on predefined cron schedules. This feature requires Karmada version v1.7.0 or later.
Overview of Karmada Events for Operational Visibility
v1.18Karmada uses the Kubernetes event mechanism to record significant state transitions, errors, and milestones across its control plane. These ephemeral records are attached to Kubernetes objects (such as resource templates, bindings, works, and clusters) and are used to troubleshoot resource propagation failures, monitor scheduling and synchronization progress, and audit actions taken by Karmada. Events can be viewed using standard Kubernetes commands.kubectl describe <object-type> <object-name> kubectl get eventsOverview of karmada-search component
v1.16Thekarmada-searchcomponent starts an aggregated server that provides global search and resource proxy capabilities within a multi-cloud environment.karmada-search [flags]Overview of karmada-aggregated-apiserver
v1.17Thekarmada-aggregated-apiservercomponent aggregates all registered clusters in Karmada, allowing users to access member clusters via a proxy endpoint.Overview of Karmada Observability Architecture
Karmada exports Prometheus metrics across all its core components to monitor multi-cluster scheduling, resource propagation, cluster utilization, failover operations, and autoscaling. All components expose metrics endpoints that can be scraped by Prometheus. The components exporting metrics include:
- karmada-apiserver
- karmada-controller-manager
- karmada-scheduler
- karmada-scheduler-estimator
- karmada-agent
- karmada-webhook
- karmada-descheduler
Overview of Karmada Multi-Cluster Orchestration
Karmada (Kubernetes Armada) is a Kubernetes management system designed to run cloud-native applications across multiple Kubernetes clusters and clouds without requiring changes to the applications. It uses Kubernetes-native APIs to provide centralized multi-cloud management, high availability, failure recovery, and traffic scheduling. It is an incubation project of the Cloud Native Computing Foundation (CNCF) and evolves from Kubernetes Federation v1 and v2.Overview of FederatedHPA in Karmada
v1.15FederatedHPA (Horizontal Pod Autoscaler) in Karmada automatically scales the number of workload replicas (such as Deployments or StatefulSets) across multiple clusters to match demand. It increases replicas when load increases (up to a configured maximum) and decreases them when load drops (down to a configured minimum).Overview of Karmada multi-cluster orchestration architecture
Karmada is designed to manage large-scale, multi-cloud Kubernetes environments using an architecture similar to a single Kubernetes cluster, consisting of a control plane, API server, scheduler, and controllers. Key architectural features include:
- Native API Support: The API server provides standard Kubernetes native APIs and extended policy APIs.
- Pluggable Scheduler: The Karmada Scheduler implements multi-dimensional scheduling policies based on fault domains, cluster resources, Kubernetes versions, and enabled add-ons.
- Agent-based Pull Mode: Member cluster synchronization uses a pull mode to reduce control plane pressure and improve scalability for large resource pools.
- Network Flexibility: Supports Execution Controllers and KubeEdge integration to manage clusters across public, private, and edge clouds.
- Execution Spaces: Provides isolation of access permissions and resources across multiple clusters.
Overview of karmada-aggregated-apiserver
Thekarmada-aggregated-apiserveris a component in Karmada (v1.19) that starts an aggregated server. Its primary responsibilities are registering the Cluster API and providing API aggregation capabilities, which allow users to access member clusters directly from the Karmada control plane.karmada-aggregated-apiserver [flags]Overview of karmada-metrics-adapter
v1.15Thekarmada-metrics-adapteris a component used to aggregate metrics from member clusters within a Karmada environment. It functions as an adapter that collects and consolidates metrics data to provide a unified view of cluster performance and resource usage across the federation.karmada-metrics-adapter [flags]Overview of karmada-search component
v1.17Thekarmada-searchcomponent starts an aggregated server designed for multi-cloud environments. It provides two primary capabilities: global search across clusters and resource proxying.karmada-search [flags]Overview of karmada-webhook
v1.17Thekarmada-webhookis a component that starts a webhook server to manage mutation and validation policies for Karmada resources, such asPropagationPolicyandOverridePolicy.karmada-webhook [flags]