From 74894db9be94a9e9259b20ea97754a4ea4147e91 Mon Sep 17 00:00:00 2001 From: Catherine Luse Date: Thu, 20 Jun 2019 10:09:53 -0700 Subject: [PATCH 1/4] Add intro to EKS docs --- .../hosted-kubernetes-clusters/eks/_index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md index 20c313d58d3..63c25ed0e15 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md @@ -6,6 +6,9 @@ aliases: - /rancher/v2.x/en/tasks/clusters/creating-a-cluster/create-cluster-eks/ --- +Amazon EKS provides a managed control plane for your Kubernetes cluster. Amazon EKS runs the Kubernetes control plane instances across multiple Availability Zones to ensure high availability. Rancher provides an intuitive user interface for managing and deploying the Kubernetes clusters you run in Amazon EKS. With this guide, you will use Rancher to quickly and easily launch an Amazon EKS Kubernetes cluster in your AWS account. For more information on Amazon EKS, see this [documentation](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html). + + ## Prerequisites in Amazon Web Services 1. Make sure that the account you will be using to create the EKS cluster has the appropriate permissions. Referring to the official [EKS documentation](https://docs.aws.amazon.com/eks/latest/userguide/IAM_policies.html) for details. From 65513f855b427e8a4a18d3b2b574540880312bef Mon Sep 17 00:00:00 2001 From: Catherine Luse Date: Thu, 20 Jun 2019 10:40:22 -0700 Subject: [PATCH 2/4] Add EKS to Rancher architecture diagram --- .../hosted-kubernetes-clusters/eks/_index.md | 6 ++++++ .../v2.x/en/overview/architecture/_index.md | 4 ++-- static/img/rancher/rancher-architecture.png | Bin 81047 -> 0 bytes static/img/rancher/rancher-architecture.svg | 2 ++ 4 files changed, 10 insertions(+), 2 deletions(-) delete mode 100644 static/img/rancher/rancher-architecture.png create mode 100644 static/img/rancher/rancher-architecture.svg diff --git a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md index 63c25ed0e15..a8600f338e9 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md @@ -15,6 +15,12 @@ Amazon EKS provides a managed control plane for your Kubernetes cluster. Amazon 2. Use AWS to create an [access key and client secret for the IAM account](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey) used in the previous step. +## Architecture + +The figure below illustrates the high-level architecture of Rancher 2.x. The figure depicts a Rancher Server installation that manages two Kubernetes clusters: one created by RKE and another created by EKS. + +![Rancher architecture with EKS hosted cluster]({{< baseurl >}}/img/rancher/rancher-architecture.svg) + ## Create the EKS Cluster Use Rancher to set up and configure your Kubernetes cluster. diff --git a/content/rancher/v2.x/en/overview/architecture/_index.md b/content/rancher/v2.x/en/overview/architecture/_index.md index 929699b2601..63833ffcd4c 100644 --- a/content/rancher/v2.x/en/overview/architecture/_index.md +++ b/content/rancher/v2.x/en/overview/architecture/_index.md @@ -33,9 +33,9 @@ A Kubernetes cluster consists of multiple nodes. The majority of Rancher 2.x software runs on the Rancher Server. Rancher Server includes all the software components used to manage the entire Rancher deployment. -The figure below illustrates the high-level architecture of Rancher 2.x. The figure depicts a Rancher Server installation that manages two Kubernetes clusters: one created by RKE and another created by GKE. +The figure below illustrates the high-level architecture of Rancher 2.x. The figure depicts a Rancher Server installation that manages two Kubernetes clusters: one created by RKE and another created by Amazon EKS (Elastic Kubernetes Service). -![Architecture]({{< baseurl >}}/img/rancher/rancher-architecture.png) +![Architecture]({{< baseurl >}}/img/rancher/rancher-architecture.svg) In this section we describe the functionalities of each Rancher server components. diff --git a/static/img/rancher/rancher-architecture.png b/static/img/rancher/rancher-architecture.png deleted file mode 100644 index 9ccff73fc59a6912af2325588932f5385c1a3222..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81047 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

