- On-premise/private cloud accounts
- Interface to access and provision required infra
- In case of SDC, NIC or private DC, it'll be VPN to a allocated vLan.
- SSH access to the VMs/machines.
- Infra Requirements
- Public cloud
- Managed kubernetes service like AKS or EKS or GKE on Azure, AWS and GCP respectively
- Private Clouds (SDC, NIC)
- Clouds like VMware, OpenStack, Nutanix and more, may or may not have kubernetes as a managed service. If yes we may have to estimate only the worker nodes depending on number of ULBs and DIGIT's municipal services that you opt.
- In the absence of the above, you have to provision kubernetes cluster from the plain VMs as per the general kubernetes setup instruction and add worker nodes.
- Public cloud
- Skills
- Understanding of Linux, containers, VM Instances, Load Balancers, Security Groups/Firewalls, nginx, DB Instance, Data Volumes.
- Experience of kubernetes, docker, jenkins, helm, Infra-as-code, Terraform.
- Experience on DevOps/SRE practice on a Microservices and modern infrastructure.
-
- Setting up the persistent disk volumes to attach to DIGIT backbone stateful containers like
- ZooKeeper
- Kafka
- Elastic Search
- Setting up the PostGres DB
- On a public cloud, provision a Postgres RDS like instance.
- Private cloud, provision a postgres DB on a VM with the backup, HA/DRS.
- Preparing Deployment configuration for required DIGIT services using Helm Templates from the InfraOps like the following
- Preparing DIGIT Service helm templates to deploy on kubernetes cluster
- K8s Secrets
- K8s ConfigMaps
- Environment variables of each microservices
- Deploy the stable released version of DIGIT and Required services
- Setting up Jenkins Job to build, bake images and deploy the components for the rolling updates.