-
Notifications
You must be signed in to change notification settings - Fork 1
CI CD
Infrastructure Deployment (Infra-as-code):
We are creating our infrastructure with a Kubernetes cluster consisting of 1 master and 2 worker nodes on JetStream VMs. We are no longer using Exosphere and have automated the build of our entire infrastructure using OpenStack API, openrc.sh, Terraform and Ansible playbooks. Our Kubernetes cluster configuration has been done using a custom Kubespray configuration.
Jenkins CI/CD:
We have containerized all our services and used Docker Hub to store our images at https://hub.docker.com/r/neoairavataproject/. We have used Jenkins for creating our CI/CD pipeline. Each microservice has its own Jenkinsfile. Our CI/CD pipeline involves running our test suite, building the Docker images, and utilizing the Kubernetes deployment and service YAML files to deploy our pods and create specified replicas on our production Kubernetes cluster. We have configured Jenkins with webhooks in GitHub. Thus, our pipeline is triggered on every new commit, and based on a successful build, the images are deployed on the Kubernetes cluster on our Jetstream machines.
For reference, all branches ending with “-milestone3” are currently being configured in Jenkins.
Visit the below repository readme for details of VM and Kubernetes setup:- VM and Kubernetes Setup
Issues:
- Testing Overview
- Load Testing
- Overall System Load Testing
- Spike Testing
- Fault Tolerance Testing
- Conclusion & Future Improvements
- Data Assimilation
- Architecture Improvements: Message Queues, Caching and Polling
- CI/CD and Infrastructure Deployment
- Visualization
- Custos Deployment Status
- Rancher Setup
- Kubernetes Cluster Deployment using Rancher
- Setting cert-manager, keycloak, consul, vault and MySQL
- Custos Deployment
- JMeter Testing for Custos Deployment with Python SDK
- Custos - Suggested Improvements