问题标签 [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 投票
1 回答
8112 浏览

kubernetes - Kubernetes Ingress 不可访问(本地主机)

我正在 Linux 机器上的 localhost 上设置一个最小的 Kubernetes 集群(从签出的 repo 中的 hack/local-up-cluster 开始)。在我的部署文件中,我定义了一个入口,它应该使部署在集群中的服务可以从外部访问。部署.yml:

我无法访问服务。kubectl describe 为我的入口显示以下内容:

是不是因为我的入口没有设置地址,所以外界还看不到它?

0 投票
2 回答
7152 浏览

validation - 验证 Kubernetes 配置文件 (YAML)

我想实现一个功能 - 使用 k8s JSON 模式/Yaml Schema 验证 Kubernetes 部署文件(部署 yaml 或服务 yaml 或 rc yaml)。

目前我需要设置 kubectl 和 k8s 集群才能进行验证。但是如果没有这个设置,想使用 Go-Client (K8s) api 进行验证。

谁能告诉我是否有任何库可用于验证文件?如何获取 K8s 模式。是否有任何工具/库来生成模式?你能给我指明方向吗,因为我对 Kubernetes 的东西完全陌生。

有谁知道 kubectl 是如何实现的?如果可能,我想使用类似的库

0 投票
3 回答
1502 浏览

go - 使用 client-go api 回滚部署

我想使用 k8s 的客户端库将部署回滚到某个修订版(推出历史记录)。但到目前为止,我还没有找到解决方案。我只能获取资源修订版,但不能获取使用 kebctl 获得的“部署修订版”

这是使用 client-go api 的代码:

使用 client-go api:如何获取给定部署的现有修订版。?我想回滚部署以使用此修订版。谁能告诉我应该怎么做??

这是我项目中的依赖项列表:

先感谢您

0 投票
2 回答
499 浏览

go - 从 kubectl logs 命令可用时,无法在 go 客户端中检索 POD 日志

在我们的 Kubernetes 中,有一个不断重启的 POD。

如果我使用kubectl logs -p POD_NAME -n NAMESPACE命令,我会得到详细的日志。然而,当我们使用 Kubernetes 的 go 客户端并尝试检索日志时,我们什么也得不到。

我们正在使用 PodExpansion 接口的 GetLogs(name string, opts *v1.PodLogOptions) 方法。

我还尝试在 PodLogOptions 中使用各种选项,例如。sinceSeconds=BeginningOfTheYear但没有运气。

任何帮助都深表感谢。

0 投票
3 回答
2832 浏览

go - 如何在 Prometheus 中显示使用 golang 客户端库从 Kubernetes 中运行的所有 Pod 中捕获的自定义应用程序指标

我正在尝试使用 prometheus 客户端库在 golang 中捕获一些自定义应用程序指标,以显示在 Prometheus 中。

我有以下工作:

  • 如果我使用以下方式连接到我的 pod:

kubectl exec -it my-app-pod -- /bin/bash

然后在“localhost:8080/metrics”上执行 wget,我可以看到我的指标

到目前为止一切顺利,这是我碰壁的地方。我可以让多个 pod 运行相同的图像。我想将所有图像作为目标公开给普罗米修斯。如何配置我的 pod 以便它们显示在 prometheus 中,以便我可以报告我的自定义指标?

感谢您提供的任何帮助!

0 投票
2 回答
8714 浏览

kubernetes - 如何获取 Pod 中的当前命名空间?

我能想到的一种方法是在定义 Pod 时设置一个环境,该环境的值是 Pod 的命名空间。
动态获取命名空间而不需要对 Pod 进行更改会更好,因为它减轻了构建 Pod 的负担。

那么有没有办法在 Pod 中获取当前命名空间?

0 投票
2 回答
1518 浏览

kubernetes - 如何使用 kubernetes go 客户端库实现`kubectl create -f pod.yaml`

我有一个名为“myspec”的文件夹,其中包含一些 kube-spec 文件,比如说

  • pod.yaml、service.yaml、secret.yaml

当我运行命令“kubectl create -f myspec”时,它会创建所有内容、pod、service 和 secret。

现在我希望使用 kubernetes go 客户端库执行相同的操作。

0 投票
1 回答
2112 浏览

docker - 如何使用 kubernetes python 客户端排空节点?

我正在尝试使用官方的kubernetes python-client自动化 kubernetes 工作节点。我目前正在寻找一种将所有正在运行的应用程序安全地移动到其他节点的方法。我们可以使用“kubectl drain”来做到这一点。我没有找到使用 python 客户端模拟该功能的方法。我目前正在研究这个库是否支持排水功能?

0 投票
1 回答
1024 浏览

go - 操作 Kubernetes 的 client-go PodList

我在 Kubernetes client-go 周围闲逛,无法思考操作 Pod 结构的正确方法......

我得到一个像这样的PodList 豆荚

然后我可以使用像这样的循环来获取每个Pod的一些值

但仅从具有一些 Getter (pod.GetName()) 的ObjectMeta 结构中,使用.Value也可以使用 (pod.Namespace)。我无法理解访问嵌套在Spec PodSpecStatus PodStatus中的数据的正确方法是什么。

也许我缺乏一些核心的 Golang 概念......任何人都可以启发我,为我指出某个方向或为我提供一个正确方法的通用示例吗?

0 投票
2 回答
1281 浏览

windows - 由于虚拟机设置,Windows 10 中的 kubernetes 安装失败

嗨,我是 Kubernetes 的新手。我已阅读在线教程以了解 kubernetes 及其优势。为了动手,我已经在我的 Windows 机器上进行了设置。它在配置 kubernets VM 时运行良好并收到错误。我已经下载了 Minikube 安装程序并在 windows 10 power shell 中发出了以下命令

重试。E1104 23:10:01.364507 16152 start.go:122] 启动主机时出错:创建主机时出错:创建机器时出错:机器创建期间驱动程序出错:无法启动 VM:C:\Program Files\Oracle\VirtualBox\VBoxManage。 exe startvm minikube --type headless failed: VBoxManage.exe: error: 虚拟机“minikube”在启动过程中意外终止,退出代码为 1 (0x1)。'C:\Users\Kube\ .minikube\machines\minikube\minikube\Logs\VBoxHardening.log' VBoxManage.exe:错误:详细信息:代码 E_FAIL (0x80004005),组件 MachineWrap,接口 IMachine 中可能提供更多详细信息

我的机器上已经安装了 oracle 虚拟机。不确定是否会导致此问题。

在阅读了其他几个论坛后,我删除了 .minikube 目录并在 windows power shell 中重新发出了相同的命令,但它没有帮助。

谁能指导我在 Windows 10 机器上安装 kubernetes。我的机器中没有 hyper-v(Windows 家庭版)。