-
Notifications
You must be signed in to change notification settings - Fork 14.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kubeadm-setup: add page about control plane flags
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
Showing
1 changed file
with
74 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
``` |