Knowledge in the below technologies is required to configure and operate CloudOps for Kubernetes:
- Bash scripting
- Kubernetes, including the following services:
- Ambassador API Gateway
- Cluster Autoscaler
- AWS services including:
- Virtual Private Cloud (VPC)
- Elastic Kubernetes Service (EKS)
- EC2 Instances
- Network Load Balancers (NLBs)
- Elastic Container Registry (ECR)
- Security Groups
- Relational Database Service (RDS)
Elastic Path Code and Nexus Access
Ensure that you have access to clone the Elastic Path Git repositories containing the Elastic Path code. Those are read-only repositories provided by Elastic Path and are hosted at Elastic Path Source Code Repositories.
Additionally, ensure that you have credentials for Elastic Path’s public Nexus repository.
Git Repository Hosting Service
You must clone the Git repositories for Elastic Path Commerce and CloudOps for Kubernetes and host them in a Git repository hosting service of your choice.
Identify and confirm that you can access the Git hosting service you will use. The hosting service must be accessible from systems inside your cloud account and not be blocked by a firewall.
CloudOps for Kubernetes Git Repositories
The below two Git repositories comprise CloudOps for Kubernetes. You must clone them and then host them in your Git repository hosting service.
Elastic Path Commerce Git Repository
The following Git repository provides the Elastic Path Commerce base product. You or your Elastic Path Commerce development team must clone it and then host it in your Git repository hosting service.
Identify and make note of the Elastic Path Commerce version that you will use with CloudOps for Kubernetes.
Ensure that your versions of Elastic Path Commerce and CloudOps for Kubernetes are compatible by reviewing the Compatibility of CloudOps for Kubernetes documentation.
Provisioning a Git SSH Key
The provided Jenkins jobs will check out CloudOps and Elastic Path Commerce source code from your Git repositories. To do so, they will require an SSH key that has read access to those repositories. Identify or create a read-only Git SSH key that the Jenkins jobs will use as part of the CloudOps for Kubernetes build system.
Ensure that the Git key is long-lived and active for as long as you will use Elastic Path CloudOps for Kubernetes. The Git SSH key provided when bootstrapping CloudOps for Kubernetes is added to Jenkins and will continue to be used by the Jenkins instance after you complete initialization. Selecting the SSH key is an important consideration for the longer-term stability and functionality of CloudOps for Kubernetes.
CloudOps for Kubernetes does not support password-protected SSH keys.
Operating CloudOps for Kubernetes requires a certain set of tools. You will clone the CloudOps for Kubernetes Git repository locally and configure and run containers using Docker Compose.
The following are the requirements for the system where you run the steps to bootstrap and operate CloudOps for Kubernetes:
The following software is required:
- Docker, version 18.09.0 or later
- Docker installation. For more information, see:
- Windows: Docker for Windows installation instructions
- Mac: Docker for Mac installation instructions
- CentOS: Docker’s CentOS specific installation instructions
- Debian: Docker’s Debian specific installation instructions
- Fedora: Docker’s Fedora specific installation instructions
- Ubuntu: Docker’s Ubuntu specific installation instructions
- Docker installation. For more information, see:
- Docker-compose, version version 1.25.3 or later. For installation instructions, see Docker Compose installation instructions
- The kubectl CLI, version 1.14.0 or later: For installation instructions, see Kubernetes documentation page
- For AWS:
The system where you run the steps to bootstrap and operate CloudOps for Kubernetes must have stable Internet access, with at least 10Mbps down and 1Mbps up
Cloud Provider Resources
You will need one AWS account per CloudOps for Kubernetes deployment.
AWS accounts have limits on resources. You can increase the limits but you must request the increase through the AWS support teams.
To ensure that a high enough quota exists to create a new EKS cluster and for scaling requirements, calculate the following:
- Number of required cores from the virtual machine size of the cluster
- Initial size of the cluster
- Required size of the cluster due to scaling
The virtual machine size is
aws_eks_instance_type and the initial cluster size is
aws_eks_min_node_count as specified in your
The following examples demonstrate the vCPU quota you might need depending on the cloud you are using:
If you are using the m5a.xlarge instance type, each instance has four vCPUs. For a cluster with five VMs, 20 vCPUs are needed to create the cluster. If scaling requirements are a maximum cluster size of 10 VMs, 40 vCPUs at most are required for scaling. This value is larger than the value required to create the cluster. The value to validate is available with the Running On-Demand All Standard instances vCPUs quota for the region you are using.
For more information about quotas and how to request quota increases, see: