diff --git a/content/rancher/v2.x/en/clusters/custom-clusters/_index.md b/content/rancher/v2.x/en/clusters/custom-clusters/_index.md index 631bf950374..824fa97e28b 100644 --- a/content/rancher/v2.x/en/clusters/custom-clusters/_index.md +++ b/content/rancher/v2.x/en/clusters/custom-clusters/_index.md @@ -1,4 +1,116 @@ --- -title: Custom Clusters +title: Creating a Custom Cluster +shortTitle: Custom Cluster weight: 2400 +aliases: + - /rancher/v2.x/en/tasks/clusters/creating-a-cluster/create-cluster-custom/ --- + + +## Objectives + +1. [Provision a Linux Host](#provision-a-linux-host) + + Begin by provisioning a Linux host. + +2. [Create the Cluster](#create-the-custom-cluster) + + Use your new Linux host as a template for your new Kubernetes cluster. + +2. **Amazon Only:** [Tag Resources](#amazon-only-br-tag-resources) + + If you're using Amazon to create your custom cluster, log into AWS and tag your resources with a cluster ID. + +## Provision a Linux Host + +Begin creation of a custom cluster by provisioning a Linux host. Your host can be: + +- A cloud-host virtual machine (VM) +- An on-premise VM +- A bare-metal server + +Provision the host according to the requirements below. + +### Requirements + +{{< requirements_os >}} + +{{< requirements_hardware >}} + +{{< requirements_software >}} + +{{< requirements_ports_rancher >}} + +{{< requirements_ports_rke >}} + +>**Bare-Metal Server Note:** +> +While creating your cluster, you must assign Kubernetes roles to your cluster nodes. If you plan on dedicating bare-metal servers to each role, you must provision a bare-metal server for each role (i.e. provision multiple bare-metal servers). + + +## Create the Custom Cluster + +Use {{< product >}} to clone your Linux host and configure them as Kubernetes nodes. + +1. From the **Clusters** page, click **Add Cluster**. + +2. Choose **Custom**. + +3. Enter a **Cluster Name**. + +4. {{< step_create-cluster_member-roles >}} + +5. {{< step_create-cluster_cluster-options >}} + +6. Click **Next**. + +7. From **Node Role**, choose the roles that you want filled by a cluster node. + + >**Bare-Metal Server Reminder:** + > + If you plan on dedicating bare-metal servers to each role, you must provision a bare-metal server for each role (i.e. provision multiple bare-metal servers). + +8. **Optional**: Add **Labels** to your cluster nodes to help schedule workloads later. + + [Kubernetes Documentation: Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) + +9. Copy the command displayed on screen to your clipboard. + +10. Log in to your Linux host using your preferred shell, such as PuTTy or a remote Terminal connection. Run the command copied to your clipboard. + + >**Note:** Repeat steps 7-10 if you want to dedicate specific hosts to specific node roles. Repeat the steps as many times as needed. + +11. When you finish running the command(s) on your Linux host(s), click **Done**. + +{{< result_create-cluster >}} + +## Amazon Only:
Tag Resources + +If you have configured your cluster to use Amazon as **Cloud Provider**, tag your AWS resources with a cluster ID. + +[Amazon Documentation: Tagging Your Amazon EC2 Resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) + +>**Note:** You can use Amazon EC2 instances without configuring a cloud provider in Kubernetes. You only have to configure the cloud provider if you want to use specific Kubernetes cloud provider functionality. For more information, see [Kubernetes Cloud Providers](https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/) + + +The following resources need to tagged with a `ClusterID`: + +- **Nodes**: All hosts added in Rancher. +- **Subnet**: The subnet used for your cluster +- **Security Group**: The security group used for your cluster. + + >**Note:** Do not tag multiple security groups. Tagging multiple groups generates an error when creating Elastic Load Balancer. + +The tag that should be used is: + +``` +Key=kubernetes.io/cluster/, Value=owned +``` + +`` can be any string you choose. However, the same string must be used on every resource you tag. Setting the tag value to `owned` informs the cluster that all resources tagged with the `` are owned and managed by this cluster. + +If you share resources between clusters, you can change the tag to: + +``` +Key=kubernetes.io/cluster/CLUSTERID, Value=shared +``` diff --git a/content/rancher/v2.x/en/concepts/clusters/cloud-providers/_index.md b/content/rancher/v2.x/en/concepts/clusters/cloud-providers/_index.md index 9df6c2b579d..b894e2d1f13 100644 --- a/content/rancher/v2.x/en/concepts/clusters/cloud-providers/_index.md +++ b/content/rancher/v2.x/en/concepts/clusters/cloud-providers/_index.md @@ -34,7 +34,7 @@ All nodes added to the cluster must be able to interact with EC2 so that they ca [EC2 documentation: Creating an IAM Role](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#create-iam-role) - While creating an [Amazon EC2 cluster]({{< baseurl >}}/rancher/v2.x/en/tasks/clusters/creating-a-cluster/create-cluster-amazon-ec2/#create-the-amazon-ec2-cluster), you must insert the name of the IAM role when creating the **Node Template**. -- While creating a [Custom cluster]({{< baseurl >}}/rancher/v2.x/en/tasks/clusters/creating-a-cluster/create-cluster-custom/), you must manually attach the IAM role to the instance(s). +- While creating a [Custom cluster]({{< baseurl >}}/rancher/v2.x/en/clusters/custom-clusters/), you must manually attach the IAM role to the instance(s). The following IAM role can be created: diff --git a/content/rancher/v2.x/en/tasks/clusters/creating-a-cluster/create-cluster-custom/_index.md b/content/rancher/v2.x/en/tasks/clusters/creating-a-cluster/create-cluster-custom/_index.md deleted file mode 100644 index 4eeb9a14491..00000000000 --- a/content/rancher/v2.x/en/tasks/clusters/creating-a-cluster/create-cluster-custom/_index.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: Creating a Custom Cluster -shortTitle: Custom Cluster -weight: 3225 ---- - -## Objectives - -1. [Provision a Linux Host](#provision-a-linux-host) - - Begin by provisioning a Linux host. - -2. [Create the Cluster](#create-the-custom-cluster) - - Use your new Linux host as a template for your new Kubernetes cluster. - -2. **Amazon Only:** [Tag Resources](#amazon-only-br-tag-resources) - - If you're using Amazon to create your custom cluster, log into AWS and tag your resources with a cluster ID. - -## Provision a Linux Host - -Begin creation of a custom cluster by provisioning a Linux host. Your host can be: - -- A cloud-host virtual machine (VM) -- An on-premise VM -- A bare-metal server - -Provision the host according to the requirements below. - -### Requirements - -{{< requirements_os >}} - -{{< requirements_hardware >}} - -{{< requirements_software >}} - -{{< requirements_ports_rancher >}} - -{{< requirements_ports_rke >}} - ->**Bare-Metal Server Note:** -> -While creating your cluster, you must assign Kubernetes roles to your cluster nodes. If you plan on dedicating bare-metal servers to each role, you must provision a bare-metal server for each role (i.e. provision multiple bare-metal servers). - - -## Create the Custom Cluster - -Use {{< product >}} to clone your Linux host and configure them as Kubernetes nodes. - -1. From the **Clusters** page, click **Add Cluster**. - -2. Choose **Custom**. - -3. Enter a **Cluster Name**. - -4. {{< step_create-cluster_member-roles >}} - -5. {{< step_create-cluster_cluster-options >}} - -6. Click **Next**. - -7. From **Node Role**, choose the roles that you want filled by a cluster node. - - >**Bare-Metal Server Reminder:** - > - If you plan on dedicating bare-metal servers to each role, you must provision a bare-metal server for each role (i.e. provision multiple bare-metal servers). - -8. **Optional**: Add **Labels** to your cluster nodes to help schedule workloads later. - - [Kubernetes Documentation: Labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) - -9. Copy the command displayed on screen to your clipboard. - -10. Log in to your Linux host using your preferred shell, such as PuTTy or a remote Terminal connection. Run the command copied to your clipboard. - - >**Note:** Repeat steps 7-10 if you want to dedicate specific hosts to specific node roles. Repeat the steps as many times as needed. - -11. When you finish running the command(s) on your Linux host(s), click **Done**. - -{{< result_create-cluster >}} - -## Amazon Only:
Tag Resources - -If you have configured your cluster to use Amazon as **Cloud Provider**, tag your AWS resources with a cluster ID. - -[Amazon Documentation: Tagging Your Amazon EC2 Resources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) - ->**Note:** You can use Amazon EC2 instances without configuring a cloud provider in Kubernetes. You only have to configure the cloud provider if you want to use specific Kubernetes cloud provider functionality. For more information, see [Kubernetes Cloud Providers](https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/) - - -The following resources need to tagged with a `ClusterID`: - -- **Nodes**: All hosts added in Rancher. -- **Subnet**: The subnet used for your cluster -- **Security Group**: The security group used for your cluster. - - >**Note:** Do not tag multiple security groups. Tagging multiple groups generates an error when creating Elastic Load Balancer. - -The tag that should be used is: - -``` -Key=kubernetes.io/cluster/, Value=owned -``` - -`` can be any string you choose. However, the same string must be used on every resource you tag. Setting the tag value to `owned` informs the cluster that all resources tagged with the `` are owned and managed by this cluster. - -If you share resources between clusters, you can change the tag to: - -``` -Key=kubernetes.io/cluster/CLUSTERID, Value=shared -``` diff --git a/content/rancher/v2.x/en/tasks/workloads/deploy-workloads/_index.md b/content/rancher/v2.x/en/tasks/workloads/deploy-workloads/_index.md index 0b39a6824ec..05c50f2d412 100644 --- a/content/rancher/v2.x/en/tasks/workloads/deploy-workloads/_index.md +++ b/content/rancher/v2.x/en/tasks/workloads/deploy-workloads/_index.md @@ -39,7 +39,7 @@ Deploy a workload to run an application in one or more containers. > >- In [Amazon AWS](https://aws.amazon.com/), the nodes must be in the same Availability Zone and possess IAM permissions to attach/unattach volumes. > - >- The cluster must be using the [AWS cloud provider](https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/#aws) option. For more information on enabling this option see [Creating an Amazon EC2 Cluster]({{< baseurl >}}/rancher/v2.x/en/tasks/clusters/creating-a-cluster/create-cluster-amazon-ec2/) or [Creating a Custom Cluster]({{< baseurl >}}/rancher/v2.x/en/tasks/clusters/creating-a-cluster/create-cluster-custom/). + >- The cluster must be using the [AWS cloud provider](https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/#aws) option. For more information on enabling this option see [Creating an Amazon EC2 Cluster]({{< baseurl >}}/rancher/v2.x/en/tasks/clusters/creating-a-cluster/create-cluster-amazon-ec2/) or [Creating a Custom Cluster]({{< baseurl >}}/rancher/v2.x/en/clusters/custom-clusters/). 1. Click **Show Advanced Options** and configure: