Kubernetes Configuration for RecursiveCall
See https://github.com/davidbetz/recursivecall-go for project details.
This setup has a few components:
- NGINX Ingress Controller
- Network Policy
- ConfigMap (for environment variables)
Ingress controller service type is set to LoadBalancer for cloud. Change for non-cloud.
kubectl apply -f ingress-controller.yml kubectl apply -f services.yml kubectl apply -f .
curl ADDRESS curl ADDRESS/g curl ADDRESS/c curl ADDRESS/a
deployments-go.yml represents a deployment with readiness and liveness probes, so the entire infrastructure will take some time to come online. This is by design.
deployments-js.yml is analagous to doing an upgrade.
The procedure is:
Deploy deployments-js.yml Verify it's running Switch services.yml labels to point to deployments-js deployments. Delete deployments-go deployments.
kubectl apply -f deployments-js.yml kubectl get deployment -l app.kubernetes.io/version=js sed "s/version: go/version: js/g" services.yml | kubectl apply -f - kubectl delete -f deployments-go.yml