Helm Package Manager for Kubernetes¶
Helm is the package manager for Kubernetes, functioning as a tool to streamline the installation and management of applications.^[600-developer__Kubernetes_and_Helm.md] It utilizes a packaging format called Charts^[600-developer__Kubernetes_and_Helm.md].
Charts¶
A Chart is a collection of files that describe a related set of Kubernetes resources^[600-developer__Kubernetes_and_Helm.md]. A single chart might be used to deploy something as simple as a Deployment and Service, or something as complex as a full web application stack including HTTP servers, databases, and caches^[600-developer__Kubernetes_and_Helm.md].
Charts adhere to a specific file structure: * Chart.yaml: Contains metadata about the chart, such as its name, version, and description^[600-developer__Kubernetes_and_Helm.md]. * values.yaml: Stores the default configuration values for the chart^[600-developer__Kubernetes_and_Helm.md]. * templates/: A directory containing the template files, which are combined with values to generate valid Kubernetes manifest files^[600-developer__Kubernetes_and_Helm.md].
Core Concepts¶
Helm manages the complexity of Kubernetes deployments through several key abstractions^[600-developer__Kubernetes_and_Helm.md]:
- Charts: As mentioned, these are the packages that define the application.
- Repositories: These are the locations (often HTTP servers) where charts are stored and shared.
- Releases: A specific instance of a chart running in a Kubernetes cluster. A single chart can be installed multiple times into the same cluster, creating multiple distinct releases (e.g., different versions of a database or separate instances for different environments)^[600-developer__Kubernetes_and_Helm.md].
Related Concepts¶
- Kubernetes
- [[Containerization]]
- [[Infrastructure as Code]]
Sources¶
600-developer__Kubernetes_and_Helm.md