First, you need to install Kubernetes cluster with some additional components. You can use seed installation guide for it. After the installation of Kubernetes you will need a copy of the
kubeconfig to create a configuration for the new Kubermatic master/seed setup.
First, you will need to update your
values.yaml and use this file to update the
kubermatic chart on the master cluster using
helm. Afterwards, you will need a part of master
values-seed.yaml and install
Kubermatic in the seed cluster with this values.
Add a second cluster to the
kubeconfig by providing the cluster, context and user information:
apiVersion: v1 clusters: - cluster: certificate-authority-data: ... name: ...
Add a second
context to the
- context: cluster: ... user: .. name: ...
Add a second
user to the
- name: ... user: client-certificate-data: ... client-key-data: ... token: ...
Make sure to provide static, long-lived credentials. Temporary credentials created by authentication providers (like on GKE or EKS) will not work.
datacenters.yamlof the Kubermatic Master
Add a second seed cluster to the
datacenters.yaml. You can change some of the existing data centers to have a new seed. Now put the new base64 encoded values for
datacenters: ... and
kubeconfig: ... into your
values.yaml with configuration for Kubermatic.
For the seed cluster, you need a stripped version of the
values.yaml, you can see an example here
After the configuration file is created, you can install Kubermatic to the cluster. You will need some additional services:
nodeport-proxywhen running on a cloud provider
miniofor storing etcd snapshots
Install Kubermatic on the new seed cluster with the new
helm upgrade --install --wait --timeout 300 --values values-seed.yaml --namespace kubermatic kubermatic charts/kubermatic/
Update the master cluster:
helm upgrade --install --wait --timeout 300 --values values.yaml --namespace kubermatic kubermatic charts/kubermatic/
The second seed cluster is now installed.