问题标签 [kubernetes-go-client]

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 投票
3 回答
10792 浏览

api - client-go:将 kubernetes json 文件解析为 k8s 结构

我想解析 kubernetes 清单文件(json/yaml)并能够将它们转换为 k8s 结构(以便稍后操作它们)

我知道有 NewYAMLOrJSONDecoder().Decode() 函数(https://github.com/kubernetes/apimachinery/blob/master/pkg/util/yaml/decoder.go)来读取 json/yaml 文件,但是下一步是:如何将它们转换为 k8s 结构/类型?

即,如果我读取带有命名空间对象的 yaml 文件,例如如何将其转换为 core/v1/namespace 接口

问候,

0 投票
1 回答
89 浏览

kubernetes - 部署未创建

我正在尝试从中创建部署,client-go但它没有创建并引发错误

我的client-go版本: 4.0.0

我的 Kubernetes 版本是:

客户端版本:

服务器版本:

我的示例代码是

0 投票
1 回答
5376 浏览

kubernetes - 在 kubernetes 中创建使用 nginx 控制器的入口时如何生成外部 IP

我正在制作 kubernetes 集群,我将应用该 cloudPlatform 隔离(不是 aws 或 google)。在为服务创建入口时,我可以选择主机 url,但它在任何地方都不存在(该地址未注册,例如 DNS 服务器)所以我无法访问该 url。访问此 IP 只会给出 404。如何获取或配置可以访问外部浏览器的 URL :(...

0 投票
1 回答
308 浏览

go - 从 YAML 对象列表创建 API 对象

我有一个像这样定义的 kubernetes 对象列表:

我想用类似的东西解析它client-go并收集一些关于它的信息。

所以我搜索并发现了一些这样的代码:

所以obj它的每一个元素都是runtime.Object善良的。但我似乎无法找到一种方法将其转换为具体的 kubernetes 对象,例如v1.Pod. 我怎样才能做到这一点?

0 投票
1 回答
227 浏览

kubernetes - Kubernetes container won't set Request resources (CPU & RAM) properly

I am trying to set a fixed resource value to my kubernetes container. When I try the following:

I get this:

Why doesn't Set update my values to the newer ones? How can I set the CPU & RAM resources properly?

0 投票
2 回答
3174 浏览

kubernetes - 以编程方式获取 Pod DNS 名称

我有一个有 3 个成员的 statefulset。可以通过以下方式从集群内部访问它们:

我正在使用控制器中的 Kubernetes API。我刚刚创建了 Statefulset:

让我们假设一切正常,几分钟后我有 3 个正在运行的 Pod。如何获取新创建的 Pod 的 Pod DNS 条目?

我知道我可以使用以下方法构建 DNS:

但是我发现了一些问题:

  1. 我将不得不根据副本的数量计算索引
  2. 我需要知道用于此的服务名称StatefulSet
  3. 我假设集群域cluster.local不一定是真的

我认为它应该存在(但我不确定它是否真的存在)是一个 API,给定 StatefulSet 将允许我知道创建的副本的 DNS 名称。这样的 API 存在吗?

0 投票
1 回答
710 浏览

validation - Kubernetes client-go 库是否包含验证 json/yaml 文件的功能?

我想知道 Kubernetes 的 client-go 库是否包含一个验证 json/yaml 文件是否存在的函数。理想情况下,它会捕获错误,例如名称不符合 DNS-1123 或指定的无效字段。如果返回错误列表而不是在遇到第一个错误后返回函数,这也是理想的。

我尝试过的一个想法是执行 exec 来调用kubectl --validate --dry-run,但这并不能完全验证清单(这意味着可以在此处传递,但在实际应用文件时会失败)。它也会在第一个错误处停止。另外,如果您有清单清单要查看,它会很快变得昂贵。

我查看的另一个选项是Kubernetes GitHub Issue 193,但这不是真正合适的功能,也不是我正在寻找的检查。

0 投票
1 回答
173 浏览

go - 如何通过 kubernetes go-client 获取 pod 资源使用情况?

我正在尝试构建一个 API,它可以发回我的 pod 的资源使用情况。查看pod 正在使用的资源,我无法弄清楚将请求发送到的 go-client API。任何帮助将不胜感激。

0 投票
2 回答
328 浏览

kubernetes-go-client - 我可以使用 kubernetes 中的自定义调度程序更改未调度 Pod 的计算资源限制吗

我是 Kubernetes 的新手,我正在研究 Kubernetes 集群的计算资源管理。为此,我在 go 中下载了一个玩具调度程序(https://github.com/kelseyhightower/scheduler)。我知道一旦将计算资源请求设置为 pod,就无法更改它们。但是,假设我没有在yaml文件中设置pod的资源需求:例如nginx.yaml:

我可以为自定义调度程序尝试调度的每个 pod 应用资源请求吗?

0 投票
1 回答
859 浏览

go - 使用 Kubernetes 的 Go 客户端列出 Traefik 入口控制器

我们有一个小的内部工具,列出了使用 Kubernetes 的Go 客户端的 Kubernetes服务。

现在我们添加了 Traefik 来使用入口控制器将我们的服务映射到有意义的 dns 名称。我们看到在 Kubernetes 的 Go 客户端中有一个入口列表器扩展,可用于列出入口控制器。但是,我们无法让它工作。

是否有列出入口控制器的 Go 客户端代码片段?