In simple terms, Helm is a package manager for Kubernetes. This Hive chart (package) encapsulates all configurations and components needed to deploy a Hive Metastore service in a Kubernetes cluster.
The resources used in the this chart are defined in yaml files inside /templates
directory. The following resources are used:
- Configmap: this kube resource creates volumes that can be attached to containers. Here, we're mounting a volume to the HMS configuration templates directory, which will be used by the HMS docker image to render the
metastore-site.yaml
config file. - Service: this resources is responsible to expose the HMS service to the external.
- Horizontal Pods Autoscaler (HPA): this resource increases the number of pods available in a ReplicaSet based on some thresholds (memory and cpu) in order to guarantee the service availability
- Deployment: this the main resource here, because it specifies pod's configurations and is the link between all resources and the HMS pods.