问题标签 [helmfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6290 浏览

postgresql - 错误:YAML 解析错误 - 将 YAML 转换为 JSON 时出错:yaml: control characters are not allowed

我正在使用 PostgreSQL 掌舵图并在添加 init.sql 脚本/charts/postgresql/files/docker-entrypoint-initdb.d并运行helm install 时遇到问题,我遇到以下问题 -

我相信这与 Mac 引入的一些问题有关我目前使用的是 MacOS Mojave 版本 - 10.14.6

我在这里上传了文件https://github.com/prav10194/helm-charthttps://github.com/prav10194/helm-chart/blob/master/charts/postgresql-8.6.16.tgz是一个带有 sql 脚本的https://github.com/prav10194/helm-chart/blob/master/charts/postgresql-8.6.12.tgz没有 sql 脚本。

在 minikube 版本上运行它:v1.6.2

头盔版本:

0 投票
2 回答
7639 浏览

kubernetes-helm - Helm:升级失败:无法通过更新字段图像修补 ...

我正在尝试部署更新。安装工作正常,但是当我更改 Job 的 yaml 文件中的图像字段并尝试滚动更新时,会发生错误。

错误:升级失败:无法使用种类作业修补“dev1-test-db-migrate-job”:Job.batch “dev1-test-db-migrate-job”无效:spec.template:无效值:core.PodTemplateSpec{ ObjectMeta:v1.ObjectMeta{Name:"", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time. Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[ string]string{"controller-uid":"e60854c6-9a57-413c-8f19-175a755c9852", "job-name":"dev1-test-db-migrate-job", "target-app":"db-migrate ", "target-domain":"dev1...", "target-service":"test"}, 注释:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Finalizers:[]string(nil), ClusterName:"", ManagedFields:[]v1.ManagedFieldsEntry(nil)}, Spec:core。 PodSpec{Volumes:[]core.Volume(nil), InitContainers:[]core.Container(nil), Containers:[]core.Container{core.Container{Name:"app", Image:"...:insurance -master-682", 命令:[]string{"/bin/sh", "-c"}, Args:[]string{"java -jar ./db/liquibase.jar --logLevel=debug --classpath =./db/mariadb-java-client-2.5.3.jar --driver=org.mariadb.jdbc.Driver --changeLogFile=./db/changelog-insurance.xml --url=$DB_HOST --username= $DB_USER --password=$DB_PASSWORD update"}, WorkingDir:"", Ports:[]core.ContainerPort(nil), EnvFrom:[]core.EnvFromSource{core.EnvFromSource{Prefix:"", ConfigMapRef:(*core .ConfigMapEnvSource)(nil), SecretRef:(*core.SecretEnvSource)(0xc01a48c8a0)}},Env:[]core.EnvVar(nil),Resources:core.ResourceRequirements{Limits:core.ResourceList{"cpu":resource.Quantity{i:resource.int64Amount{value :200, scale:-3}, d:resource.infDecAmount{Dec:(*inf.Dec)(nil)}, s:"200m", Format:"DecimalSI"}, "memory":resource.Quantity{i :resource.int64Amount{value:268435456, scale:0}, d:resource.infDecAmount{Dec:(*inf.Dec)(nil)}, s:"", Format:"BinarySI"}}, Requests:core。 ResourceList{"cpu":resource.Quantity{i:resource.int64Amount{value:100, scale:-3}, d:resource.infDecAmount{Dec:(*inf.Dec)(nil)}, s:"100m" , 格式:"DecimalSI"}, "memory":resource.Quantity{i:resource.int64Amount{value:134217728, scale:0}, d:resource.infDecAmount{Dec:(*inf.Dec)(nil)}, s:"",格式:"BinarySI"}}}, VolumeMounts:[]core.VolumeMount(nil), VolumeDevices:[]core.VolumeDevice(nil), LivenessProbe:(*core.Probe)(nil), ReadinessProbe:(*core.Probe)(nil ), StartupProbe:(*core.Probe)(nil), Lifecycle:(*core.Lifecycle)(nil), TerminationMessagePath:"/dev/termination-log", TerminationMessagePolicy:"File", ImagePullPolicy:"IfNotPresent", SecurityContext :(*core.SecurityContext)(nil), Stdin:false, StdinOnce:false, TTY:false}}, EphemeralContainers:[]core.EphemeralContainer(nil), RestartPolicy:"Never", TerminationGracePeriodSeconds:(*int64)(0xc014591f78 ), ActiveDeadlineSeconds:(*int64)(nil), DNSPolicy:"ClusterFirst", NodeSelector:map[string]string(nil), ServiceAccountName:"", AutomountServiceAccountToken:(*bool)(nil), NodeName:"", SecurityContext :(*核。PodSecurityContext)(0xc010460000), ImagePullSecrets:[]core.LocalObjectReference{core.LocalObjectReference{Name:"artifactory-tradeplace-registry"}}, 主机名:"", 子域:"", Affinity:(*core.Affinity)(nil ), SchedulerName:"default-scheduler", Tolerations:[]core.Toleration(nil), HostAliases:[]core.HostAlias(nil), PriorityClassName:"", Priority:(*int32)(nil), PreemptionPolicy:( *core.PreemptionPolicy)(nil), DNSConfig:(*core.PodDNSConfig)(nil), ReadinessGates:[]core.PodReadinessGate(nil), RuntimeClassName:(*string)(nil), Overhead:core.ResourceList(nil) , EnableServiceLinks:(*bool)(nil), TopologySpreadConstraints:[]core.TopologySpreadConstraint(nil)}}:字段不可变主机名:“”,子域:“”,亲和力:(*core.Affinity)(nil),SchedulerName:“default-scheduler”,Tolerations:[]core.Toleration(nil),HostAliases:[]core.HostAlias(nil ), PriorityClassName:"", Priority:(*int32)(nil), PreemptionPolicy:(*core.PreemptionPolicy)(nil), DNSConfig:(*core.PodDNSConfig)(nil), ReadinessGates:[]core.PodReadinessGate(nil ), RuntimeClassName:(*string)(nil), Overhead:core.ResourceList(nil), EnableServiceLinks:(*bool)(nil), TopologySpreadConstraints:[]core.TopologySpreadConstraint(nil)}}:字段不可变主机名:“”,子域:“”,亲和力:(*core.Affinity)(nil),SchedulerName:“default-scheduler”,Tolerations:[]core.Toleration(nil),HostAliases:[]core.HostAlias(nil ), PriorityClassName:"", Priority:(*int32)(nil), PreemptionPolicy:(*core.PreemptionPolicy)(nil), DNSConfig:(*core.PodDNSConfig)(nil), ReadinessGates:[]core.PodReadinessGate(nil ), RuntimeClassName:(*string)(nil), Overhead:core.ResourceList(nil), EnableServiceLinks:(*bool)(nil), TopologySpreadConstraints:[]core.TopologySpreadConstraint(nil)}}:字段不可变DNSConfig:(*core.PodDNSConfig)(nil), ReadinessGates:[]core.PodReadinessGate(nil), RuntimeClassName:(*string)(nil), Overhead:core.ResourceList(nil), EnableServiceLinks:(*bool)(nil ), TopologySpreadConstraints:[]core.TopologySpreadConstraint(nil)}}: 字段是不可变的DNSConfig:(*core.PodDNSConfig)(nil), ReadinessGates:[]core.PodReadinessGate(nil), RuntimeClassName:(*string)(nil), Overhead:core.ResourceList(nil), EnableServiceLinks:(*bool)(nil ), TopologySpreadConstraints:[]core.TopologySpreadConstraint(nil)}}: 字段是不可变的

