问题标签 [client-go]
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 - 通过客户端调用部署yaml go示例
我正在尝试通过客户端调用更新部署 go for k8。但是我很难通过client-go API更新deployment.yaml文件的任何代码示例,以等效于kubectl apply -f deployment.yaml
kubernetes - 如何通过在golang中传递像kubectl这样的yaml文件来创建kubernetes对象
我正在创建一个工具,它将使用 yaml 文件创建 kubernetes 对象。我是用golang写的。该工具希望实现与kubectl apply -f test.yaml
kubernetes - 使用 Kubernetes client-go 如何以编程方式检查 Node 是否“就绪”?
看起来我可能需要遍历v1.Node->NodeStatus->Conditions[]
切片并按转换时间排序并查找最近的定时条件是否为NodeConditionType == "Ready"
. 我想知道是否有更好的方法或者该方法是否有缺陷?
kubernetes - Kuberentes client-go 方法来排空一个节点
是否有一个 go 客户端来耗尽 Kubernetes 节点。我正在使用现有的 kubernetes E2E 框架编写 E2E 测试用例,我需要涵盖用于存储的节点耗尽场景。
kubernetes - Go mod 下载抱怨构建限制
我一生都无法弄清楚为什么会这样。另一个人声称这对他有用,而且我有一个环境问题。然而,每隔十几个项目对我来说都运行良好。
所以只是为了好玩,我从一个完全原始的围棋环境开始。(rm -rf ~/go)
没有 go.mod/go.sum 文件。没有其他回购。没有多余的文件或任何类型的文件。除了我的克隆回购之外,我的路径中绝对没有任何内容。
我克隆了我的 repo,然后启用了 go 模块,“go get k8s.io/code-generator”,我每次都会收到这个错误:
因此,这次我使用 go.mod 文件重复上述测试,该文件指定了所需的 k8s.io/code-generator 版本(1.13.1)。同样的错误。
有人知道这里有什么交易吗?我怀疑这是与 macOS 相关的问题或其他问题。
go - 如何使用 client-go 部署 yaml 文件中描述的 pod?
在不使用 kubectl 的情况下,我想使用 client-go 来部署 yaml 文件中描述的部署/服务。哪种方法最好:客户集、休息还是动态?我不想解析 yaml 文件并在客户端中设置部署对象的每个属性。那么有没有办法只加载 yaml 配置(可能转换为 json 格式)并直接应用它?
kubernetes - 使用 k8s client-go 获取命名空间配额
我正在寻找一种使用 client-go 获取命名空间资源配额的方法,类似于kubectl describe ns my-namespace-name
.
我已经尝试过ns, err := k8client.CoreV1().Namespaces().Get("my-namespace-name", metav1.GetOptions{})
,但它没有提供配额信息。
也尝试过ns, err := k8client.CoreV1().ResourceQuotas("my-namespace-name").Get("name", metav1.GetOptions{})
,但我不知道name
在.Get() 中将什么作为参数。尝试了命名空间名称,尝试了https://kubernetes.io/docs/reference/kubectl/overview/#resource-types中的几种资源类型,但没有遇到类似resourcequotas "namespaces" not found
或
resourcequotas "limits.cpu" not found
也试过ns, err := k8client.CoreV1().ResourceQuotas("my-namespace-name").List(metav1.ListOptions{})
了,但没有返回结果。
任何关于如何获得它的想法将不胜感激!
go - 如何操作 Kubernetes PodSpec 对象
我正在寻找有关 golang 代码的帮助,以根据用户输入修改 podspec。
这是我的流量。
用户提供了一个不完整的 yaml 文件来创建部署。假设它们缺少/更新环境变量信息。用户还提供了一个变量 foo [{name: "abc", value: "xyz"}, {name: "ab", value: "12"}],其中包含环境变量信息。在创建部署之前,我需要读取 yaml 文件并合并变量。
到目前为止,这就是我想出的,阅读 yaml 文件。
从 dep 我可以找到 podspec。现在我需要根据用户输入 foo 来更新对象。不确定我是否可以使用 XXX_Merge 功能。请推荐并尽可能提供 XXX_Merge 函数的工作示例指针。https://godoc.org/k8s.io/apiserver/pkg/apis/example/v1#PodSpec.XXX_Merge
请让我知道是否有其他方法。
go - 如何使用假客户端为客户端编写简单的测试?
问题
我正在寻找正确的方法来测试下面的代码,我找不到任何示例我该怎么做。只有main_test.go,但它缺少 main.go,对我来说,如何使用它并不明显。我也经历了 Github问题,但找不到任何有用的东西。
功能:
测试:
我认为我的测试应该如下所示,但是我该如何使用config := fake.NewSimpleClientset()
,我应该将它传递给GetNamespaceCreationTime
函数吗?
go - 如何从 kubectl describe pods 中检索所有数据来自集群内 client-go api 调用
我需要获取一些 pod 信息,这些信息将用于在集群中运行的一些单元测试。我需要 kubectl describe po 提供的所有信息,但来自集群 api 调用。
我有一些工作代码可以对 apis/metrics.k8s.io/v1beta1/pods 进行 api 调用,并在 minikube 上安装了 metrics-server 以进行测试,这些都可以正常工作并给我这样的输出:
正如我所说,我真正需要的是通过“描述 pods”类型调用获得的信息。浏览了 kubernetes 源代码后,这个 NodeDescriber 看起来像是正确的函数类型,但是对于如何集成/实现它以获得所需的结果,我有点茫然。
kubernetes/pkg/printers/internalversion/describe.go
4f2d7b9 中的第 2451 行
func (d *NodeDescriber) Describe(namespace, name string, describerSettings...etc)
我是 Go 新手,对 Kubernetes 不是特别熟悉。任何关于如何去做的指示将不胜感激。