Skip to content

Commit

Permalink
kubeadm-setup: add page about control plane flags
Browse files Browse the repository at this point in the history
This page adds instructions on how to use the kubeadm config
to pass flags to control plane components.

The provided examples are pretty basic. Later this can be expanded with
actual user stories.
  • Loading branch information
neolit123 committed Jun 18, 2018
1 parent b65e581 commit 47a05ee
Showing 1 changed file with 74 additions and 0 deletions.
74 changes: 74 additions & 0 deletions content/en/docs/setup/independent/control-plane-flags.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
reviewers:
- sig-cluster-lifecycle
title: Customizing control plane configuration with kubeadm
---

{{% capture overview %}}

kubeadm’s configuration exposes the following fields that can be used to override the default flags passed to control plane components such as the APISever, ControllerManager and Scheduler:

- `APIServerExtraArgs`
- `ControllerManagerExtraArgs`
- `SchedulerExtraArgs`

These fields consist of `key: value` pairs. To override a flag for a control plane component:
1) Add the appropriate field to your configuration.
2) Add the flags to override to the field.

For more details on each field in the configuration you can navigate to our
[API reference pages](https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm#MasterConfiguration).

{{% /capture %}}

## APIServer flags

For details, see the [reference documentation for kube-apiserver](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/).

Example usage:
```yaml
apiVersion: kubeadm.k8s.io/v1alpha2
kind: MasterConfiguration
kubernetesVersion: v1.11.0
metadata:
name: 1.11-sample
apiServerExtraArgs:
advertise-address: 192.168.0.103
anonymous-auth: false
enable-admission-plugins: AlwaysPullImages,DefaultStorageClass
audit-log-path: /home/johndoe/audit.log
```
## ControllerManager flags
For details, see the [reference documentation for kube-controller-manager](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/).
Example usage:
```yaml
apiVersion: kubeadm.k8s.io/v1alpha2
kind: MasterConfiguration
kubernetesVersion: v1.11.0
metadata:
name: 1.11-sample
controllerManagerExtraArgs:
cluster-signing-key-file: /home/johndoe/keys/ca.key
bind-address: 0.0.0.0
deployment-controller-sync-period: 50
```
## Scheduler flags
For details, see the [reference documentation for kube-scheduler](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/).
Example usage:
```yaml
apiVersion: kubeadm.k8s.io/v1alpha2
kind: MasterConfiguration
kubernetesVersion: v1.11.0
metadata:
name: 1.11-sample
schedulerExtraArgs:
address: 0.0.0.0
config: /home/johndoe/schedconfig.yaml
kubeconfig: /home/johndoe/kubeconfig.yaml
```

0 comments on commit 47a05ee

Please sign in to comment.