Helm 安裝

helm install

安裝圖表

概要

此命令會安裝圖表封存。

install 參數必須是圖表參考、封裝圖表的路径、未封裝圖表目錄的路径或 URL。

若要覆寫圖表中的值,請使用 '--values' 旗標並傳入檔案,或使用 '--set' 旗標並從命令列傳入設定,若要強制使用字串值,請使用 '--set-string'。您可以使用 '--set-file' 從檔案設定個別值,當值本身對於命令列而言太長或動態產生時。您也可以使用 '--set-json' 從命令列設定 json 值(純量/物件/陣列)。

$ helm install -f myvalues.yaml myredis ./redis

$ helm install --set name=prod myredis ./redis

$ helm install --set-string long_int=1234567890 myredis ./redis

$ helm install --set-file my_script=dothings.sh myredis ./redis

$ helm install --set-json 'master.sidecars=[{"name":"sidecar","image":"myImage","imagePullPolicy":"Always","ports":[{"name":"portname","containerPort":1234}]}]' myredis ./redis

您可以多次指定 '--values'/'-f' 旗標。將會優先考量最後(最右邊)指定的檔案。例如,如果 myvalues.yaml 和 override.yaml 都包含名為 'Test' 的鍵,則 override.yaml 中設定的值將會優先。

$ helm install -f myvalues.yaml -f override.yaml  myredis ./redis

您可以多次指定 '--set' 旗標。將會優先考量最後(最右邊)指定的設定。例如,如果為名為 'foo' 的鍵設定了 'bar' 和 'newbar' 值,則 'newbar' 值將會優先。

$ helm install --set foo=bar --set foo=newbar  myredis ./redis

同樣地,在以下範例中,'foo' 設定為 '["four"]'

$ helm install --set-json='foo=["one", "two", "three"]' --set-json='foo=["four"]' myredis ./redis

在以下範例中,'foo' 設定為 '{"key1":"value1","key2":"bar"}'

$ helm install --set-json='foo={"key1":"value1","key2":"value2"}' --set-json='foo.key2="bar"' myredis ./redis

若要檢查發行版的產生資訊清單而不安裝圖表,可以組合 '--debug' 和 '--dry-run' 旗標。

如果設定了 --verify,則圖表必須具有出處檔案,並且出處檔案必須通過所有驗證步驟。

您可以用六種不同的方式表達您想要安裝的圖表

  1. 透過圖表參考:helm install mymaria example/mariadb
  2. 透過封裝圖表的路径:helm install mynginx ./nginx-1.2.3.tgz
  3. 透過未封裝圖表目錄的路径:helm install mynginx ./nginx
  4. 透過絕對 URL:helm install mynginx https://example.com/charts/nginx-1.2.3.tgz
  5. 透過圖表參考和儲存庫網址:helm install --repo https://example.com/charts/ mynginx nginx
  6. 透過 OCI 註冊表:helm install mynginx --version 1.2.3 oci://example.com/charts/nginx

圖表參考

圖表參考是在圖表儲存庫中參考圖表的便利方式。

當您使用帶有儲存庫前綴 ('example/mariadb') 的圖表參考時,Helm 將會在本地設定中尋找名為 'example' 的圖表儲存庫,然後在該儲存庫中尋找名稱為 'mariadb' 的圖表。它將會安裝該圖表的最新穩定版本,直到您指定 '--devel' 旗標以包含開發版本(alpha、beta 和候選發行版),或使用 '--version' 旗標提供版本號碼。

若要查看圖表儲存庫的列表,請使用 'helm repo list'。若要在儲存庫中搜尋圖表,請使用 'helm search'。

helm install [NAME] [CHART] [flags]

