Skip to main content
Version: Next

Installation with CLI

Prerequisites

Installation with init flags

Installation with init configuration

karmadactl init allows you to install Karmada by specifying a configuration file, which provides a structured way to define all settings in a YAML file.

Example Configuration File

Here is an example of the configuration file for Karmada deployment:

apiVersion: config.karmada.io/v1alpha1
kind: KarmadaInitConfig
spec:
karmadaCrds: "https://github.com/karmada-io/karmada/releases/download/v1.10.3/crds.tar.gz"
etcd:
local:
imageRepository: "registry.k8s.io/etcd"
imageTag: "3.5.13-0"
initImage:
imageRepository: "docker.io/library/alpine"
imageTag: "3.19.1"
components:
karmadaAPIServer:
imageRepository: "registry.k8s.io/kube-apiserver"
imageTag: "v1.30.0"
karmadaAggregatedAPIServer:
imageRepository: "docker.io/karmada/karmada-aggregated-apiserver"
imageTag: "v1.10.3"
kubeControllerManager:
imageRepository: "registry.k8s.io/kube-controller-manager"
imageTag: "v1.30.0"
karmadaControllerManager:
imageRepository: "docker.io/karmada/karmada-controller-manager"
imageTag: "v1.10.3"
karmadaScheduler:
imageRepository: "docker.io/karmada/karmada-scheduler"
imageTag: "v1.10.3"
karmadaWebhook:
imageRepository: "docker.io/karmada/karmada-webhook"
imageTag: "v1.10.3"

Deploying Karmada with Configuration File

1.Save the example configuration above to a file, e.g., karmada-init-config.yaml.

2.Use the following command to deploy Karmada with the configuration file:

sudo karmadactl init --config /path/to/your/karmada-init-config.yaml
note

You need to use sudo for elevated permissions because karmadactl creates a karmada-apiserver.config file at the /etc/karmada/ directory.

3.This configuration file allows you to define essential parameters, including:

  • certificates: Defines certificate paths and validity period.
  • etcd: Configures Etcd settings, including local or external Etcd options.
  • hostCluster: Specifies host cluster API endpoint and kubeconfig.
  • images: Configures image settings for components.
  • components: Sets up replicas for API Server and other core components.
  • karmadaDataPath: Defines the data path for Karmada.
  • ...

If you need more information about the configuration file, please refer to the karmadactl init API reference.