Deploying HTCondor on demand
Templating an HTCondor k8s cluster: Helm
Helm helps managing Kubernetes applications through a standard templating. The latest version of Helm is maintained by the CNCF - in collaboration with Microsoft, Google, Bitnami and the Helm contributor community. For this hands on we will use the v2 though, since DODAS is currently in the midle of the migration from v2 to v3.
On HelmHub you can find by yourselves the motivation of adopting a widely adopted template format.
Helm uses a packaging format called charts. A chart is a collection of files that describe a related set of Kubernetes resources. A single chart might be used to deploy something simple, like a memcached pod, or something complex, like a full web app stack with HTTP servers, databases, caches, and so on.
Chart folder tree
Charts are created as files laid out in a particular directory tree, then they can be packaged into versioned archives to be deployed.
wordpress/ Chart.yaml # A YAML file containing information about the chart LICENSE # OPTIONAL: A plain text file containing the license for the chart README.md # OPTIONAL: A human-readable README file values.yaml # The default configuration values for this chart templates/ # A directory of templates that, when combined with values, # will generate valid Kubernetes manifest files. templates/NOTES.txt # OPTIONAL: A plain text file containing short usage notes
Values
Templates
Test the deployment
To get the compiled K8s manifest from HELM:
helm template mychart -x templates/deployment.yaml
Live HandsOn:
- configure condor client
- condor_status -any
EXTRA
If you delete the current Helm deployment:
$ helm list NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE condor 1 Wed Nov 27 12:26:18 2019 DEPLOYED helm-chart_htcondor-0.1.0 1.0 default $ helm delete condor
Then you can try by hand:
helm install --name mycondor helm-chart_htcondor/ --values /etc/condor_values.yml