-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added IPV6 information to setup cluster using kubeadm #6465
Changes from 6 commits
d5273b9
ccb4dd7
76cbaf0
4b06883
d270ed7
3522d55
aa7bf8f
882beff
c166f3d
eb4e426
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -67,7 +67,7 @@ following steps: | |
See [Securing your installation](#securing-more) for hardening. | ||
|
||
1. kubeadm installs add-on components via the API server. Right now this is | ||
the internal DNS server and the kube-proxy DaemonSet. | ||
the internal DNS server and the kube-proxy DaemonSet. There is no requirement for specifying kube-proxy bind address in kubeadm configuration file. The kube-proxy bind address is dynamically assigned based on the address type of API server (i.e. v4 will assign 0.0.0.0 & v6 will assign :: ). | ||
|
||
1. If `kubeadm init` is invoked with the alpha self-hosting feature enabled, | ||
(`--feature-gates=SelfHosting=true`), the static Pod based control plane will | ||
|
@@ -110,10 +110,7 @@ flags that can be used to customise the Kubernetes installation. | |
|
||
- `--apiserver-advertise-address` | ||
|
||
This is the address the API Server will advertise to other members of the | ||
cluster. This is also the address used to construct the suggested `kubeadm | ||
join` line at the end of the init process. If not set (or set to 0.0.0.0) then | ||
IP for the default interface will be used. | ||
This is the address, the API Server will advertise to other members of the cluster. The API server IP address can either be IPv4 or IPv6. This is also the address used to construct the suggested kubeadm join line at the end of the init process. If not set (or set to 0.0.0.0 for IPv4 or :: for IPv6) then the IP for the default interface will be used. | ||
|
||
This address is also added to the certificate that the API Server uses. | ||
|
||
|
@@ -1030,6 +1027,25 @@ More information on custom arguments can be found here: | |
- [kube-controller-manager](https://kubernetes.io/docs/admin/kube-controller-manager/) | ||
- [kube-scheduler](https://kubernetes.io/docs/admin/kube-scheduler/) | ||
|
||
### Specifying custom arguments for IPv6 interfaces | ||
|
||
Optionally, IPv6 (for a liveness probe for control plane components) and etcd server can also be specified using extra args as mentioned in the following example. Please note that whenever IPv6 needs to be specified as IP:Port, the IPv6 hostname must be enclosed. | ||
|
||
``` | ||
apiVersion: kubeadm.k8s.io/v1alpha1 | ||
kind: MasterConfiguration | ||
apiServerExtraArgs: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure IPv6 args should be placed in a default section. Can we create a new section called There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Lines 1040 and 1041 should be removed from the IPv6 kubeadm conf file example. |
||
etcd-servers: "http://[fd00::101]:2379" | ||
controllerManagerExtraArgs: | ||
address: "fd00::101" | ||
schedulerExtraArgs: | ||
address: "fd00::101" | ||
etcd: | ||
extraArgs: | ||
listen-client-urls: "http://[fd00::101]:2379" | ||
``` | ||
|
||
|
||
## Releases and release notes | ||
|
||
If you already have kubeadm installed and want to upgrade, run `apt-get update | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know really if this needs to be said; the user shouldn't have to care about this, right?