第 3 篇 Helm 命令、环境变量、相关目录

发布于:2024-09-18 ⋅ 阅读:(113) ⋅ 点赞:(0)


🚀 本文内容:

  • 介绍 Helm 命令及选项
  • 介绍 Helm 相关环境变量
  • 介绍 Helm 相关目录

Helm 命令

直接输入 helm help即可查看 helm 命令 的详细使用信息。

The Kubernetes package manager

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                                                                       |
|------------------------------------|-----------------------------------------------------------------------------------|
| $HELM_CACHE_HOME                   | set an alternative location for storing cached files.                             |
| $HELM_CONFIG_HOME                  | set an alternative location for storing Helm configuration.                       |
| $HELM_DATA_HOME                    | set an alternative location for storing Helm data.                                |
| $HELM_DEBUG                        | indicate whether or not Helm is running in Debug mode                             |
| $HELM_DRIVER                       | set the backend storage driver. Values are: configmap, secret, memory, postgres   |
| $HELM_DRIVER_SQL_CONNECTION_STRING | set the connection string the SQL storage driver should use.                      |
| $HELM_MAX_HISTORY                  | set the maximum number of helm release history.                                   |
| $HELM_NAMESPACE                    | set the namespace used for the helm operations.                                   |
| $HELM_NO_PLUGINS                   | disable plugins. Set HELM_NO_PLUGINS=1 to disable plugins.                        |
| $HELM_PLUGINS                      | set the path to the plugins directory                                             |
| $HELM_REGISTRY_CONFIG              | set the path to the registry config file.                                         |
| $HELM_REPOSITORY_CACHE             | set the path to the repository cache directory                                    |
| $HELM_REPOSITORY_CONFIG            | set the path to the repositories file.                                            |
| $KUBECONFIG                        | set an alternative Kubernetes configuration file (default "~/.kube/config")       |
| $HELM_KUBEAPISERVER                | set the Kubernetes API Server Endpoint for authentication                         |
| $HELM_KUBECAFILE                   | set the Kubernetes certificate authority file.                                    |
| $HELM_KUBEASGROUPS                 | set the Groups to use for impersonation using a comma-separated list.             |
| $HELM_KUBEASUSER                   | set the Username to impersonate for the operation.                                |
| $HELM_KUBECONTEXT                  | set the name of the kubeconfig context.                                           |
| $HELM_KUBETOKEN                    | set the Bearer KubeToken used for authentication.                                 |

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 autocompletion scripts 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:
      --debug                       enable verbose output
  -h, --help                        help for helm
      --kube-apiserver string       the address and the port for the Kubernetes API server
      --kube-as-group stringArray   group to impersonate for the operation, this flag can be repeated to specify multiple groups.
      --kube-as-user string         username to impersonate for the operation
      --kube-ca-file string         the certificate authority file for the Kubernetes API server connection
      --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
  -n, --namespace string            namespace scope for this request
      --registry-config string      path to the registry config file (default "/root/.config/helm/registry.json")
      --repository-cache string     path to the file containing cached repository indexes (default "/root/.cache/helm/repository")
      --repository-config string    path to the file containing repository names and URLs (default "/root/.config/helm/repositories.yaml")

Use "helm [command] --help" for more information about a command.

语法:helm [command]

command command 说明
常用命令
repo 仓库管理,添加、列出、删除、更新和索引 chart 仓库
search 搜索 chart
pull 下载 chart 并解压到本地目录
show 查看 chart 信息
install 安装 chart
upgrade 升级 chart
test 运行测试,针对特定的发布
status 查看 chart 状态
list 列出已安装的 chart
history 查看指定发布的历史
rollback 回滚到历史版本
get 下载指定发布的扩展信息(all、hooks、manifest、notes、values)
uninstall 卸载 chart
自定义 chart 相关
create 使用给定的名称创建 chart
dependency 管理 chart 依赖,build、list、update
template 本地渲染模板,针对 chart,显示出按 release 名称的模板文件
lint 验证 chart 是否存在问题
package 将 chart 目录打包(并签名)
verify 验证 chart 是否签名且有效
辅助命令
env 查看 HELM 环境变量
plugin 插件相关,install、list、uninstall
completion 为指定的 shell(比如 bash、fish、zsh)生成自动补全脚本
version 打印客户端版本信息
help 帮助命令