選項

      --atomic                                     if set, the installation process deletes the installation on failure. The --wait flag will be set automatically if --atomic is used
      --ca-file string                             verify certificates of HTTPS-enabled servers using this CA bundle
      --cert-file string                           identify HTTPS client using this SSL certificate file
      --create-namespace                           create the release namespace if not present
      --dependency-update                          update dependencies if they are missing before installing the chart
      --description string                         add a custom description
      --devel                                      use development versions, too. Equivalent to version '>0.0.0-0'. If --version is set, this is ignored
      --disable-openapi-validation                 if set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
      --dry-run string[="client"]                  simulate an install. If --dry-run is set with no option being specified or as '--dry-run=client', it will not attempt cluster connections. Setting '--dry-run=server' allows attempting cluster connections.
      --enable-dns                                 enable DNS lookups when rendering templates
      --force                                      force resource updates through a replacement strategy
  -g, --generate-name                              generate the name (and omit the NAME parameter)
  -h, --help                                       help for install
      --insecure-skip-tls-verify                   skip tls certificate checks for the chart download
      --key-file string                            identify HTTPS client using this SSL key file
      --keyring string                             location of public keys used for verification (default "~/.gnupg/pubring.gpg")
  -l, --labels stringToString                      Labels that would be added to release metadata. Should be divided by comma. (default [])
      --name-template string                       specify template used to name the release
      --no-hooks                                   prevent hooks from running during install
  -o, --output format                              prints the output in the specified format. Allowed values: table, json, yaml (default table)
      --pass-credentials                           pass credentials to all domains
      --password string                            chart repository password where to locate the requested chart
      --plain-http                                 use insecure HTTP connections for the chart download
      --post-renderer postRendererString           the path to an executable to be used for post rendering. If it exists in $PATH, the binary will be used, otherwise it will try to look for the executable at the given path
      --post-renderer-args postRendererArgsSlice   an argument to the post-renderer (can specify multiple) (default [])
      --render-subchart-notes                      if set, render subchart notes along with the parent
      --replace                                    re-use the given name, only if that name is a deleted release which remains in the history. This is unsafe in production
      --repo string                                chart repository url where to locate the requested chart
      --set stringArray                            set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
      --set-file stringArray                       set values from respective files specified via the command line (can specify multiple or separate values with commas: key1=path1,key2=path2)
      --set-json stringArray                       set JSON values on the command line (can specify multiple or separate values with commas: key1=jsonval1,key2=jsonval2)
      --set-literal stringArray                    set a literal STRING value on the command line
      --set-string stringArray                     set STRING values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
      --skip-crds                                  if set, no CRDs will be installed. By default, CRDs are installed if not already present
      --timeout duration                           time to wait for any individual Kubernetes operation (like Jobs for hooks) (default 5m0s)
      --username string                            chart repository username where to locate the requested chart
  -f, --values strings                             specify values in a YAML file or a URL (can specify multiple)
      --verify                                     verify the package before using it
      --version string                             specify a version constraint for the chart version to use. This constraint can be a specific tag (e.g. 1.1.1) or it may reference a valid range (e.g. ^2.0.0). If this is not specified, the latest version is used
      --wait                                       if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment, StatefulSet, or ReplicaSet are in a ready state before marking the release as successful. It will wait for as long as --timeout
      --wait-for-jobs                              if set and --wait enabled, will wait until all Jobs have been completed before marking the release as successful. It will wait for as long as --timeout

從父命令繼承的選項

      --burst-limit int                 client-side default throttling limit (default 100)
      --debug                           enable verbose output
      --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-insecure-skip-tls-verify   if true, the Kubernetes API server's certificate will not be checked for validity. This will make your HTTPS connections insecure
      --kube-tls-server-name string     server name to use for Kubernetes API server certificate validation. If it is not provided, the hostname used to contact the server is used
      --kube-token string               bearer token used for authentication
      --kubeconfig string               path to the kubeconfig file
  -n, --namespace string                namespace scope for this request
      --qps float32                     queries per second used when communicating with the Kubernetes API, not including bursting
      --registry-config string          path to the registry config file (default "~/.config/helm/registry/config.json")
      --repository-cache string         path to the file containing cached repository indexes (default "~/.cache/helm/repository")
      --repository-config string        path to the file containing repository names and URLs (default "~/.config/helm/repositories.yaml")

另請參閱

  • helm - Kubernetes 的 Helm 套件管理器。
由 spf13/cobra 於 2024 年 1 月 24 日自動產生