Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Kubernetes cluster name change

I'm creating a cluster with kubeadm init --with-stuff (Kubernetes 1.8.4, for reasons). I can setup nodes, weave, etc. But I have a problem setting the cluster name. When I open the admin.conf or a different config file I see:

name: kubernetes

When I run kubectl config get-clusters:

NAME
kubernetes

Which is the default. Is there a way to set the cluster name during init (there is no command line parameter)? Or is there a way to change this after the init? The current name is referenced in many files in /etc/kubernetes/

Best Regrads
Kamil

like image 937
Kamil Avatar asked Mar 14 '18 11:03

Kamil


2 Answers

You can now do so using kubeadm's config file. PR here:

https://github.com/kubernetes/kubernetes/pull/60852

Using the kubeadm config you just set the following at the top level

clusterName: kubernetes
like image 170
adam wilhelm Avatar answered Nov 05 '22 16:11

adam wilhelm


No, you cannot change a name of running cluster, because it serves for discovery inside a cluster and this would require near-simultaneous changing it across the cluster.

Sadly, you also cannot change a name of the cluster before init. Here is the issue on Github.

Update: From version 1.12, kubeadm allow you to change a cluster name before an "init" stage.

To do it (for sure for versions >=1.15, for lower versions commands can be different, commands changed somewhen between versions 1.12 and 1.15), you need to set clusterName value in a cluster configuration file like that:

  1. Save default configuration to a file (cluster config is optional, so we need to do that step first for not to write it from scratch) by a kubeadm config print init-defaults < init-config.yaml command.
  2. Set clusterName value in the config.
  3. Run kubeadm init with a config argument: kubeadm init --config init-config.yaml
like image 30
Anton Kostenko Avatar answered Nov 05 '22 16:11

Anton Kostenko