头盔图表结构
web-service
|_ _ _ templates
|_ _ _ Chart.yaml
|_ _ _ values.yaml
我有头盔图设置,其中我的应用程序头盔图打包为.tgz
并推送至连结回购,请考虑https://localhost:50714/#browse/browse:helm
使用
被添加到头盔repositories.yaml
中
helm repo add nexus https://localhost:50714/
添加回购后,我可以看到图表
helm search
NAME CHART VERSION APP VERSION DESCRIPTION
nexus/web-service 1.0.0-k8s Custom microservice Helm chart
要安装,请执行以下命令
helm install nexus/ioc-web-service --version 1.0.0-k8s
和应用程序得到部署。因此,使用默认值部署了该应用程序。 我需要使它可配置,以便我的默认values.yaml被另一个文件覆盖,可以说 values-override.yaml
web-service
|_ _ _ templates
|_ _ _ Chart.yaml
|_ _ _ values.yaml
|_ _ _ values-override.yaml
我使用头盔提供了-f
命令来传递额外文件的功能,但是它提供了values-override.yaml
未找到的文件
helm install nexus/web-service -f values-override.yaml --version 1.0.0-k8s
需要一些有关如何通过传递的输入,这些反馈以文件格式显示。由于覆盖值可以是动态的。在一个环境中,它可以是1个变量,在另一个环境中,则有10个需要重写的变量
答案 0 :(得分:0)
您没有在图表中添加values-overwrite.yaml
。它是您在本地运行命令的文件。通常由模板任务运行器引擎(例如Ansible或类似应用程序)动态创建。
答案 1 :(得分:0)
以下是Customizing the Chart Before Installing的文档,您可以使用两种方式在安装过程中传递配置数据:
import * as functions from 'firebase-functions'; import * as admin from 'firebase-admin'; import { getLocations, getLocationsByType } from '../service/locationQuery/locationQuery'; //I tried both way, but same error came // admin.initializeApp(functions.config().firebase); admin.initializeApp(); exports.findUsers = functions.https.onCall(async (data: any, context: any) => {
(或--values
):指定带有替代的YAML文件。可以多次指定,最右边的文件将优先-f
:在命令行上指定替代。
您必须记住,需要从--set
文件所在的目录运行helm install
。
如果您仍然看到YAML
,则表明Error: open values-override.yaml: no such file or directory
可能已作为docker容器安装。如果您使用Helm
安装Kubespray
,则会发生这种情况,在这种情况下,可以通过以下方法检查将哪个文件夹安装到docker:
Helm
您可能会看到类似这样的内容:
$ cat /usr/local/bin/helm
这将意味着您需要将cat /usr/local/bin/helm
#!/bin/bash
/usr/bin/docker run --rm \
--net=host \
--name=helm \
-v /etc/ssl:/etc/ssl:ro \
-v /root/.helm:/root/.helm:rw \
-v /usr/share/ca-certificates:/usr/share/ca-certificates:ro \
lachlanevenson/k8s-helm:2.7.0 \
"$@"
复制到values-override.yaml
目录。
您也可以通过/root/.helm
检查目录:
$ helm init