还是没明白哪个字段应该是不可变的,大概是Image,不过很奇怪,能嵌入Image是有道理的。

例如,当我将字段图像从 ...: insurance-master-682 更改为 ...: insurance-master-681 时,会发生错误

每次安装或更新时,我都会更改图表文件,更改版本字段。那么,有人遇到过这种情况吗?虽然我看到唯一的出路是在更新之前应用“kubectl delete job ...”

'templetes' 目录中的 yamls 的一部分:

Chart.yaml 示例

0 投票
1 回答
192 浏览

kubernetes - 部署到 Kubernetes

我想在 Kubernetes 上部署前端和后端应用程序。我写了 yaml 文件(我从 helm 模板得到这个):

但是部署时出现错误:

0 投票
1 回答
253 浏览

bash - 使用 Helm 图表在部署清单中序列化 Pod 的创建

所以我有一个部署 pod 的 helm 图表,所以下一个任务是在第一个 pod 运行后创建另一个 pod。

所以我在图表/模板中创建了一个简单的 pod.yaml,它创建了一个简单的 pod-b,所以下一步只在 pod-a 运行后创建 pod-b。

所以只是掌舵钩子,但不认为他们关心吊舱状态。

另一个想法是使用如下所示的 Init 容器,但不确定如何编写命令来查找正在运行的 pod?

