Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Image Modified


Cluster Sizing:

  • Base Minimal Services:
    • 50+ Services
      • Core, Dashboard, PGR, PT, TL, Billing, Reports, HRMS, etc.
      • Telemetry, Infra, Kafka, ES, ZooKeeper, Zuul, nginx, etc.
    • 100+ Pods (egov, monitoring, logging, es-cluster, Kafka, backbone)


  • K8s Cluster Requirement
    • 1 Bastion- t2micro (Gateway) 2GB RAM 1vCore CPU
    • 2 k8s Master- t2medium 4 GB RAM 2 vCore CPU
    • 6 k8s Nodes with each 16GB RAM and 4 vCore CPUs



                              OR

    • AKS/EKS/GKE Managed Kubernetes Cluster Engine from AWS or Azure or GCP
    • 6 k8s Nodes- m4large with each 16GB RAM and 4 vCore CPUs

...

  • Python based Deployment script that reads the value from the Jinja 2 template and deploys into the cluster.       

  • Each env will have one Jinja Template that will have the definition of services to be deployed, their dependancies like Config, Env, Secrets, DB Credentials, Persistent Volumes, Manifest, Routing Rules, etc..

 

 






Image Added



Cluster/Service Monitoring 


  • Monitoring


    1. Prometheus / CloudWatch for node monitoring
    2. Prometheus for pod level monitoring


  • Logging


    1. Logs are tagged with correlation-id
    2. Fluent-bit for log scraping
    3. Kafka for temporary log storage and processing
    4. Kafka connect to push logs to various sinks
    5. Elasticsearch [sink] / Kibana for visualizations


  • Tracing


    1. Jaeger for distributed tracing
    2. Traces are tagged with correlation-id


Image Added



Image Added


Image Added


Mutistate Cluster Orchestration and Management

Image Added