问题标签 [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.
jenkins - 默认服务帐户不适用于 jenkins 上的 kubernetes 插件
我已经配置了 Kubernetes 插件来启动从属服务器。但是我在访问控制方面遇到了问题。当 master 尝试启动新的 pod(slave)时出现错误
配置代理 Kubernetes Pod 模板 io.fabric8.kubernetes.client.KubernetesClientException 时遇到意外异常:执行失败:POST 在:https://kubernetes.default/api/v1/namespaces/npd-test/pods. 消息:禁止!配置的服务帐户无权访问。服务帐户可能已被撤销......在 io.fabric8.kubernetes.client.dsl.base.OperationSupport.assertResponseCode(OperationSupport. java:266) 在 io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:237) 在 io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:230)在 io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleCreate(OperationSupport.java:208) 在 io.fabric8.kubernetes.client.dsl.base.BaseOperation.handleCreate(BaseOperation.java:643) 在 io.fabric8 .kubernetes.client.dsl.base.BaseOperation.create(BaseOperation.java:300) 在 org.csanchez。
我已经检查了位于的默认服务帐户的访问权限,/var/run/secrets/kubernetes.io/serviceaccount/token
并尝试https://kubernetes.default/api/v1/namespaces/npd-test/pods.
使用令牌创建一个 pod,它可以工作。
不知道为什么插件抱怨服务帐户无权访问。
我曾尝试使用无凭据和 Kubernetes 服务帐户凭据(无法指定帐户)配置 Kubernetes 插件,但两者都不起作用。
kubernetes - 自定义 Helm 图表存储库是什么格式?
我在非互联网环境中安装 Kubernetes。我想使用 Helm 并想设置一个自定义图表存储库。
helm init
创建后的 barfs~/.helm/repository/repositories.yaml
因为它无法访问默认的 Google 存储库,所以我最终将通过 kubectl 手动安装 - 如果我想设置自己的图表存储库的格式是什么?
我将运行helm init --dry-run --debug
以获取清单并将其修改为指向我有权访问的 Docker 注册表,然后通过kubectl
.
kubernetes - 是什么导致此 Kubernetes 清单验证失败?
我正在尝试将 Helm (v2.4.1) Tiller 安装到 Kubernetes 集群 (v1.5.7) 中。这需要能够在非 Internet 环境中完成,所以我想从helm init --dry-run --debug
. 但是,当我将清单复制到一个名为tiller.yaml
然后运行的文件中时,kubectl create -f tiller.yaml
我得到如下所示的验证错误。请问这个文件有什么问题吗?
分蘖.yaml:
kubernetes - Kubernetes HA 主设置
我在 Google Cloud 的 Kubernetes 中配置了两个单独的主服务器。如何连接两个主服务器以实现高可用性 Mater(用于弹性)?任何人都可以帮忙吗?
Reagrds,里沙布
kubernetes - 如何为 Kubernetes ConfigMap 设置默认值(或者 Helm 是否覆盖 ConfigMap 值?)
用例:
我希望能够从第一份工作停止的地方重新运行一份工作。我正在使用 Helm 部署到 Kubernetes。
我有将第一份工作的状态保存在 ConfigMap 中的想法。定义 ConfigMap 的 ConfigMap yaml 与作业一起打包,并与 Helm 同时部署。
该作业使用 ConfigMap 中设置的 ENV 变量运行:
该作业运行一个脚本,查看是否设置了 $MY_STATE,如果未设置,则该作业是第一次运行,否则该作业将关闭已经运行的第一个作业,将第一个作业的状态保存到 MY_STATE ConfigMap 变量并使用保存的状态再次启动作业。
如果我没有在初始 ConfigMap 定义中声明 MY_STATE 键,那么作业的第一次运行将失败,因为上面的 ENV 定义找不到 ConfigMap 变量。
如果我确实MY_STATE: ""
在 ConfigMap 定义中声明了值 ( ),那么第一个部署将起作用。但是,如果我重新部署作业,helm upgrade
那么我在定义中输入的值是否不会覆盖现有 ConfigMap 中的现有值?
在同一作业的运行之间存储状态的最佳方法是什么?
docker - 在 kubernetes helm 如何用新的配置值替换 pod
我正在使用 helm 图表来部署带有管理配置的“ConfigMap”的 pod。
我直接编辑 ConfigMap 以更改配置文件,然后使用 kubectl delete 删除 pod,以使新配置生效。
是否有任何简单的方法使用helm用新配置替换正在运行的 pod 而无需执行“ kubectl delete ”命令
sql - 在部署期间添加辅助数据库数据
我的应用程序由两个容器组成:应用程序本身和数据库。我打算将应用程序包装到图表中,从而为轻松的可重复部署铺平道路。
除了设置/读取环境 envs(helm+kubernetes 似乎处理得很好)之外,应用程序的部分配置是:
确保数据库预先填充了特殊的辅助数据(例如存在管理员用户,存在创建新用户所需的一些用户角色名称等)。
我喜欢让可读的 yaml 文件以人类可读的格式保存整个配置的想法。然而,乍一看,这似乎对这种(数据库记录)类型的配置没有helm
任何帮助。
话虽如此,放置代码/配置以确保数据库包含某些辅助记录的最佳位置是什么?配置 yaml 文件?用 bash 编写的容器初始化脚本?
kubernetes - 如何通过 helm 在 minikube 中创建角色
我有一个包含以下模板的舵图:
我无法在 minikube 上安装它,但我可以手动创建这样的角色:
为什么我不能使用 helm 创建这个角色?
其他信息:
kubernetes - 有没有像`helm exec`这样的东西?
我在脚本中使用以下helm
(2.4.2) 命令:gitlab-ci.yml
这是部署到我的暂存/审查环境的一部分。上述命令完成后,我想对my-app
pod 执行命令以创建/迁移数据库。目前,这是通过使用initContainer
(在引用的 yaml 文件中定义的)来实现的。但我更希望逻辑成为 CI 脚本的一部分 - 所以我不必为生产提供单独的部署文件。
有没有办法做到这一点helm
?还是我唯一的选择kubectl exec
?如果我使用kubectl exec
,是否有一种简单的方法来获取使用的 pod 名称helm
?
configuration - 存储配置和机密
我打算将我们的应用程序(由多个微服务组成)包装到一个图表中。
现在,对于每个微服务,我们将秘密和配置值直接硬编码在我们的deployment.yaml
文件中,在...containers[].env
. 我们所有的yaml
文件都存储在 git repo 中。
我注意到一些流行的图表使用ConfigMap
( 1 , 2 ) 和Secret
( 1 , 2 ) Kubernetes 对象分别存储配置值和秘密。
ConfigMap
使用和Secret
对象有哪些优点,无论是人体工程学和/或安全性增益?
我已经可以从yaml
我们拥有的所有文件中制作模板,使所有硬编码的值都可配置,从而在 helm 的模板编译期间可解析。
然而,由于 Kubernetes 提供了专门的对象来存储配置和秘密,我想证明添加configmap.yaml
和secrets.yaml
模板文件是合理的,以及从现有deployment.yaml
文件中添加对它们的引用。