问题标签 [kubernetes-custom-resources]
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.
kubernetes - Kubernetes Ansible 操作员:修补现有部署失败
我最近开始学习 kubernetes 和 ansible。
我有以下 kubernetes 命令来进行回滚
kubectl 补丁部署 -n my-namespace mydeployment --type='json' -p='[ {"op": "replace", "path": "/spec/template/spec/containers/0/image", "值":"127.0.0.1:5050/mydeployment:image_version"} ]
有什么方法可以在 kubernetes ansible 命令中引入 json 数组并修补我的部署?
我尝试过的是我的剧本中的以下内容
由于容器是一个数组,patch 命令会失败。我收到以下错误
NewReplicaSetAvailable\\\\\\",\\\\\\"message\\\\\\":\\\\\\"ReplicaSet \\\\\\\\\\\\\\"my- operator-66ff64c9f4\\\\\\\\\\\\\\" 进展顺利。\\\\\\"}]}}\\": v1.Deployment.Spec: v1.DeploymentSpec.Template: v1 .PodTemplateSpec.Spec: v1.PodSpec.Containers: []v1.Container: decode slice: expect [ or n, but found {, error found in #10 byte of ...|tainers\\":{\\"new -opera|...,更大的上下文 ...|t\\":\\"2021-03-24T22:26:02Z\\"}},\\"spec\\":{\\"containers\ \":{\\"my-operator\\":\\"image:\\\\\\"27.0.0.1:5050/my-ope|...","field":"patch"}] },"code":422}\n'", "reason": "Unprocessable Entity", "status": 422}
有什么方法可以进行调试或打印实际发送到 kubernetes 服务器的命令?
kubernetes - 控制循环实现 - Kubernetes 替代方案
我们正在设计一个云原生应用程序,该应用程序需要一个控制循环来保持其对象(几千个)处于所需状态。除了将应用程序实现为一组 Kubernetes CRD 之外,我们想知道是否还有其他开源替代方案。如果您已经开发了自己的控制循环的自定义实现,您能否告诉我们该决定背后的原因(而不是使用 Kubernetes CRD)?
kubernetes - 我可以仅在删除之前执行 prestop 挂钩吗?
我的基于 Go 的自定义资源运算符在被删除之前需要一些清理操作。它必须从 ZooKeeper 中删除特定的 znode。
在重新生成资源之前不得执行这些操作。它们只能用用户的删除命令来执行。因此,我不能使用普通的 prestop-hook。
我可以仅在删除之前执行 prestop 挂钩吗?或者有没有其他方法让操作者在资源被删除之前执行清理逻辑?
go - 以最小的努力在 Kubernetes 中测试 NATS-streaming
我想在 Kubernetes 上测试一个非常基本的 NATS-streaming 应用程序。为此,我遵循了官方 NATS-docs 中的命令。
它基本上归结为跑步
在可以访问集群的终端中(在我的情况下,它是一个kind -cluster)。
我用作stan.go
NATS-streaming-client。这是我尝试连接到 NATS-streaming-server 的代码:
这是我得到的错误:
所以我认为集群使用了另一个名称或其他名称。如果我使用上面 docs.nats-link 提供的示例nats-box
,它也不起作用!我在这里哪里做错了?
如果需要,我很乐意提供更多信息。
go - 获取触发 kubebuilder 中的控制器的事件类型
我刚刚开始使用 kubebuilder 和 Golang 来使用自定义资源扩展我们的 Kubernetes 集群。我很想根据实际调用它的事件在协调器功能中做不同的事情。
资源是否创建?更新了吗?被删除了吗?
这些事件中的每一个都会触发控制器,但是,我似乎无法找到查看这些事件中实际发生了哪些事件的可能性。我可以通过编写这样的协调器来解决这个问题:
然而,这感觉奇怪的隐含和有点hacky。
是否有一种干净的(可能是本机的)方法来获取协调器调用的事件类型?
kubernetes - What is the difference between crd.yaml and crd-status-subresource.yaml?
I am new to the custom controllers and trying to understand this. I have started referring the sample-controller but unable to find much difference or understand properly in between the example files
- https://github.com/kubernetes/sample-controller/blob/master/artifacts/examples/crd.yaml
- https://github.com/kubernetes/sample-controller/blob/master/artifacts/examples/crd-status-subresource.yaml
Both the files look similar to me except for the below part in crd-status-subresource.yaml.
Can anyone help or give suggestions on this to proceed. ?
kubernetes - 如何编写 Kubernetes 自定义控制器来操作云中的 VM 资源?
我是为 kubernetes 编写自定义控制器并试图理解这一点的新手。我已经开始参考示例控制器https://github.com/kubernetes/sample-controller。
我想扩展示例控制器以使用 kubernetes 在云中操作 VM 资源。如果检测到新的 VM 种类资源,它可以创建一个 Vm。如果用户需要,更新子资源或删除。
架构应如下所示:
任何建议或帮助都是非常可观的:)
javascript - 如何使用 javascript 客户端创建 Kubernetes 自定义资源
我的自定义定义
这是一个答案,显示了如何使用 javascript 客户端创建部署。但是,我需要使用 javascript 客户端创建自定义资源
go - Kubernetes 操作员使用 yaml 模板创建 Deployment
我正在尝试通过以下链接创建自己的 kubernetes 运算符。在 Reconcile 函数中,我需要创建多个部署,每个部署的某些属性(例如名称)都会有所不同,并且配置很大。不是通过使用 appsv1.Deployment 创建部署并在其中创建每个属性(如下面的代码),有没有一种方法可以让我提供一个 yaml 模板文件并读取该文件以获取 appsv1.Deployment 对象?
除了上面,可以使用一些方便的实用程序功能来实现类似下面的内容吗?
kubernetes-apiserver - 使用 client-go 解释资源
使用 kubectl 我可以使用解释显示资源文档:
是否有类似的功能可用client-go
?