Docker 如何在没有互联网接入的情况下使用航向图
我们都知道Docker 如何在没有互联网接入的情况下使用航向图,docker,charts,deployment,kubernetes-helm,Docker,Charts,Deployment,Kubernetes Helm,我们都知道helm图表令人惊奇,让我们的生活更轻松 然而,当我想使用helmcharts-而不需要互联网访问时,我得到了一个用例 有两个步骤: 从Git下载图表 从Dockerhub中提取Docker图像(在values.yaml文件中指定) 我该怎么做呢?我知道问题第一部分的答案 实际上,您可以git克隆https://github.com/kubernetes/charts.gitgithub中的所有官方图表,并指定要安装的文件系统中图表(文件夹)的路径 这将以helmfile 执行如下
helm
图表令人惊奇,让我们的生活更轻松
然而,当我想使用helm
charts-而不需要互联网访问时,我得到了一个用例
有两个步骤:
- 从Git下载图表
- 从Dockerhub中提取Docker图像(在
文件中指定)values.yaml
我该怎么做呢?我知道问题第一部分的答案 实际上,您可以
git克隆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"]
如您所见,我已经指定了一些自定义的值\uu ns\u monitoring.yaml
文件
我原始问题的第二部分仍然没有回答
我希望能够告诉docker
在本节中使用本地docker图像
cat values_grafana_ns_monitoring.yaml
replicas: 1
image:
repository: grafana/grafana
tag: 5.0.4
pullPolicy: IfNotPresent
我已设法手动复制/粘贴-然后加载docker图像
所以它在我的电脑里是可见的,但我不知道如何说服我
docker+helmfile使用我的图像。目标是完全处理FLINE安装
有什么想法吗
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
脱机使用“掌舵图”包括从internet上拖动图表,然后安装它:
$ 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
$helm pull
$ls#图表将作为tar拉入本地目录
$helm install.tgz
要使此方法起作用,您需要图表在本地使用的所有docker图像,如您所述
从Dockerhub中提取docker映像而不访问INTERNET
显然,这是不可能的。但是,可以通过将问题分为几个阶段来解决:
或者,您可以查看脱机打包/部署工具,如这对脱机环境很有用。非常感谢!在离线环境中,显然我们没有互联网,只有少数安全虚拟机的安全SSH。因此,我
helm将从具有Internet访问的服务器,scp
拉到离网环境,然后执行helm安装
。