如何在没有互联网连接的情况下使用舵图

use*_*115 6 deployment charts docker kubernetes-helm

我们都知道helm图表很棒,让我们的生活更轻松。

但是,当我想使用helm图表时,我遇到了一个用例 -没有互联网访问

并且有两个步骤:

  • 从 Git 下载图表
  • 从 Dockerhub 中提取 Docker 镜像(在文件中指定values.yaml

我怎样才能做到这一点?

use*_*074 8

离线使用 Helm Chart 需要从互联网上提取图表然后安装它:

$ helm pull <chart name>
$ ls #The chart will be pulled as a tar to the local directory
$ helm install <whatever release name you want>  <chart name>.tgz
Run Code Online (Sandbox Code Playgroud)

为了使此方法发挥作用,您将需要图表在本地使用的所有 docker 映像,如您所提到的。


use*_*115 2

我知道问题第一部分的答案。

实际上,您可以git clone https://github.com/kubernetes/charts.git从 github 中获取所有官方图表,并在要安装的文件系统上指定图表(文件夹)的路径。

这将采用以下形式helmfile

像这样执行命令:

helmfile -f deployment.yaml sync

cat deployment.yaml
...
repositories:
  - name: roboll
    url: http://roboll.io/charts

context: example.int.com                # kube-context (--kube-context)

releases:

  # Prometheus deployment
  - name: my_prometheus              # name of this release
    namespace: monitoring                       # target namespace
    chart: /opt/heml/charts/stable/prometheus                    # the chart being installed to create this release, referenced by `repository/chart` syntax
    values: ["values/values_prometheus_ns_monitoring.yaml"]
    set:                                        # values (--set)
      - name: rbac.create
        value: true
  # Grafana deployment
  - name: my_grafana              # name of this release
    namespace: monitoring                       # target namespace
    chart: /opt/heml/charts/stable/grafana
    values: ["values/values_grafana_ns_monitoring.yaml"]
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我指定了一些自定义values_<software>_ns_monitoring.yaml文件。

我原来问题的第二部分仍然没有答案

我希望能够在本节中docker告诉使用本地docker 映像

cat values_grafana_ns_monitoring.yaml

replicas: 1

image:
  repository: grafana/grafana
  tag: 5.0.4
  pullPolicy: IfNotPresent
Run Code Online (Sandbox Code Playgroud)

我已经设法手动复制/粘贴- 然后加载 docker 图像 ,以便它在我的计算机中可见 - 但我不知道如何说服 docker + helmfile使用我的图像。目标是完全离线安装。

有任何想法吗 ???

 sudo docker images
[sudo] password for jantoth:
REPOSITORY                                                       TAG                 IMAGE ID            CREATED             SIZE
my_made_up_string/custom_grafana/custom_grafana                               5.1.2               917f46a60761        6 days ago          238 MB
Run Code Online (Sandbox Code Playgroud)