tmy-=5uYMI7DW!BqiK_zSj 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�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 +
Cluster Agent 1
[Not supported by viewer]
Cluster Agent 2
[Not supported by viewer]
Kubelet
[Not supported by viewer]
Kubelet
[Not supported by viewer]
Rancher UI
CLI
API
[Not supported by viewer]
kubectl
K8s API
[Not supported by viewer]
Cluster Controller
[Not supported by viewer]
Rancher API
Server
[Not supported by viewer]
Auth Proxy
[Not supported by viewer]
Rancher Server
[Not supported by viewer]
RKE Nodes
[Not supported by viewer]
AWS EKS Nodes
[Not supported by viewer]
etcd
[Not supported by viewer]
RKE
K8s Master
[Not supported by viewer]
RKE
K8s Master
[Not supported by viewer]
\ No newline at end of file From 08fde0e273b7e6a158b73235d142abc7a9f7f0f5 Mon Sep 17 00:00:00 2001 From: Catherine Luse Date: Thu, 20 Jun 2019 16:27:10 -0700 Subject: [PATCH 3/4] Update prerequisites in EKS docs --- .../hosted-kubernetes-clusters/eks/_index.md | 43 ++++++++++++++++--- 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md index a8600f338e9..be4e2ed8420 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md @@ -11,9 +11,26 @@ Amazon EKS provides a managed control plane for your Kubernetes cluster. Amazon ## Prerequisites in Amazon Web Services -1. Make sure that the account you will be using to create the EKS cluster has the appropriate permissions. Referring to the official [EKS documentation](https://docs.aws.amazon.com/eks/latest/userguide/IAM_policies.html) for details. +To set up a cluster on EKS, you will need to set up an Amazon VPC (Virtual Private Cloud). You will also need to make sure that the account you will be using to create the EKS cluster has the appropriate permissions. For details, refer to the official guide on [Amazon EKS Prerequisites](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-console.html#eks-prereqs). -2. Use AWS to create an [access key and client secret for the IAM account](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey) used in the previous step. + +### Amazon VPC + +You need to set up an Amazon VPC to launch the EKS cluster. The VPC enables you to launch AWS resources into a virtual network that you've defined. For more information, refer to the [Tutorial: Creating a VPC with Public and Private Subnets for Your Amazon EKS Cluster](https://docs.aws.amazon.com/eks/latest/userguide/create-public-private-vpc.html). + +### IAM Policies + +Rancher needs access to your AWS account in order to provision and administer your Kubernetes clusters in Amazon EKS. You'll need to create a user for Rancher in your AWS account and define what that user can access. + +1. Create a user with programmatic access by following the steps [here](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html). + +2. Next, create an IAM policy that defines what this user has access to in your AWS account. It's important to only grant this user minimal access within your account. Follow the steps [here](https://docs.aws.amazon.com/eks/latest/userguide/EKS_IAM_user_policies.html) to create an IAM policy and attach it to your user. + +3. Finally, follow the steps [here](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey) to create an access key and secret key for this user. + +> **Note:** It's important to regularly rotate your access and secret keys. See this [documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#rotating_access_keys_console) for more information. + +For more detailed information on IAM policies for EKS, refer to the official [documentation on Amazon EKS IAM Policies, Roles, and Permissions](https://docs.aws.amazon.com/eks/latest/userguide/IAM_policies.html). ## Architecture @@ -57,9 +74,7 @@ Use Rancher to set up and configure your Kubernetes cluster. Yes | When your cluster nodes are provisioned, they're assigned a both a private and public IP address. No: Private IPs only | When your cluster nodes are provisioned, they're assigned only a private IP address.

