Helm
December 3, 2020•685 words
Add a new helm repository
Adding the bitnami repository as example
helm repo add bitnami https://charts.bitnami.com/bitnami
List installed repositories
helm repo list
Search for a package to install
helm search repo [your application name] [--versions]
Common Actions for Helm
- helm search: search for charts
- helm pull: download a chart to your local directory to view
- helm install: upload the chart to Kubernetes
- helm list: list releases of charts
Environment variables:
Name | Description |
---|---|
$HELMCACHEHOME | set an alternative location for storing cached files. |
$HELMCONFIGHOME | set an alternative location for storing Helm configuration. |
$HELMDATAHOME | set an alternative location for storing Helm data. |
$HELM_DRIVER | set the backend storage driver. Values are: configmap, secret, memory, postgres |
$HELMDRIVERSQLCONNECTIONSTRING | set the connection string the SQL storage driver should use. |
$HELMNOPLUGINS | disable plugins. Set HELMNOPLUGINS=1 to disable plugins. |
$KUBECONFIG | set an alternative Kubernetes configuration file (default "~/.kube/config") |
Helm stores cache, configuration, and data based on the following configuration order:
- If a HELM*HOME environment variable is set, it will be used
- Otherwise, on systems supporting the XDG base directory specification, the XDG variables will be used
- When no other location is set a default location will be used based on the operating system
By default, the default directories depend on the Operating System. The defaults are listed below:
Operating System | Cache Path | Configuration Path | Data Path |
---|---|---|---|
Linux | $HOME/.cache/helm | $HOME/.config/helm | $HOME/.local/share/helm |
macOS | $HOME/Library/Caches/helm | $HOME/Library/Preferences/helm | $HOME/Library/helm |
Windows | %TEMP%\helm | %APPDATA%\helm | %APPDATA%\helm |
Usage:
helm [command]
Available Commands:
completion generate autocompletions script for the specified shell
create create a new chart with the given name
dependency manage a chart's dependencies
env helm client environment information
get download extended information of a named release
help Help about any command
history fetch release history
install install a chart
lint examine a chart for possible issues
list list releases
package package a chart directory into a chart archive
plugin install, list, or uninstall Helm plugins
pull download a chart from a repository and (optionally) unpack it in local directory
repo add, list, remove, update, and index chart repositories
rollback roll back a release to a previous revision
search search for a keyword in charts
show show information of a chart
status display the status of the named release
template locally render templates
test run tests for a release
uninstall uninstall a release
upgrade upgrade a release
verify verify that a chart at the given path has been signed and is valid
version print the client version information
Flags:
--add-dir-header If true, adds the file directory to the header
--alsologtostderr log to standard error as well as files
--debug enable verbose output
-h, --help help for helm
--kube-apiserver string the address and the port for the Kubernetes API server
--kube-context string name of the kubeconfig context to use
--kube-token string bearer token used for authentication
--kubeconfig string path to the kubeconfig file
--log-backtrace-at traceLocation when logging hits line file:N, emit a stack trace (default :0)
--log-dir string If non-empty, write log files in this directory
--log-file string If non-empty, use this log file
--log-file-max-size uint Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
--logtostderr log to standard error instead of files (default true)
-n, --namespace string namespace scope for this request
--registry-config string path to the registry config file (default "/home/pj/.config/helm/registry.json")
--repository-cache string path to the file containing cached repository indexes (default "/home/pj/.cache/helm/repository")
--repository-config string path to the file containing repository names and URLs (default "/home/pj/.config/helm/repositories.yaml")
--skip-headers If true, avoid header prefixes in the log messages
--skip-log-headers If true, avoid headers when opening log files
--stderrthreshold severity logs at or above this threshold go to stderr (default 2)
-v, --v Level number for the log level verbosity
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging