问题标签 [kubernetes-operator]

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 投票
1 回答
70 浏览

kubernetes - Kubebuilder 谓词跳过某些命名空间

我在控制器中使用 kubebuilder 框架,我想完全忽略给定系统名称空间列表中的事件。我认为谓词必须是最好的选择,因此我有以下代码

但是,我仍然接收来自所有命名空间的事件,而不仅仅是我允许的事件。这是一个正确有效的谓词用例吗?

0 投票
1 回答
45 浏览

kubernetes - 如何在 Kubernetes Operator 中执行无缝升级

我想为管理分布式数据库的 Kubernetes 操作员添加无缝升级功能。有没有一些好的做法可以做到这一点?

特别是在配置方面,这是我的 CR.yaml:

当我的CR.yaml文件中的容器图像标签发生变化时,我应该执行数据库架构升级吗?我应该在我的 中添加一个“performDatabaseUpgrade=true”字段CR.yaml吗?还是有其他技术,例如创建额外的 CRD?

此外,是否有推荐的方法在operator-sdk框架内实现这一点?

0 投票
1 回答
106 浏览

kubernetes - 使用 Kopf 构建的 Kubernetes Operator 的 RBAC 问题

我正在尝试使用Kopf部署 Kubernetes Operator ,但出现以下错误:

令人困惑的是,如果我检查授予服务帐户的权限,它看起来像是具有正确的权限:

还有其他地方我应该寻找解决问题的方法吗?

0 投票
0 回答
27 浏览

kubernetes-helm - 使用 operator-sdk 的基于 helm 的操作员的 Kubernetes 自定义资源状态

我创建了一个基于 Helm 的 Freeradius 服务器操作员。

我希望每个 Free Radius 实例在自定义资源状态中包含 Nodeport 服务资源 IP 和端口号。

有没有办法只使用基于 Helm 的运算符来做到这一点?

0 投票
0 回答
20 浏览

kubernetes - 使用 Kubernetes CRD/Operator 简化类似项目

我有许多类似的项目 - angular 中的前端模块 + spring-boot 中的后端模块。它们都有额外的图表模块,包括配置图、部署、机密、服务、路由/入口等。它们在基础设施方面看起来基本相同,只是名称不同。

我想我可以用 Kubernetes CRD/Operator 来简化这一切——像这样:

当我将这个简单的片段上传到 Kubernetes 时,它会运行我的自定义代码,在下面创建正确的部署、服务、路由/入口等。

我认为这可以通过 Kubernetes Operator 来完成,但如果我没记错的话,Kubernetes Operator 有一个控制器可以定期运行。另一方面,我需要一些能够创造所需资源并停止的东西。我不需要它来检查任何状态或修复任何东西。基本上我需要的是一个侦听器来侦听MyCustomProject对象的创建,然后在发生这种情况时运行一些自定义代码。

我该如何处理?我是否需要一个具有一些技巧的操作员才能只运行一次?还是一个操作员create if not exists

任何帮助在这里表示赞赏,即使不是对问题的直接回答。

0 投票
0 回答
67 浏览

go - 来自上下文的 Kubernetes 控制器日志记录

我正在使用 Operator SDK 为 Kubernetes 编写一个 Operator,并且有一个关于日志记录的问题(我对 Go 还是很陌生)。

我在我的控制器中设置了一个记录器,我已将 UUID 作为跟踪 ID 附加到

但是,我有一个与控制器同时设置并通过结构传入的库。

并且客户端上的每个方法都以 ctx 作为参数。

由于我想在 ctx 中使用记录器,因为它包含我的跟踪 ID,我需要将此行添加到客户端中的每个方法中,还是有更好的方法?

有没有更好的方法来实现我想做的事情?"sigs.k8s.io/controller-runtime/pkg/log"(类型)似乎不logr.Logger支持只记录像 zap 这样的上下文。

任何以惯用方式执行此操作的帮助表示赞赏

0 投票
0 回答
44 浏览

apache-camel - 是否可以为 camel-k 集成平台设置多个容器注册表?

1.6.1在 Google Kubernetes Engine 上使用 camel-k。我想将容器图像推送到 Google Cloud Registry,但如果图像未缓存在 gcr 中,则从我们的组织 Artifactory 中提取图像。

由于这个问题,我使用 Kaniko 作为构建工具,我认为它会起作用,如果你给 Kaniko 两个容器注册表:第一个将图像推送到 gcr,第二个作为后备,如果构建需要 gcr 中不存在的图像. 但骆驼-k集成平台似乎不支持这一点。Go 规范说:

我的平台配置如下所示:

如何在此设置中设置多个容器注册表以将 camel-k 集成图像推送到 gcr 并从 Artifactory 而不是默认的 DockerHub 中提取不存在的图像?

0 投票
1 回答
41 浏览

kubernetes - 您如何进行 Camel K 集成?

如果您在 Kubernetes 或 OpenShift 上使用 Camel K 及其运算符,您如何实现 staging?我是否必须为每个阶段构建图像 - 例如测试、UA 和生产三遍?或者是否有另一种方法可以在后续阶段使用 Camel K 运算符部署曾经构建的映像?

0 投票
3 回答
49 浏览

kubernetes - Mongodb集群Kubernetes有状态集没有删除

我使用mongodb kubernetes operator创建了 Mongodb 状态集。

现在我想从 kubernetes 仪表板中删除该状态集,但它会一次又一次地重新创建。

我们如何永久删除有状态集,以免再次创建它。

0 投票
1 回答
40 浏览

kubernetes - 具有本地路径的 RabbitMQ 运算符:发生内部错误:找到 2 个默认存储类

我正在关注rabbitmq kubernetes 操作员文档来创建rabbitmq 集群。

按照文档中的说明,如果 pod 长时间处于挂起状态,我们需要执行以下 2 个命令来安装Local Path Provisioner

所以现在我在本地路径出现以下错误,因为我默认有 2 个存储类(其他是 minikube 提供的“标准”)。

我该如何解决?似乎 Kubernetes 存在开放缺陷。那么我该如何解决这个问题以进一步进行呢?我在 minikube 中运行 kubernetes。