问题标签 [kubernetes-helm]

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 投票
2 回答
4580 浏览

kubernetes - 使用 Helm 配置 Lets Encrypt 和 Traefik

我正在使用 helm 将 taefik 部署到我的 kubernetes 集群。这是我目前所拥有的:

我正在尝试配置letsencrypt。根据此文档- 您将域添加到 .toml 文件的底部。

查看 helm chart的代码,没有提供这样的配置。

有没有其他方法可以做到这一点,还是我需要分叉图表来创建我自己的 .toml 文件变体?

0 投票
2 回答
1514 浏览

kubernetes - 无法将秘密挂载到 /etc 中的卷

我有一个 K8s 部署,它将一个秘密挂载到/etc/google-cloud-account包含要从应用程序使用的 Google auth JSON 文件中。当我尝试运行部署时,我的 pod 出现以下错误:

有问题的部署如下所示:

我不知道/etc容器中的只读文件系统如何,也不知道如何更改它。

0 投票
1 回答
1325 浏览

arrays - Concourse CI - 数组变量

我试图弄清楚如何使用一些 CIDR ip 地址创建一个数组,以便在我的管道中拥有相同的数组。所以这是一个示例 var 文件:

我的管道是这样的:

我希望它是:

或者

在我的 helm 模板中,我当然有我的 values.yaml 文件:

它将被管道覆盖。最后,在我的服务文件中,我正在制作一个循环:

你们中的任何人都能够做到这样的事情吗?

0 投票
1 回答
642 浏览

kubernetes - GitLab CI/Kubernetes - 为测试环境(非生产环境)运行 postgres 迁移

我正在将我的 Phoenix 应用程序推送到 Kubernetes 集群以通过 GitLab 进行测试。一旦我的应用程序和 postgres 服务准备就绪,我希望能够mix ecto.migrate在我的脚本中运行。gitlab-ci.yml这是文件中的一个片段gitlab-ci.yml

据我了解,该--wait参数意味着每个部署将在继续之前完成(全部)。我发现虽然 postgres 部署已经完成,但这并不意味着 postgres 服务器已经准备好。

通常,当kubectl exec命令运行时,我会收到以下错误:

当我查看 Kubernetes ui 时,我可以看到我的 postgres pod 出现以下错误:

看到这条消息后,我监控了 pod,一切都很好。但不是在我的部署脚本失败之前。

我最初的想法是,我可以initContainer为我的应用程序创建一个使用 psql 成功连接到服务器并检查“app_db”数据库是否存在的应用程序。这样我就不必担心为超时和重试编写自己的代码——我可以利用 Kubernetes 提供的内置机制。

但是,我不想在我的生产环境中这样做(我想mix ecto.migrate在生产系统上手动运行)。在这种情况下,这initContainer简直是对系统资源的浪费。

有没有一种可靠的方法可以通过gitlab-ci.yml脚本实现这一目标?

0 投票
5 回答
12333 浏览

docker - Docker 如何在 spec.container.env.value 上使用布尔值

有没有办法为 spec.container.env.value 传递布尔值?我想用 helm 覆盖 docker 父图像(https://github.com/APSL/docker-thumbor)中的布尔环境变量:UPLOAD_ENABLED

我做了一个更简单的测试

如果您尝试以下 yaml :

并尝试使用 kubernetes 创建它,您收到以下错误:

错误 :

验证=假

它也不适用于整数值

0 投票
4 回答
1104 浏览

kubernetes - 如何访问集群外使用 helm 构建的 Concourse?

我正在使用https://github.com/kubernetes/charts/tree/master/stable/concourse提供的 concourse helm build 在我们的 kubernetes 集群内设置 concourse。我已经能够使设置正常工作,并且可以在集群内访问它,但在集群外访问它时遇到问题。构建中的注释显示我可以使用kubectl port-forward它来访问网页,但我不希望所有开发人员都必须转发端口才能访问 web ui。我尝试创建一个具有如下节点端口的服务:

这使我可以访问网页并以大多数方式与之交互,但是当我尝试查看构建状态时,它永远不会加载发生的事件。取而代之的是,网络请求/api/v1/builds/1/events处于待处理状态,并且构建的步骤永远不会加载。有什么想法可以完全访问集群外部的大厅吗?

编辑:似乎事件网络请求通常以text/event-stream数据类型响应,并且 Kubernetes 服务可能没有正确处理事件流。或者有一些关于大厅处理与规范不同的事件流的东西。

0 投票
1 回答
3015 浏览

kubernetes - 通过 Helm 部署到 Kubernetes 的本地持久存储

使用Kubernetes 1.7.0,这里的意图是能够部署MySQL / MongoDB / etc,并使用本地磁盘作为存储支持;而 webheads 和处理 pod 可以由 Kubernetes 自动扩展。为了这些目标,我已经

  • 设置和部署本地持久存储配置程序,以自动将本地连接的磁盘配置到 pod 的持久卷声明。
  • 手动创建了一个Persistent Volume Claim,成功,并且附加了本地卷
  • 尝试通过 helm 部署 MariaDB

    helm install --name mysql --set persistence.storageClass=default stable/mariadb

  • 这似乎成功了;但是通过进入仪表板,我得到

卷“local-pv-8ef6e2af”的存储节点关联性检查失败:NodeSelectorTerm [{Key:kubernetes.io/hostname Operator:In Values:[kubemaster]}] 与节点标签不匹配

我怀疑这可能是由于 helm 的图表不包括节点亲和力。除了手动更新每个图表之外,有没有办法告诉 helm 部署到供应商拥有卷的同一个 pod?

0 投票
1 回答
1685 浏览

docker - 如何使用非 root 用户创建 K8S 集群?

如何使用非 root 用户创建 K8S 集群?包括.. etcd, flannel or Calico, K8S API, kubelet....等

问候

阿修罗

0 投票
1 回答
153 浏览

sockets - 具有特定目的的固定数量的 pod(套接字连接)

我们计划使用 Kubernetes,我正在验证它是否以及如何满足我们的要求。一个问题如下:我想构建一个应用程序/pod,它连接到互联网上的某个服务(主机和端口),只要我们需要它就保持套接字处于活动状态(通常是永远)。应用程序将连接到的套接字数量可能会有所不同。对于 Pod 间的通信,我们将使用 RabbitMQ。

为此目的,正确/最佳实践方法是什么?一个 pod 处理所有/多个套接字?处理多个套接字的复制豆荚?每个吊舱一个插座?如果套接字数量发生变化,我该如何应对?

目前我们想为我们的 CI 管道使用 gitlab-ci 和 helm。

0 投票
3 回答
7724 浏览

kubernetes - 安全访问私有 helm 存储库

  1. 这甚至可以用 helm 实现吗?
  2. 哪些安全选项是可能的(BasicAuth?客户端证书?OAuth2?)
  3. 是否有任何关于此的示例/文档(服务器端和客户端)?