If you choose this option, you must also choose a **VPC & Subnet** that allow your instances to access the internet. This access is required so that your worker nodes can connect to the Kubernetes control plane. -1. Now choose a **VPC & Subnet**. Follow one of the sets of instructions below based on your selection from the previous step. - - Amazon Documentation: +1. Now choose a **VPC & Subnet**. For more information, refer to the AWS documentation for [Cluster VPC Considerations](https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html). Follow one of the sets of instructions below based on your selection from the previous step. - [What Is Amazon VPC?](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) - [VPCs and Subnets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) @@ -101,7 +116,7 @@ If you chose this option, you must also choose a **VPC & Subnet** that allow you 1. Choose a **Security Group**. See the documentation below on how to create one. Amazon Documentation: - + - [Cluster Security Group Considerations](https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) - [Security Groups for Your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) - [Create a Security Group](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html#getting-started-create-security-group) @@ -118,3 +133,19 @@ If you chose this option, you must also choose a **VPC & Subnet** that allow you 1. Click **Create**. {{< result_create-cluster >}} + +## Troubleshooting + +For any issues or troubleshooting details for your Amazon EKS Kubernetes cluster, please see this [documentation](https://docs.aws.amazon.com/eks/latest/userguide/troubleshooting.html). + +## AWS Service Events + +To find information on any AWS Service events, please see [this page](https://status.aws.amazon.com/). + +## Security and Compliance + +For more information on security and compliance with your Amazon EKS Kubernetes cluster, please see this [documentation](https://docs.aws.amazon.com/eks/latest/userguide/shared-responsibilty.html). + +## Tutorial + +This [tutorial](https://aws.amazon.com/blogs/opensource/managing-eks-clusters-rancher/) on the AWS Open Source Blog will walk you through how to set up an EKS cluster with Rancher, deploy a publicly accessible app to test the cluster, and deploy a sample project to track real-time geospatial data using a combination of other open-source software such as Grafana and InfluxDB. \ No newline at end of file From a060c2b472b95673faba3d21ef7ba22766390f74 Mon Sep 17 00:00:00 2001 From: Catherine Luse Date: Thu, 20 Jun 2019 17:14:00 -0700 Subject: [PATCH 4/4] Address feedback on EKS docs --- .../hosted-kubernetes-clusters/ack/_index.md | 3 +++ .../hosted-kubernetes-clusters/aks/_index.md | 3 +++ .../hosted-kubernetes-clusters/cce/_index.md | 3 +++ .../hosted-kubernetes-clusters/eks/_index.md | 8 +++++--- .../hosted-kubernetes-clusters/gke/_index.md | 3 +++ .../hosted-kubernetes-clusters/tke/_index.md | 3 +++ .../deployment/quickstart-vagrant/_index.md | 3 +++ 7 files changed, 23 insertions(+), 3 deletions(-) diff --git a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/ack/_index.md b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/ack/_index.md index 6b14326f275..cb3951e4e68 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/ack/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/ack/_index.md @@ -10,6 +10,9 @@ You can use Rancher to create a cluster hosted in Alibaba Cloud Kubernetes (ACK) ## Prerequisites +>**Note** +>Deploying to ACK will incur charges. + 1. In Aliyun, activate the following services in their respective consoles. - [Container Service](https://cs.console.aliyun.com) diff --git a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/aks/_index.md b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/aks/_index.md index ebae39c34f4..dd89c4c4cd0 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/aks/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/aks/_index.md @@ -10,6 +10,9 @@ You can use Rancher to create a cluster hosted in Microsoft Azure Kubernetes Ser ## Prerequisites in the Microsoft Azure Portal +>**Note** +>Deploying to AKS will incur charges. + Obtain the following information from the [Microsoft Azure Portal](https://portal.azure.com) by completing how to [Create Service Principal for Azure AD](https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-create-service-principals#create-service-principal-for-azure-ad). - Your Subscription ID. diff --git a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/cce/_index.md b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/cce/_index.md index db618c01bd0..1a993231f66 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/cce/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/cce/_index.md @@ -10,6 +10,9 @@ You can use Rancher to create a cluster hosted in Huawei Cloud Container Engine ## Prerequisites in Huawei +>**Note** +>Deploying to CCE will incur charges. + 1. Find your project ID in Huawei CCE portal. See the CCE documentation on how to [manage your projects](https://support.huaweicloud.com/en-us/usermanual-iam/en-us_topic_0066738518.html). 2. Create an [Access Key ID and Secret Access Key](https://support.huaweicloud.com/en-us/usermanual-iam/en-us_topic_0079477318.html). diff --git a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md index be4e2ed8420..d3a3af145b5 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/eks/_index.md @@ -11,8 +11,10 @@ Amazon EKS provides a managed control plane for your Kubernetes cluster. Amazon ## Prerequisites in Amazon Web Services -To set up a cluster on EKS, you will need to set up an Amazon VPC (Virtual Private Cloud). You will also need to make sure that the account you will be using to create the EKS cluster has the appropriate permissions. For details, refer to the official guide on [Amazon EKS Prerequisites](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-console.html#eks-prereqs). +>**Note** +>Deploying to Amazon AWS will incur charges. For more information, refer to the [EKS pricing page](https://aws.amazon.com/eks/pricing/). +To set up a cluster on EKS, you will need to set up an Amazon VPC (Virtual Private Cloud). You will also need to make sure that the account you will be using to create the EKS cluster has the appropriate permissions. For details, refer to the official guide on [Amazon EKS Prerequisites](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-console.html#eks-prereqs). ### Amazon VPC @@ -120,12 +122,12 @@ If you chose this option, you must also choose a **VPC & Subnet** that allow you - [Security Groups for Your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) - [Create a Security Group](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html#getting-started-create-security-group) -1. Click **Select Instance Options**, and then edit the node options available. +1. Click **Select Instance Options**, and then edit the node options available. Instance type and size of your worker nodes affects how many IP addresses each worker node will have available. See this [documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) for more information. Option | Description -------|------------ Instance Type | Choose the [hardware specs](https://aws.amazon.com/ec2/instance-types/) for the instance you're provisioning. - Custom AMI Override | If you want to use a custom [Amazon Machine Image](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html#creating-an-ami) (AMI), specify it here. + Custom AMI Override | If you want to use a custom [Amazon Machine Image](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html#creating-an-ami) (AMI), specify it here. By default, Rancher will use the [EKS-optimized AMI](https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html) for the EKS version that you chose. Minimum ASG Size | The minimum number of instances that your cluster will scale to during low traffic, as controlled by [Amazon Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). Maximum ASG Size | The maximum number of instances that your cluster will scale to during high traffic, as controlled by [Amazon Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). User Data | Custom commands can to be passed to perform automated configuration tasks **WARNING: Modifying this may cause your nodes to be unable to join the cluster.** _Note: Available as of v2.2.0_ diff --git a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/gke/_index.md b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/gke/_index.md index 4813de514f1..7664d720dbf 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/gke/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/gke/_index.md @@ -8,6 +8,9 @@ aliases: ## Prerequisites in Google Cloud Platform +>**Note** +>Deploying to GKE will incur charges. + Create a service account using [Google Cloud Platform](https://console.cloud.google.com/projectselector/iam-admin/serviceaccounts). GKE uses this account to operate your cluster. Creating this account also generates a private key used for authentication. The service account requires the following roles: diff --git a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/tke/_index.md b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/tke/_index.md index 007316eedba..ad9c0b4bbde 100644 --- a/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/tke/_index.md +++ b/content/rancher/v2.x/en/cluster-provisioning/hosted-kubernetes-clusters/tke/_index.md @@ -10,6 +10,9 @@ You can use Rancher to create a cluster hosted in Tencent Kubernetes Engine (TKE ## Prerequisites in Tencent +>**Note** +>Deploying to TKE will incur charges. + 1. Make sure that the account you will be using to create the TKE cluster has the appropriate permissions by referring to the [Cloud Access Management](https://intl.cloud.tencent.com/document/product/598/10600) documentation for details. 2. Create a [Cloud API Secret ID and Secret Key](https://console.cloud.tencent.com/capi). diff --git a/content/rancher/v2.x/en/quick-start-guide/deployment/quickstart-vagrant/_index.md b/content/rancher/v2.x/en/quick-start-guide/deployment/quickstart-vagrant/_index.md index c9bb875285a..7b4a5c5278a 100644 --- a/content/rancher/v2.x/en/quick-start-guide/deployment/quickstart-vagrant/_index.md +++ b/content/rancher/v2.x/en/quick-start-guide/deployment/quickstart-vagrant/_index.md @@ -6,6 +6,9 @@ The following steps quickly deploy a Rancher Server with a single node cluster a ## Prerequisites +>**Note** +>Deploying to Vagrant will incur charges. + - [Vagrant](https://www.vagrantup.com): Vagrant is required as this is used to provision the machine based on the Vagrantfile. - [Virtualbox](https://www.virtualbox.org): The virtual machines that Vagrant provisions need to be provisioned to VirtualBox. - At least 4GB of free RAM.