还有一些 Flag 参数:

    --debug                       enable verbose output
-h, --help                        help for helm
    --kube-apiserver string       the address and the port for the Kubernetes API server
    --kube-as-group stringArray   group to impersonate for the operation, this flag can be repeated to specify multiple groups.
    --kube-as-user string         username to impersonate for the operation
    --kube-ca-file string         the certificate authority file for the Kubernetes API server connection
    --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
-n, --namespace string            namespace scope for this request
    --registry-config string      path to the registry config file (default "/root/.config/helm/registry.json")
    --repository-cache string     path to the file containing cached repository indexes (default "/root/.cache/helm/repository")
    --repository-config string    path to the file containing repository names and URLs (default "/root/.config/helm/repositories.yaml")

Helm 环境变量

helm 使用的环境变量如下:

环境变量 描述
$HELM_CACHE_HOME Helm 缓存目录
$HELM_CONFIG_HOME Helm 配置目录
$HELM_DATA_HOME Helm 数据目录
$HELM_DEBUG 是否开启 DEBUG 模式
$HELM_DRIVER 设置后台存储驱动,可选值:configmap、secret、memory、sql
$HELM_DRIVER_SQL_CONNECTION_STRING SQL 存储驱动连接字符串
$HELM_MAX_HISTORY 设置 Helm 发布历史记录最大值
$HELM_NAMESPACE Helm 操作时使用的 namespace
$HELM_NO_PLUGINS 禁用插件,HELM_NO_PLUGINS=1 表示禁用插件
$HELM_PLUGINS 插件目录路径
$HELM_REGISTRY_CONFIG registry 配置文件路径
$HELM_REPOSITORY_CACHE 仓库缓存目录路径
$HELM_REPOSITORY_CONFIG 设置仓库文件路径
$KUBECONFIG 设置 Kubernetes 的可选配置文件(默认是"~/.kube/config")
$HELM_KUBEAPISERVER 设置用于身份认证的 Kubernetes API 服务端
$HELM_KUBECAFILE 设置 Kubernetes 证书机构文件
$HELM_KUBEASGROUPS 使用逗号分隔的列表设置用于模拟的组
$HELM_KUBEASUSER 为操作设置要模拟的用户名
$HELM_KUBECONTEXT 设置 kubeconfig 上下文的名称
$HELM_KUBETOKEN 设置用于身份验证的不记名 KubeToken
$HELM_KUBEINSECURE_SKIP_TLS_VERIFY 设置 Kubernetes API 服务的证书验证是否跳过(不安全)
$HELM_KUBETLS_SERVER_NAME 设置用于验证 Kubernetes API 服务器证书的服务器名称
$HELM_BURST_LIMIT 设置当 kubernetes 服务包含很大量 CRD 时的默认上限值(默认 100, -1 是不可用)

Helm 相关目录

helm 缓存、配置和数据 放在哪里?基于如下配置顺序:

  • 如果设置了 HELM_*_HOME,则使用这个。比如 HELM_CACHE_HOME、HELM_CONFIG_HOME、HELM_DATA_HOME。
  • 否则,在支持 XDG 基本目录规范的系统上,将使用 XDG 变量
  • 最后,使用基于操作系统的默认位置。具体如下表所示:
OS 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

相关博文

1.第 1 篇 Helm 简介及安装
2.第 2 篇 Helm 部署 MySQL【入门案例】
3.第 3 篇 Helm 命令、环境变量、相关目录
4.第 4 篇 Chart 仓库详解
5.第 5 篇 Chart 文件结构详解
6.第 6 篇 自定义 Helm Chart
7.第 7 篇 Helm 部署 Nacos【详细步骤】
8.第 8 篇 Chart 修改入门示例:Nacos
9.第 9 篇 Helm 部署 Seata Server
10.第 10 篇 Chart 修改完美示例:Seata Server
11.第 11篇 Helm 部署 RabbitMQ
12.第 12 篇 Helm 部署 Redis
13.第13 篇 Helm 部署 ElasticSearch


网站公告

今日签到

点亮在社区的每一天
去签到