将 AKS kubernetes 集群从 v1.23.8 升级到 v1.24.3 后,我们的入口停止正常工作。事件中没有记录任何错误,并且 ingress-nginx pod 不会在控制台上报告任何错误。从集群内部看来一切都很好,但公共 IP 的所有端口在外部都是关闭的。
即使从集群内部卷曲在集群中运行的 Web 应用程序也可以正常工作。看来只是对外开放的端口坏了。Ingress-nginx 通过 helm release (HR v4.2.5) 进行部署。
我有一种感觉,一定是入口或控制器的某些配置需要更改。
更新:我们重新安装了一个普通的 AKS 集群,并helm install quickstart ingress-nginx/ingress-nginx在 1.23.8(有效)、1.24.0(无效)和 1.24.3(也无效)中进行了安装。
有什么想法或指示吗?
首先我很抱歉,因为我是开发人员,试图了解一些服务器的东西。如果这个问题在这里没有任何意义,我请求版主不要太苛刻。
根据我的理解,我们在 docker hub 中有 docker 镜像,用于运行容器。所以对我来说 docker hub 镜像是镜像包。为了管理容器,我们使用 kubernates。现在 helm 是 kubernates 的包管理器。Helm charts 是 docker-images 或 kubernate clusers 的包还是什么?
这可能是一个非常简单的问题,尽管我无法通过谷歌搜索答案。
假设我们有一个带有一些默认值的 Helm 图表,如下所示:
parameters:
- parameterName: parameter1
value: value1
- parameterName: parameter2
value: value2
Run Code Online (Sandbox Code Playgroud)
我需要在我的额外值文件中向此列表添加一个元素。当然,我可以将默认值复制到我的额外值文件中,并将额外参数添加到其中:
parameters:
- parameterName: parameter1
value: value1
- parameterName: parameter2
value: value2
- parameterName: parameterN
value: valueN
Run Code Online (Sandbox Code Playgroud)
我不喜欢这个想法,因为当这个 Helm 图表的维护者更改他们的默认值时,我的默认值将覆盖而不是遵循它们。
parameterN将我的值添加到默认值的正确方法是什么?
提前致谢?
我想为我们的应用程序和服务预先填充带有命名空间及其各自机密的 kubernetes 集群。为此,我希望能够指定 2 个列表、1 个带有机密的列表和 1 个带有命名空间的列表。列表中的每个命名空间都有一个秘密列表。像这个 values.yaml:
secrets:
- name: secret1
data: key1
- name: secret2
data: key2
- name: secret3
data: key3
namespaces:
- name: app1
secrets:
- secret1
- secret2
- name: app2
secrets:
- secret1
- secret3
Run Code Online (Sandbox Code Playgroud)
然后我想遍历命名空间以创建命名空间,例如:
{{- range $namespaces := .Values.namespaces }}
apiVersion: v1
kind: Namespace
metadata:
name: {{ $namespaces.name }}
---
{{- end }}
Run Code Online (Sandbox Code Playgroud)
在那个循环中,我想要在这个循环中使用另一个循环,用秘密列表中的数据创建每个命名空间的秘密。有点像这样:
{{- range $secrets := .secrets }}
apiVersion: v1
kind: Secret
metadata:
name: {{ .name }}
namespace: {{ …Run Code Online (Sandbox Code Playgroud) 我正在使用 Helm 3 安装 kubernetes 软件包。现在我需要删除/清理已安装的内容,我尝试使用 unintall 但似乎 \xe2\x80\x99s 正在寻找一个版本(不确定它的含义)而不是一个包:
\n\n$ helm install prometheus stable/prometheus-operator --namespace monit\n$ helm delete prometheus\nError: uninstall: Release not loaded: prometheus: release: not found\nRun Code Online (Sandbox Code Playgroud)\n\n当试图列出是否有任何版本时,我什么也没得到!
\n\n$ helm list\nNAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION\nRun Code Online (Sandbox Code Playgroud)\n\n在这种情况下删除普罗米修斯资源的正确方法是什么?
\n我正在将https://github.com/bitnami/charts/tree/master/bitnami/postgresql部署到 k8s 中,并想知道如何自动化执行以下操作
我已经看到了extraDeploy https://github.com/bitnami/charts/blob/master/bitnami/postgresql/values.yaml#L43
参数,但这似乎会创建一个 k8s 特定资源(不触及 pg)。
我利用的唯一想法extraDeploy是创建一个作业,部署一个自定义 pod,该 pod 将连接到 pg 并创建数据库、角色和密码...
谢谢!