How To Create a new Amazon AWS Cloud Provider for Managed Kubernetes
Managed Kubernetes supports adding Amazon AWS as a cloud provider. Once added, you can perform easy one-click deployment of new Kubernetes clusters into AWS and easily scale the clusters up or down as your workloads change.
Following prerequisites must be followed before adding your Amazon AWS account as a cloud provider to Managed Kubernetes and creating new clusters.
1. Choose a compatible set of AWS credentials
- The account that the credentials are tied to must have at least one Route53 hosted zone already created and registered. When creating a cluster, the API FQDN and Service FQDN should be of that hosted zone.
For example, if the hosted zone is of domain name “platform9.system” then the API and Service FQDN should be of the form xxx.platform9.systems.
- Credentials must be capable of adding/deleting the following artifacts. An AWS Policy with these requirements can be downloaded here, imported, and applied to the credentials’ IAM Role.
- VPC (Only if deploying a cluster to a new VPC)
- Subnets in each AZ (Only if deploying a cluster to a new VPC. In an existing VPC, the first subnet of each AZ is used)
- Security Group (For cluster connectivity)
- ELB (For HA Kubernetes API)
- Auto Scaling Groups (For Master and Worker ASGs)
- Route53 Hosted Zone Record sets (For API and Service FQDNs)
- Launch Configuration (For creating EC2 instances)
- Internet Gateway (For exposing the Kubernetes API with HTTPS)
- Routes (For the Internet Gateway)
- IAM Roles and Instance Profiles (For HA etcd and Kubernetes-AWS Integration)
2. Choose compatible AWS Region
AWS limits the number of VPCs in a region to 5. If you deploy a cluster using the “Create New VPC” option, you must ensure the destination region has enough VPC capacity.
Creating a New AWS Cloud Provider
1. Navigate to the ‘Infrastructure’ menu, then the ‘Cloud Providers’ tab. Click on creating a new cloud provider.
2. Select ‘Amazon AWS Provider’ as your cloud provider. Specify AWS access key and secret key.
Read here for information on how to find your AWS access and secret key for your AWS account.
3. That’s it. You AWS cloud provider is now created. The next step is to auto-deploy a new cluster on this cloud provider.