我正在使用 Kubernetes,并且一个训练作业在集群上运行。我使用 TQDM 作为进度条,但与我预期的不同,当我检查 Kubernetes Pod 日志时,进度条没有显示。有没有人有解决这个问题的方法?
我有如下的 k8s 清单,用 Helm 打包。
apiVersion: v1
kind: ServiceAccount
metadata:
{{- template "myFunction" "blah" -}}
Run Code Online (Sandbox Code Playgroud)
我将_helper.tpl
myFunction 定义如下。
{{- define "myFunction" }}
{{- if .Values.nameOverride }}
name: {{ . }}
{{- else }}
name: "test"
{{- end }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)
最后,我values.yaml
定义了nameOverride: ""
. 根据我的理解,由于我没有为 nameOverride 定义任何内容,因此myFunction
应该输出name: "test"
,当我为 nameOverride 定义某些内容时,输出应该为name: "blah"
。但是,我收到以下错误。
Error: template: product-search/templates/_helpers.tpl:2:16: executing "myFunction" at <.Values.nameOverride>: can't evaluate field Values in type string
helm.go:88: [debug] template: product-search/templates/_helpers.tpl:2:16: executing …
Run Code Online (Sandbox Code Playgroud) 我正在构建一个 FastAPI 服务器来接收 slacklash 命令发送的请求。使用下面的代码,我可以看到以下内容:
token=BLAHBLAH&team_id=BLAHBLAH&team_domain=myteam&channel_id=BLAHBLAH&channel_name=testme&user_id=BLAH&user_name=myname&command=%2Fwhatever&text=test&api_app_id=BLAHBLAH&is_enterprise_install=false&response_url=https%3A%2F%2Fhooks.slack.com%2Fcommands%BLAHBLAH&trigger_id=BLAHBLAHBLAH
Run Code Online (Sandbox Code Playgroud)
被打印出来,这正是我在官方文档中看到的有效负载。我正在尝试使用有效负载信息来做某事,我很好奇是否有一种解析此有效负载信息的好方法。我绝对可以使用 split 函数或任何其他漂亮的函数来解析这个有效负载,但我很好奇是否有一种“事实上的”方法来处理松弛有效负载。提前致谢!
from fastapi import FastAPI, Request
app = FastAPI()
@app.post("/")
async def root(request: Request):
request_body = await request.body()
print(request_body)
Run Code Online (Sandbox Code Playgroud) 我安装了 Argo Workflow 的默认舵图,仅将 init.serviceAccount 配置为我创建的 argo-sa。(具有足够授权的ServiceAccount)但是,运行每个工作流都作为serviceaccount Default 运行,我无法弄清楚设置的配置位置。根据 Argo Helm Chart 提供的 README,指定init.serviceAccount
为我创建的 serviceaccount 应该可以解决问题。解决方法是修改默认服务帐户,但似乎不是一个很好的解决方案。有什么我理解错误的吗?提前致谢。
关于使用字典将多个变量传递到 Helm 中的模板,有多个 stackoverflow 答案。
但是,我想将单个变量传递给模板。例如,我想定义如下模板,接收输入(确切地说是一个字符串)。
{{- define "blahblah" $var }}
{{- if .Values.nameOverride }}
name: {{ .Values.nameOverride }}-$var
{{- else }}
name: $var
{{- end }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)
因此,像下面这样写,我希望结果是name: myname-whatever
or name:whatever
(假设.Values.nameOverride
被定义为“myname”)
{{- include "blahblah" "whatever" }}
Run Code Online (Sandbox Code Playgroud)
如何让 helm 知道哪个是模板的输入变量?谢谢你!
helm3 ×2
kubernetes ×2
argoproj ×1
fastapi ×1
go-templates ×1
kubeflow ×1
python ×1
slack ×1
slack-api ×1
tqdm ×1