Skip to content

Latest commit

 

History

History
37 lines (26 loc) · 1.63 KB

README.md

File metadata and controls

37 lines (26 loc) · 1.63 KB

Kubernetes + Deployment

Images building + Jenkins

The deployment of images and updating of the Kubernetes services and applications is performed by a Jenkins workflow found here

The images used in deployment are built automatically for the master branch using TravisCI and pushed to Docker Hub (see https://hub.docker.com/r/taccaci/geoapi and https://hub.docker.com/r/taccaci/geoapi-workers).

Kube config

geoapi.yaml describes the configuration of the cluster. The file is adjusted using envsubstr to provide custom values for the image tags, node port and nfs service for the production or staging environments.

The nfsshare.yaml and the nfsshare_pvc.yaml in the repo are used for configuring the nfs share. Note that the configuration (i.e. persistentVolumeClaim) is the same for production and staging except that the clusterIP differs:

  • clusterIP: 10.104.129.89 (prod)
  • clusterIP: 10.102.247.244 (dev)

This service/pod are only set up once manually for production deployment and then once for staging deployment. They do not need to be updated for any changes to source code.

Access and Troubleshooting

cic02 is used to access the cluster for the production (context=wma-geospatial) and staging (context=geoapi-dev) environments.

ssh cic02
CONTEXT=`geoapi-dev`
kubectl get --context=$CONTEXT all
kubectl describe --context=$CONTEXT deployment.apps/geoapi
kubectl logs --tail 100 --context=$CONTEXT deployment.apps/geoapi
kubectl logs --tail 100 --context=$CONTEXT deployment.apps/geoapi-workers