Skip to main content
Version: v1.0.0


Table of Contents generated with DocToc

Installing Karmada on Cluster from Source

This document describes how you can use the hack/ script to install Karmada on your clusters based on the codebase.

Select a way to expose karmada-apiserver

The hack/ will install karmada-apiserver and provide two ways to expose the server:

1. expose by HostNetwork type

By default, the hack/ will expose karmada-apiserver by HostNetwork.

No extra operations needed with this type.

2. expose by service with LoadBalancer type

If you don't want to use the HostNetwork, you can ask hack/ to expose karmada-apiserver by a service with LoadBalancer type that requires your cluster have deployed the Load Balancer. All you need to do is set an environment:

export LOAD_BALANCER=true


From the root directory the karmada repo, install Karmada by command:

hack/ <kubeconfig> <context_name>
  • kubeconfig is your cluster's kubeconfig that you want to install to
  • context_name is the name of context in 'kubeconfig'

For example:

hack/ $HOME/.kube/config mycluster

If everything goes well, at the end of the script output, you will see similar messages as follows:

Karmada is installed.

Kubeconfig for karmada in file: /root/.kube/karmada.config, so you can run:
export KUBECONFIG="/root/.kube/karmada.config"
Or use kubectl with --kubeconfig=/root/.kube/karmada.config
Please use 'kubectl config use-context karmada-apiserver' to switch the cluster of karmada control plane
And use 'kubectl config use-context your-host' for debugging karmada installation