diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/custom-nodes/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/custom-nodes/_index.md index bab199c6855..c877c86f746 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/custom-nodes/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/custom-nodes/_index.md @@ -37,6 +37,8 @@ If you want to reuse a node from a previous custom cluster, [clean the node]({{< Provision the host according to the [installation requirements]({{}}/rancher/v2.6/en/cluster-provisioning/node-requirements) and the [checklist for production-ready clusters.]({{}}/rancher/v2.6/en/cluster-provisioning/production) +If you're using Amazon EC2 as your host and want to use the [dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/) feature, there are additional [requirements]({{}}/rke//latest/en/config-options/dual-stack#requirements) when provisioning the host. + ### 2. Create the Custom Cluster 1. Click **☰ > Cluster Management**. @@ -49,6 +51,9 @@ Provision the host according to the [installation requirements]({{}}/ra > >- See [Enable the Windows Support Option]({{}}/rancher/v2.6/en/cluster-provisioning/rke-clusters/windows-clusters/). >- The only Network Provider available for clusters with Windows support is Flannel. + > + >**Dual-stack on Amazon EC2:** If you're using Amazon EC2 as your host and want to use the [dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/) feature, there are additional [requirements]({{}}/rke//latest/en/config-options/dual-stack#requirements) when configuring RKE. + 6. Click **Next**. 4. Use **Member Roles** to configure user authorization for the cluster. Click **Add Member** to add users that can access the cluster. Use the **Role** drop-down to set permissions for each user. diff --git a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/ec2/_index.md b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/ec2/_index.md index 3944a753a83..cb6bd571f1f 100644 --- a/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/ec2/_index.md +++ b/content/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools/ec2/_index.md @@ -50,6 +50,8 @@ Creating a [node template]({{}}/rancher/v2.6/en/cluster-provisioning/rk 1. Fill out a node template for EC2. For help filling out the form, refer to [EC2 Node Template Configuration.](./ec2-node-template-config) 1. Click **Create**. + >**Note:** If you want to use the [dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/) feature, there are additional [requirements]({{}}/rke//latest/en/config-options/dual-stack#requirements) that must be taken into consideration. + ### 3. Create a cluster with node pools using the node template Add one or more node pools to your cluster. For more information about node pools, see [this section.]({{}}/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools) @@ -60,6 +62,8 @@ Add one or more node pools to your cluster. For more information about node pool 1. Create a node pool for each Kubernetes role. For each node pool, choose a node template that you created. For more information about node pools, including best practices for assigning Kubernetes roles to them, see [this section.]({{}}/rancher/v2.6/en/cluster-provisioning/rke-clusters/node-pools) 1. Click **Add Member** to add users that can access the cluster. Use the **Role** drop-down to set permissions for each user. 1. Use **Cluster Options** to choose the version of Kubernetes that will be installed, what network provider will be used and if you want to enable project network isolation. Refer to [Selecting Cloud Providers]({{}}/rancher/v2.6/en/cluster-provisioning/rke-clusters/options/cloud-providers/) to configure the Kubernetes Cloud Provider. For help configuring the cluster, refer to the [RKE cluster configuration reference.]({{}}/rancher/v2.6/en/cluster-provisioning/rke-clusters/options) + + >**Note:** If you want to use the [dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/) feature, there are additional [requirements]({{}}/rke//latest/en/config-options/dual-stack#requirements) that must be taken into consideration. 1. Click **Create**. **Result:** diff --git a/content/rke/latest/en/config-options/dual-stack/_index.md b/content/rke/latest/en/config-options/dual-stack/_index.md new file mode 100644 index 00000000000..1bec3578e71 --- /dev/null +++ b/content/rke/latest/en/config-options/dual-stack/_index.md @@ -0,0 +1,39 @@ +--- +title: Dual-stack +weight: 255 +--- + +As of RKE `v1.3.0`, [dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/) networking support has been added, which allows allocating both IPv4 and IPv6 addresses to pods and services. + +### Requirements + +In order to use the dual-stack feature, RKE and the infrastructure it's deploy to must be configured as follows: + +- Kubernetes 1.21 or newer is used. +- RKE is configured to use Calico as the Container Network Interface (CNI) provider. Other providers are not supported. +- RKE is deployed on Amazon EC2 instances with the following prerequisites: + - Enable IPv6 support: set the network range at VPC and its subnetworks. + - Add a IPv6 default gateway to VPC routes. + - Add inbound/outbound rules for IPv6 traffic to your cluster's security group(s). + - Ensure instances have `Auto-assign IPv6 IP` enabled. See the [AWS documentation](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html) for instructions. + - Disable source/destination checks on all instances in the cluster. See the [AWS documentation](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck) for instructions. + +For more information on configuring your AWS enivronment for IPv6, refer to the AWS [Getting started with IPv6](https://docs.aws.amazon.com/vpc/latest/userguide/get-started-IPv6.html) documentation. + +### Example RKE Configuration + +The following is an example RKE configuration that can be used to deploy RKE with dual-stack support configured: + + +``` +kubernetes_version: "v1.21.1-rancher2-1" +services: + kube-api: + service_cluster_ip_range: 10.43.0.0/16,fd98::/108 + kube-controller: + service_cluster_ip_range: 10.43.0.0/16,fd98::/108 + cluster_cidr: 10.42.0.0/16,fd01::/64 + +network: + plugin: calico +```