69 lines
4.4 KiB
Markdown
69 lines
4.4 KiB
Markdown
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
|
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
|
|
|
|
- [Installing Karmada on Cluster from Source](#installing-karmada-on-cluster-from-source)
|
|
- [Select a way to expose karmada-apiserver](#select-a-way-to-expose-karmada-apiserver)
|
|
- [1. expose by service with `LoadBalancer` type](#1-expose-by-service-with-loadbalancer-type)
|
|
- [2. expose by service with `ClusterIP` type](#2-expose-by-service-with-clusterip-type)
|
|
- [Install](#install)
|
|
|
|
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
|
|
|
# Installing Karmada on Cluster from Source
|
|
|
|
This document describes how you can use the `hack/remote-up-karmada.sh` script to install Karmada on
|
|
your clusters based on the codebase.
|
|
|
|
## Select a way to expose karmada-apiserver
|
|
|
|
The `hack/remote-up-karmada.sh` will install `karmada-apiserver` and provide two ways to expose the server:
|
|
|
|
### 1. expose by `HostNetwork` type
|
|
|
|
By default, the `hack/remote-up-karmada.sh` 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/remote-up-karmada.sh` 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:
|
|
```bash
|
|
export LOAD_BALANCER=true
|
|
```
|
|
|
|
## Install
|
|
From the `root` directory the `karmada` repo, install Karmada by command:
|
|
```bash
|
|
hack/remote-up-karmada.sh <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:
|
|
```bash
|
|
hack/remote-up-karmada.sh $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 successfully.
|
|
|
|
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
|
|
``` |