另一个想法是一个简单的脚本来检查 pod 状态,例如:

任何建议都会很棒。

0 投票
1 回答
5351 浏览

kubernetes - 使用 yq 更新 yaml 中的嵌套数组值

给定一个 yaml 文件(helmfile),如下所示

我正在尝试找出一种更新特定图像标签的干净方法。例如,我想image.bar_proxy.tag从更新4651.

我有以下内容,可以完成这项工作,但它要求您知道数组项的确切索引:

因此,如果数组顺序在某个时候发生变化,这将会中断。

一个首选的解决方案是:“将 image.bar_proxy.tag 值从46where 51set[].name==image.bar_proxy.tag 更新”。关于如何实现更具体的条件选择的任何想法?

仅供参考我们的 yq 版本:

0 投票
1 回答
3058 浏览

kubernetes - if 语句工作错误

这是我的templates/deployment.yaml代码段:

目前,我得到:

它让我:

在此上下文中不允许块序列条目

我试图清理一下代码:

它的渲染是正确的。

if陈述有什么问题?

0 投票
1 回答
1494 浏览

kubernetes - 在 Helm File 下使用 Kubernetes Secret

在具有 base64 编码值的 opaque 类型的集群中有 Kubernetes 机密文件。如何使用此文件来引用 helm 文件中的秘密,该文件会拉出 helm 图表进行部署?

下面是我的 helm 文件格式

0 投票
1 回答
204 浏览

go-templates - 无法将 readFile 的输出转换为 List 进行迭代

我正在使用进行 helm 发布。

我有一个 yaml 文件projects.yaml

values.yaml.gotmpl中,我想遍历projects.yaml的内容:

不幸的是,我收到了这个错误:

我做了很多盲目的尝试来让它发挥作用:

  • {{ range $_, $project := $projects | fromYaml }}
  • {{ range $_, $project := $projects | toYaml }}
  • {{ range $_, $project := $projects | list }}

没门

0 投票
1 回答
170 浏览

kubernetes - 如何访问同一节点中的 Pod?(舵)

我掌舵有两个图表。

图表 A 的环境具有图表 B 的 uri

图表 B 的环境具有图表 A 的 uri

当我使用 env(图表 B 的 URI)安装图表 A 时,它会为图表 A 提供动态节点 ip 和节点端口。然后我使用 env(图表 A 的 URI)安装图表 B,它会为图表提供动态节点 ip 和节点端口B.

但是图表 B 的旧节点 ip 和节点端口存在于图表 A 环境中。

如果我在图表 A 环境中更新它并重新安装,它会为图表 A 提供新的动态节点 ip 和节点端口,而图表 B 中不存在。

有没有办法解决这个问题?

0 投票
2 回答
929 浏览

kubernetes - 在 Kubernetes 上设置 redis 集群

我想创建一个主 + 从 Redis 集群。表将为每个环境添加前缀。任何支持上述功能的代码都会有所帮助。