如果另一个用户部署了舵图。如果我连接到该集群并使用 helm list 它不会显示版本。如何获取由另一个用户为同一集群部署的 helm 中的版本列表。
如果可以的话我们怎样才能做到这一点。
如何在循环内.Values.someVal
从values.yaml
文件获取或通过 cli 传递{{ range .Values.smtg\xc2\xa0}}
?
例如。
\nspec:\n containers:\n {{ range $k, $v := .Values.smtg }}\n - name: {{ $k }}\n image: {{ printf "%s:%s" (required "no img" $v) (required "no tag" .Values.someVal) | quote }} <<<--- how can I get .Values.someVal from values.yaml or cli? \n {{- end }}\n
Run Code Online (Sandbox Code Playgroud)\n如果我尝试让他们在一起,.Values.smtg
我会得到:... at <.Values.someVal>: nil pointer evaluating interface {}
我遇到了容器内容的差异,这取决于我是通过docker run -i -t <container> bash
还是打开 bash shell docker-compose run <container> bash
,但我不知道/不明白这是怎么可能的。
为了帮助解释,请从我的终端查看此屏幕截图。在这两种情况下,我都在运行根据我的代码blaze
构建的名为的图像Dockerfile
。一个构建过程中的步骤是创建一个名为virutalenv venv
,但是当我打开通过bash shell的docker-compose
这个virtualenv中似乎并没有我跑的时候不像存在docker run ...
。
我对使用 Docker 设置自己的构建比较陌生,但是如果它们都引用相同的图像,那么ls
bash shell 中的输出应该是相同的吗?我将不胜感激任何对资源的帮助或指导,以解释这里究竟出了什么问题......
另外一点,运行 docker images 表明两个命令必须使用相同的图像......
提前致谢!
这是我的Dockerfile
:
FROM blaze-base-image:latest
# add an URL that PIP automatically searches (e.g., Azure Artifact Store URL)
ARG INDEX_URL
ENV PIP_EXTRA_INDEX_URL=$INDEX_URL
# Copy source code to docker image
RUN mkdir /opt/app
COPY . /opt/app
RUN ls …
Run Code Online (Sandbox Code Playgroud) 使用 jq,我从数据源中提取了一个 json 数组,如下所示:
[
{
"rank": 69,
"name": "Luigi"
},
{
"rank": 420,
"name": "Peach"
},
{
"rank": 666,
"name": "Toad"
},
{
"rank": 42,
"name": "Mario"
}
]
Run Code Online (Sandbox Code Playgroud)
是否有一种优雅的方法可以在 shell 脚本中提取数组中字段的最大值?在这个例子中,我试图得到“666”。我可以编写一个专门的程序来轻松地做到这一点,但我更愿意留在单个 shell 脚本中,除非这样做太难看。我在 Ubuntu Docker 容器的上下文中,可以根据需要安装其他软件包。
kubectl get -n istio-system secret istio-ca -ogo-template='{{index .data "tls.crt"}}' | base64 -d > ca.pem
Run Code Online (Sandbox Code Playgroud)
如何在 ansible playbook 中运行上述命令?
我尝试按如下方式使用它:
- name: Apply secret istio-ca
shell: kubectl get -n istio-system secret istio-ca -ogo-template='{{index .data "tls.crt"}}' | base64 -d > ca.pem
register: sout
Run Code Online (Sandbox Code Playgroud)
但这给了我一个错误,如下所示:
fatal: [172.31.20.135]: FAILED! => {"msg": "template error while templating string: expected token 'end of print statement', got 'string'. String: kubectl get -n istio-system secret istio-ca -ogo-template='{{index .data \"tls.crt\"}}' | base64 -d > ca.pem"}
Run Code Online (Sandbox Code Playgroud) 我已经使用过,sudo systemctl enable docker.service
但该服务无法启动。
kubernetes ×3
bash ×2
docker ×2
ansible ×1
json ×1
kubectl ×1
linux ×1
python ×1
shell ×1
virtualenv ×1