登录
首页 >  Golang >  Go问答

动态创建 PVC 的资源部署

来源:stackoverflow

时间:2024-02-28 19:12:24 426浏览 收藏

大家好,我们又见面了啊~本文《动态创建 PVC 的资源部署》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

我正在尝试使用 client-go 在集群上创建 pod 和其他资源。

据我了解,使用 client-go 在集群上创建内容的最佳方法是使用动态创建版本(在示例中有一个动态创建更新删除示例)。因为我可以将我的 yaml 转换为非结构化。非结构化,然后创建资源。

在使用 kind: deployment 创建 pod 时,这对我来说工作正常,但是当我尝试使用 kind: persistentvolumeclaim 创建 pod 时,出现错误:

恐慌:版本“v1”中的 persistentvolumeclaim 无法作为部署处理:将 (v1.persistentvolumeclaim).v1.persistentvolumeclaimspec 转换为 (apps.deployment).apps.deploymentspec:src 中不存在副本

如果我正确理解错误,就会发生这种情况,因为我使用 resource 声明我的部署资源:“deployments”

deploymentres := schema.groupversionresource{group: "apps", version: "v1", resource: "deployments"}

然后使用以下内容创建:

client.Resource(deploymentRes).Namespace(namespace).Create(context.TODO(), deployment, metav1.CreateOptions{})

这里的问题是,当我想创建 pvc 时,我找不到可以代替 resource: "deployments" 的内容。我尝试放入 persistentvolumeclaim 但出现错误:

“恐慌:服务器找不到所请求的资源”

如果您知道任何可以提供帮助的信息,或者让我朝正确的方向前进,将会非常有帮助!

谢谢!


解决方案


你的假设是正确的。您只错过了两点:

  • group 参数应为 ""(空字符串)
  • resource 参数应为 "persistentvolumeclaims"(复数形式)
pvcRes := schema.GroupVersionResource{Group: "", Version: "v1", Resource: "persistentvolumeclaims"}

理论要掌握,实操不能落!以上关于《动态创建 PVC 的资源部署》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>