Illumina Innovates with Rancher and Kubernetes
Use Rancher to create a Kubernetes cluster in Amazon EC2.
From the Clusters page, click Add Cluster.
Choose Amazon EC2.
Enter a Cluster Name.
Use Member Roles to configure user authorization for the cluster.
Use Cluster Options to choose the version of Kubernetes, what network provider will be used and if you want to enable project network isolation. To see more cluster options, click on Show advanced options. Refer to Selecting Cloud Providers to configure the Kubernetes Cloud Provider.
Add one or more node pools to your cluster.A node pool is a collection of nodes based on a node template. A node Template defines the configuration of a node, like what Operating System to use, number of CPUs and amount of memory. Each node pool must have one or more nodes roles assigned.
Notes: Each node role (i.e. etcd, Control Plane, and Worker) should be assigned to a distinct node pool. Although it is possible to assign multiple node roles to a node pool, this should not be done for production clusters. The recommended setup is to have a node pool with the etcd node role and a count of three, a node pool with the Control Plane node role and a count of at least two, and a node pool with the Worker node role and a count of at least two. Regarding the etcd node role, refer to the etcd Admin Guide.
Notes:
etcd
Control Plane
Worker
Click Add Node Template.
Complete each of the following forms using information available from the EC2 Management Console.
As of v2.2.0, account access information will be stored as a cloud credential. Cloud credentials are stored as Kubernetes secrets.
rancher-nodes
Complete the Rancher Template form to configure the Docker daemon on the instances that will be created.
Labels can be configured on the Docker daemon.
Docker object label documentation
Engine Options customize the configuration of the Docker daemon. Important configuration options might include:
sudo ros engine list
Docker daemon option reference
Click Create.
Optional: Add additional node pools.
Review your cluster settings to confirm they are correct. Then click Create.
Result:
Default
default
System
cattle-system
ingress-nginx
kube-public
kube-system
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupIngress", "ec2:Describe*", "ec2:ImportKeyPair", "ec2:CreateKeyPair", "ec2:CreateSecurityGroup", "ec2:CreateTags", "ec2:DeleteKeyPair" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:REGION::image/ami-*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:placement-group/*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:volume/*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:subnet/*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:key-pair/*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:network-interface/*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:security-group/*" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": [ "ec2:RebootInstances", "ec2:TerminateInstances", "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*" } ] }
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupIngress", "ec2:Describe*", "ec2:ImportKeyPair", "ec2:CreateKeyPair", "ec2:CreateSecurityGroup", "ec2:CreateTags", "ec2:DeleteKeyPair" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "iam:PassRole", "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:REGION::image/ami-*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:placement-group/*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:volume/*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:subnet/*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:key-pair/*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:network-interface/*", "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:security-group/*", "arn:aws:iam::AWS_ACCOUNT_ID:role/YOUR_ROLE_NAME" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": [ "ec2:RebootInstances", "ec2:TerminateInstances", "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*" } ] }