As developers of the HDFS synchronizer service that acts as a part of a GitLab CI/CD pipeline and has access to an HDFS cluster, we need an environment set up that enables us to iterate on the develop -> test -> modify loop in the real world settings.
Here is a list of things needed to achieve this functionality:
- A kubernetes namespace.
- A kubectl config file.
- A GitLab CI pipeline that builds a container image of your application.
- A helm chart that describes your application's execution environment, including a kerberos authentication sidecar definition.
- A helmfile deployment definition, which describes how your chart will be deployed to the dse-k8s cluster.
- A kerberos keytab, which is deployed as a kubernetes secret, for your helmfile deployment to use.
- IP tables firewall rule to allow GitLab trusted runners to talk to the k8s service