Skip to content
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

Merged
merged 10 commits into from
Dec 11, 2017
21 changes: 19 additions & 2 deletions docs/setup/independent/create-cluster-kubeadm.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ something provider-specific. The tabs below will contain a notice about what fla
on `kubeadm init` are required.
- Unless otherwise specified, kubeadm uses the default gateway's network interface
to advertise the master's IP. If you want to use a different network interface, specify
`--apiserver-advertise-address=<ip-address>` argument to `kubeadm init`.
`--apiserver-advertise-address=<ip-address>` argument to `kubeadm init`. To configure IPV6 for apiserver, this argument should be specified with IPV6 enclosed in square brackets `--apiserver-advertise-address=[ipv6-address]`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Brackets are not needed when specifying an apiserver-advertise-address IPv6 address. Brackets should only ever be required when specifying an IPv6 tuple, i.e. [fd00:db01::100]:8080.

Instead of the docs you added to line 118, consider the following "To deploy an IPv6 Kubernetes cluster using IPv6 addressing, you must specify an IPv6 --apiserver-advertise-address".

nit: Please replace all references of IPV6 with IPv6 (lowercase v)

- If you would like to customise control plane components, you can do so by providing
extra args to each one, as documented [here](/docs/admin/kubeadm#custom-args).
- `kubeadm init` will first run a series of prechecks to ensure that the machine
Expand All @@ -125,6 +125,21 @@ components. This may take several minutes.
- You can't run `kubeadm init` twice without tearing down the cluster in between
([unless you're upgrading from v1.6 to v1.7](/docs/tasks/administer-cluster/kubeadm-upgrade-1-7/)),
see [Tear Down](#tear-down).
- Optionally, to specify IPV6 for liveness probe for control-plan components and etcd server, you can specify extraArgs in kubeadm.conf file as mentioned in example below. ${APISERVER_ADVERTISE_ADDRESS} is your IPV6 enclosed in square brackets.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Substitute control-plan with controlplane or control plane
Substitute IPV6 with IPv6

Instead of adding line 128. I would add to line 119. Line 119 is already referring to using custom args to customize the controlplane.

Then update /docs/admin/kubeadm#custom-args with your example kubeadm.conf with a sentence that states this is an example of setting an IPv6 address for controller-manager, scheduler and etcd. Replace ${APISERVER_ADVERTISE_ADDRESS} with an example IPv6 apiserver address.


``` yaml
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
apiServerExtraArgs:
etcd-servers: "http://${APISERVER_ADVERTISE_ADDRESS}:2379"
controllerManagerExtraArgs:
address: "${APISERVER_ADVERTISE_ADDRESS}"
schedulerExtraArgs:
address: "${APISERVER_ADVERTISE_ADDRESS}"
etcd:
extraArgs:
listen-client-urls: "http://${APISERVER_ADVERTISE_ADDRESS}:2379"
```

The output should look like:

Expand Down Expand Up @@ -211,7 +226,7 @@ supports Container Network Interface (CNI) based networks (and does not support

Several projects provide Kubernetes pod networks using CNI, some of which also
support [Network Policy](/docs/concepts/services-networking/networkpolicies/). See the [add-ons
page](/docs/concepts/cluster-administration/addons/) for a complete list of available network add-ons.
page](/docs/concepts/cluster-administration/addons/) for a complete list of available network add-ons. IPV6 support was added in CNI v0.6, so for IPV6 based network please use CNI version 0.6 or higher.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sub IPV6 with IPv6

sub 0.6 with 0.6.0 and link to the cni 0.6.0 release page: https://github.com/containernetworking/cni/releases/tag/v0.6.0

Please note that CNI bridge and local-ipam are the only supported drivers in 1.9. Link to these drivers:
https://github.com/containernetworking/plugins/blob/master/plugins/main/bridge/README.md
https://github.com/containernetworking/plugins/blob/master/plugins/ipam/host-local/README.md


**New for Kubernetes 1.6:** kubeadm 1.6 sets up a more secure cluster by
default. As such it uses RBAC to grant limited privileges to workloads running
Expand Down Expand Up @@ -371,6 +386,8 @@ The nodes are where your workloads (containers and pods, etc) run. To add new no
kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>
```

Please note that to specify IPV6 for master-ip it must be enclosed in square brackets, for instance `[fd00::100]`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sub Please note with Note:


The output should look something like:

```
Expand Down