嗨,我正在使用 kubernetes,现在需要在 traefik 和 nginx 入口控制器之间做出选择以进行入口暴露。我在谷歌上搜索了很多,但似乎没有那么大的区别,尤其是 nginx 现在才宣布支持 grpc。任何人都可以提供建议吗?非常非常感谢!
我有三个主人的 kubernetes HA 环境。测试一下,关闭两个master(杀死apiserver/kcm/scheduler进程),那么只有一个master可以正常工作。我可以使用 kubectl 成功创建部署,一些 pod 被安排到不同的节点并启动。那么有人可以解释为什么建议奇数个大师吗?谢谢。
我想动态生成我的模板文件,这是我的情况:
{{- $v := (.Files.Get "values-deployment-nginx.yaml") | fromYaml }}
spec:
{{- range $key, $value := $v.containers }}
containers:
- name: {{ $value.name }}
image: {{ .Values.{{ $value.name }}-image }}:{{ .Values.{{ $value.name }}--tag }}
Run Code Online (Sandbox Code Playgroud)
我想首先获得 {{ $value.name }},它可能是一个像“nginx”这样的字符串,然后我想使用 {{ .Values.nginx-image }} 在值文件中获取正确的图像值.
有没有办法做到这一点?非常感谢!
我有很多动态生成的部署模板,但只想将图像和标签公开到值文件,以便我们可以在安装图表时传递不同的图像信息。其他变量在 (.Files.Get "values-deployment-nginx.yaml") 中,像这样(也是动态生成的)。所以在生成模板时,我想匹配值文件中的图像和标签。
像这样的值文件:
deployment-nginx-imagerepo: nginx
deployment-nginx-imagetag: latest
Run Code Online (Sandbox Code Playgroud)
values-deployment-nginx.yaml 像这样(由其他项目生成):
autoscale: []
containers:
- envs: []
imagerepository: nginx
imagetag: latest
itemid: n79fecd51_6716_fa65_5e64_aeed8ed6ab7e
name: nginx
resource:
maxcpu: ""
maxmemory: ""
mincpu: "0.5"
minmemory: 512m
volumemounts: [] …Run Code Online (Sandbox Code Playgroud) 下面是我的情况:
{{- $v := (.Files.Get "values-productpage.yaml") | fromYaml }}.
spec:
{{- range $key, $value := $v.containers }}
containers:
- name: {{ $value.name }}
image: {{.Values.productpage_image}}:latest
Run Code Online (Sandbox Code Playgroud)
这里到达时.Values.productpage_image,它报告:can't evaluate field productpage_image in type interface {}。
这里有任何使用错误吗?为什么我不能.Values.xxx在这个循环中使用?如果我将 移动.Values到第一行,则没有错误。
我是 devops 的新手,正在阅读有关此的 openshift 文档。似乎构建配置和管道(openshift 4.6 中的 tekton)都可以实现源到图像的过程并由 git webhooks 触发。那么openshift buildconfig 和pipeline 有什么区别呢?
PS:刚刚完成了openshift上的pipeline教程,整个过程没有创建build或buildconfig资源。