unity-sds / unity-on-demand

Unity MGSS On-Demand
Apache License 2.0
0 stars 0 forks source link

develop a push-button CloudFormation template to deploy an EKS cluster with SPS #13

Closed pymonger closed 1 year ago

pymonger commented 1 year ago

Background

In our recent tagup with Wayne Burke and the ITSD folks who will help us develop and maintain our On-Demand AWS Quick Start, a starting point for them would be to deliver a push-button CloudFormation template that will:

  1. deploy an EC2 instance with requisite instance role to deploy AWS resources
  2. deploy an EKS cluster via act
  3. deploy SPS onto that EKS cluster via terraform

Task

This task here is to develop this push-button CloudFormation template in coordination with U-CS (responsible for the EKS cluster provisioning) and U-SPS (responsible for deploying SPS) with a focus on IaaS code reuse and modularity.

DoD

riverma commented 1 year ago

Hey @pymonger - please consider submitting the documentation to a location within the U-CS docs space: https://unity-sds.gitbook.io/docs/developer-docs/common-services

pymonger commented 1 year ago

Status update

Initial implementation and end-to-end deployment test completed. All testing was performed in the MAAP-HEC MCP account, a non-Unity MCP account. The CloudFormation template (https://github.com/unity-sds/unity-on-demand-cloudformation/blob/b17b793ad265e1d3e89f5fe0034bdfdc14849c91/templates/unity_deployer_instance-act.yaml) successfully:

  1. deployed a deployer/management EC2 instance
  2. invoked act via the unity-cs-infra:main docker image to deploy an EKS cluster (underlying calls to eksctl)
  3. provisioned the EKS cluster with necessary kubectl configuration to enable k8s worker node access to the external network, access to the cluster for users with both mcp-tenantDeveloper and mcp-tenantOperator roles, and installed the aws-ebs-csi-driver to allow for dynamic provisioning of EBS-backed PVCs
  4. provisioned SPS onto the EKS cluster using terraform

Screenshots

Final CloudFormation stacks generated

One for the EC2 instance, one for the EKS cluster generated by eksctl via act, and one for the compute node group for the EKS cluster also generated by ekstctl via act. Screen Shot 2022-12-22 at 4.11.36 PM.png

EKS cluster pods running Unity SPS

Screen Shot 2022-12-22 at 4.12.16 PM.png

EKS cluster services running Unity SPS

Screen Shot 2022-12-22 at 4.12.29 PM.png

TODO

Things left to do to complete this ticket:

galenatjpl commented 1 year ago

This ticket is completed. Closing..