haitham911 / go-k8s-controller

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

go-k8s-controller

Go Report Card Contributions welcome Apache License, Version 2.0

Rebuild pod controller

This service is a controller service making sure we always have a certain number of hot pods running and listening to the queues. Ready to get a file for processing.

Steps of processing

When it starts

  • It will start an amount of pods
  • It will monitor their status and in case one of them get completed it triggers a new one

Configuration

These environment variables are needed by the service

  • POD_COUNT : Count of pods to start
  • MINIO_USER : Minio access key
  • MINIO_PASSWORD : Minio access secret
  • PROCESS_IMAGE : Request processing pod image and tag that will be use
  • MINIO_ENDPOINT : Minio endpoint that will be injected to processing pods
  • PROCESS_POD_CPU_REQUEST : Processing pod cpu
  • PROCESS_POD_CPU_LIMIT : Processing pod cpu limit (if it's more than the request it means we can have a burst)
  • PROCESS_POD_MEMORY_REQUEST : Processing pod memory
  • PROCESS_POD_MEMORY_LIMIT : Processing pod memory limit (if it's more than the request it means we can have a burst)
  • JAEGER_AGENT_HOST : Jaeger host
  • JAEGER_AGENT_PORT : Jaeger port
  • JAEGER_AGENT_ON : If the agent is enabled or disabled
  • MESSAGE_BROKER_USER : Message bbroker instance(rabbitmq) username
  • MESSAGE_BROKER_PASSWORD : Message bbroker instance(rabbitmq) password
  • PROCESS_POD_NAMESPACE : namespace where rebuild pods will be scheduled

Docker build

  • To build the docker image
docker build -t <docker_image_name> .

Testing steps

  • Log in to the VM
  • Make sure that all the pods are running
kubectl  -n icap-adaptation get pods
  • To test, just try to rebuild a file, a rebuild pod will pick it up and a new one should be created

During the test review the pods logs (icap-server, adaptation-service, any rebuild pods)

Rebuild flow to implement

new-rebuild-flow-v2

About


Languages

Language:Go 97.8%Language:Dockerfile 2.2%