问题标签 [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 回答
200 浏览

go - 如何在协调循环中处理长时间运行的任务

我正在编写一个 Kubernetes 运算符并处理从协调循环中处理长时间运行任务的特殊情况。

我有以下情况:

}

我试图了解处理上述情况的最佳方法是什么?我需要使用频道并在后台运行它们吗?这里的主要问题是我必须运行一些配置,这会花费大量时间并导致 K8s 操作员无法处理在 CR 上完成的其他更新。

0 投票
1 回答
258 浏览

elasticsearch - 尝试安装 Elastic ECK 时出现错误 413

我正在尝试按照教程使用 all-in-one.yaml 文件安装 Elastic Cloud on Kubernetes (ECK) Kubernetes 操作员:https ://www.elastic.co/guide/en/cloud-on-k8s /current/k8s-install-all-in-one.html 但我收到一个错误:

服务器出错:创建“https://download.elastic.co/downloads/eck/1.3.1/all-in-one.yaml”时出错:服务器响应状态码 413 但未返回更多信息(发布 customresourcedefinitions.apiextensions.k8s.io)

我对如何继续解决这个问题有点迷茫......

命令:

完整的日志:

更新 1:

运行命令(使用 windows powershell):

我得到:

更新 2:

当前版本:

0 投票
1 回答
104 浏览

kubernetes-operator - 无法在“openshift-marketplace”之外安装操作符

尝试将 Operator 安装到单个命名空间foobar会导致错误:

Operator Group does not support single namespace installation mode.

尝试将 Operator 安装到命名openshift-operators空间中的所有命名空间会导致错误:

The namespace 'openshift-operators' does not support install modes for this operator

配置操作员组不会改变任何事情。

在任何情况下,操作员都不能安装在室外openshift-marketplace

0 投票
1 回答
77 浏览

kubernetes - 多个 Kubernetes Operator 通信

构建 Kubernetes Operators的最佳实践说我应该编写一大堆 Operators 来管理我的应用程序。运营商之间的通信是如何发生的?

换句话说,我应该如何构建我的 Operator,以便它可以与其他 Operator 对话?

0 投票
2 回答
93 浏览

kubernetes - 用于 Pub-Sub 模型应用的 Kubernetes Operator Vs Helm

我有一个 C# 中的发布者订阅者(Pub-Sub 模型)应用程序,我想将它托管在 Kubernetes 上以实现高可用性。使用 helm 好还是我应该在我的应用程序中使用运算符。什么最适合 Pub-Sub 模型应用程序?

0 投票
0 回答
60 浏览

go - 在 ConfigMap 数据部分从 yaml 创建 pod

我正在编写一个通过 yaml 部署应用程序的运算符。但是这个 yaml 存储在dataConfigMap 的部分 -

对 yaml 进行了精简,以便对问题提供足够的了解。但实际上这是我可以kubectl apply -f <resource>使用的完整部署文件。

在我的操作员的控制器代码中,我确保ConfigMap已创建。但是现在我想获取这个 configmap 的数据部分并使用 yaml 创建一个新的 pod。我如何在 go 中阅读并创建一个新的 pod?

0 投票
1 回答
234 浏览

kubernetes - Operator-SDK 错误,“CRD 存在于包中,但未在 CSV 中定义”

当我运行make bundle.

完整的输出是

这个错误的原因是什么?

0 投票
2 回答
76 浏览

kubernetes - 更新规范时如何同步自定义资源

在一个基于 operator-sdk 的 Kubernetes 算子中,你知道如何在 CR 规范更新时编写代码来同步 CR 资源kubectl apply吗?您能否提供一些代码示例?

0 投票
0 回答
212 浏览

kubernetes - 测试使用 operator-sdk 搭建的操作员时,Scheme 为 Nil

我正在研究一个运算符的早期迭代,我使用 operator-sdk 搭建了它。我已尽力遵循Operator SDK Golang TutorialKubebuilder book中的示例。我发现我可以将我的操作员部署并运行到本地集群,但我无法运行测试套件。我的测试总是产生 a panic: runtime error: invalid memory address or nil pointer dereference,我已经追查到Scheme它总是 Nil 的事实。但到目前为止,我还无法弄清楚为什么会这样。

理论上,我可以跳过测试,只在我的本地集群中测试操作符,但从长远来看,这将是非常脆弱的。我希望能够进行 TDD,更重要的是,我希望有一个测试套件与操作员一起使用,以帮助在维护模式下保持质量。

这是我的suite_test.go,我从脚手架版本中尽可能少地对其进行了修改(我所做的更改来自Kubebuilder Book):

这是导致它失败的测试块。我有第二个Describe块(此处未显示),它测试函数之外的一些业务逻辑Reconcile,并且工作正常。

我在这里遗漏了什么阻止Scheme正确初始化的东西吗?我不得不承认,我并不太了解Scheme. 如果有帮助,我很乐意展示其他代码。

0 投票
1 回答
188 浏览

kubernetes - 我可以仅在删除之前执行 prestop 挂钩吗?

的基于 Go 的自定义资源运算符在被删除之前需要一些清理操作。它必须从 ZooKeeper 中删除特定的 znode。

在重新生成资源之前不得执行这些操作。它们只能用用户的删除命令来执行。因此,我不能使用普通的 prestop-hook。

我可以仅在删除之前执行 prestop 挂钩吗?或者有没有其他方法让操作者在资源被删除之前执行清理逻辑?