k3s/cmd
Kubernetes Submit Queue fd55cb25f1
Merge pull request #55479 from ijc/kubeadm-optional-master-taint
Automatic merge from submit-queue (batch tested with PRs 59767, 56454, 59237, 59730, 55479). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kubeadm: add configuration option to not taint master

**What this PR does / why we need it**:

Although tainting the master is normally a good and proper thing to do in some situations (docker for mac in our case, but I suppose minikube and such as well) having a single host configuration is desirable.

In linuxkit we have a [workaround](443e47c408/projects/kubernetes/kubernetes/kubeadm-init.sh (L19...L22)) to remove the taint after initialisation. With the change here we could simply populate `/etc/kubeadm/kubeadm.yaml` with `noTaintMaster: true` instead and have it never be tainted in the first place.

I have only added this to the config file and not to the CLI since AIUI the latter is somewhat deprecated.

The code also arranges to _remove_ an existing taint if it is unwanted. I'm unsure if this behaviour is correct or desirable, I think a reasonable argument could be made for leaving an existing taint in place too.

Signed-off-by: Ian Campbell <ijc@docker.com>

**Release note**:

Since the requirement for this option is rather niche and not best practice in the majority of cases I'm not sure if it warrants mentioning in the release notes? If it were then perhaps

```release-note
`kubeadm init` can now omit the tainting of the master node if configured to do so in `kubeadm.yaml`.
```
2018-02-12 15:44:41 -08:00
..
clicheck Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
cloud-controller-manager auto generated items 2018-02-07 03:26:51 +00:00
controller-manager/app/options Remove --service-sync-period flag which was not in use 2018-02-05 18:16:27 +00:00
gendocs Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
genkubedocs Merge pull request #53631 from dixudx/enforce_cobra_required_flags 2018-01-18 02:00:27 -08:00
genman Fix scheduler refs in BUILD files. 2018-01-05 15:05:01 -08:00
genswaggertypedocs Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
genutils Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
genyaml Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
gke-certificates-controller Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
hyperkube switch hyper to cobra 2018-01-24 11:02:19 -05:00
importverifier Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
kube-apiserver fix all the typos across the project 2018-02-11 11:04:14 +08:00
kube-controller-manager Merge pull request #59359 from khenidak/svc-remove-sync 2018-02-12 13:50:09 -08:00
kube-proxy Merge pull request #57754 from ncdc/fix-kube-proxy-config-docs-and-json-tags 2018-02-05 19:43:42 -08:00
kube-scheduler Scheduler is not able to read from config file if configmap is not present 2018-02-05 20:39:22 -05:00
kubeadm Merge pull request #55479 from ijc/kubeadm-optional-master-taint 2018-02-12 15:44:41 -08:00
kubectl switch hyper to cobra 2018-01-24 11:02:19 -05:00
kubelet fix all the typos across the project 2018-02-11 11:04:14 +08:00
kubemark Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
linkcheck Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
BUILD Fix scheduler refs in BUILD files. 2018-01-05 15:05:01 -08:00
OWNERS