草庐IT

OpenStack$Kubernetes

全部标签

go - Kubernetes 围棋 API

我对kubernetes的golangAPI有一些疑问。我应该使用哪一个?k8s.io/client-go还是k8s.io/kubernetes/pkg/client?有什么区别?我想获取所有pod的列表,然后监听添加/更新/删除事件,使用api.Pods("").Watch方法和使用informer有什么区别?我在集群内部使用API,如何获取我当前所在节点的名称?它只是机器的主机名吗? 最佳答案 whichoneshouldIuse?k8s.io/client-goork8s.io/kubernetes/pkg/client?使用

docker - docker.io 与 docker-ce 和 docker-ee (现在称为 "Mirantis Kubernetes Engine")的关系是什么?

以前,我会使用安装dockerapt-getinstalldocker.io但是,我最近注意到安装docker的文档,它使用了docker-ce。我试图找出两者之间的区别,但结果是空的。docker.io与docker-ce的关系是什么? 最佳答案 警惕docker-ce接受的答案并不复杂。docker-ce由docker.com提供,docker.io由Debian提供。从表面上看,这意味着您可以立即安装docker.io,而对于docker-ce,您必须事先从docker.com附加一个外部存储库。然而,更重要的是,虽然这两个包

docker - docker.io 与 docker-ce 和 docker-ee (现在称为 "Mirantis Kubernetes Engine")的关系是什么?

以前,我会使用安装dockerapt-getinstalldocker.io但是,我最近注意到安装docker的文档,它使用了docker-ce。我试图找出两者之间的区别,但结果是空的。docker.io与docker-ce的关系是什么? 最佳答案 警惕docker-ce接受的答案并不复杂。docker-ce由docker.com提供,docker.io由Debian提供。从表面上看,这意味着您可以立即安装docker.io,而对于docker-ce,您必须事先从docker.com附加一个外部存储库。然而,更重要的是,虽然这两个包

go - 如何创建新的客户端证书/ token 以编程访问托管在 GKE 上的 Kubernetes API?

我正在运行托管在GKE上的Kubernetes集群,并想编写一个与KubernetesAPI通信的应用程序(用Go编写)。我的理解是,我可以提供客户端证书、不记名token或HTTP基本身份验证,以便通过apiserver进行身份验证。我已经找到了将这些中的任何一个注入(inject)Golangclientlibrary的正确位置.不幸的是,我遇到的示例倾向于引用存储在我的个人kubeconfig文件中的现有凭据。从安全角度来看,这似乎是不可取的,并且让我相信我应该创建一个新的客户端证书/token/用户名-密码对,以支持轻松撤销/删除受感染的帐户。但是,我在文档中找不到实际描述在G

go - 我应该如何在 Kubernetes 中检查我的 go 服务的健康状况?

我在Kubernetes的pod中运行一个用go编写的服务。该服务不公开HTTP接口(interface);它正在处理队列中的工作。我可以:使用可执行事件检查来查看进程是否正在运行公开一个HTTP健康检查端点使用expvars公开基本健康数据。在go/Kubernetes中是否有一种通用/惯用的方式来执行此操作? 最佳答案 总的来说,我推荐HTTP机制,因为它很容易添加到Go中。如果您已经有了将返回有用状态的可执行命令,那就去做吧。或者你可以考虑https://github.com/kubernetes/contrib/tree/m

api - 客户端去: parse kubernetes json files to k8s structures

我想解析kuberneteslist文件(json/yaml)并能够将它们转换为k8s结构(以便稍后操作它们)我知道有NewYAMLOrJSONDecoder().Decode()函数(https://github.com/kubernetes/apimachinery/blob/master/pkg/util/yaml/decoder.go)可以读取json/yaml文件,但下一步是:如何将它们转换为k8s结构/类型?即例如,如果我读取带有命名空间对象的yaml文件,如何将其转换为核心/v1/命名空间接口(interface)问候, 最佳答案

go - Go 的 Kubernetes 客户端 - 仅错误编码的映射或数组可以解码为结构

我正在尝试使用KubernetesClientforGo更新Openshift中的现有部署。我正在使用以下JSON将副本更新为3:JSON:{"kind":"Deployment","spec":{"template":{"spec":{"containers":{"image":"docker.fmr.com\/fmr-pr000105\/testcontainer:1.0.0","name":"testcontainer","resources":{"requests":{"cpu":"50m"},"limits":{"cpu":"50m","memory":"50M"}},"po

go - Kubernetes Helm Chart If 条件检查

我正在尝试在Helm图表中添加ifgreatthancondition。它正在抛出错误。我在values.yaml中定义了值,并在deployment.yaml中使用该值作为条件。values.yamlreplicaCount:2deployment.yamlrollingUpdate:maxSurge:1{{ifgt.Values.replicaCount2}}maxUnavailable:0{{else}}maxUnavailable:1{{end}}我正在使用helmdryrun选项来检查结果。出现错误Error:rendererrorin"hello-world/templat

pointers - &deployment 如何满足 kubernetes 代码中的 runtime.Object 类型?

在kubectl/run.go在Kubernetes代码中,Generate函数有这两种类型的结果列表:runtime.Object,error函数的最后一行是:return&deployment,nilruntime被导入:k8s.io/apimachinery/pkg/runtime我通过在该导入语句上运行goget获得了runtime,对象在interfaces.go中定义:typeObjectinterface{GetObjectKind()schema.ObjectKindDeepCopyObject()Object}(我在网上找到了相同的代码here。)地址运算符创建一个指

go - kubernetes helm golang 客户端上的示例

我想在kubernetes上创建一个服务来管理集群上的helm图表。它从私有(private)图表存储库安装图表。由于我没有找到任何关于如何使用helmclientapi的文档,我正在寻找一些示例或指南来在helmclient之上创建服务。 最佳答案 对于HELM3正如其他答案所指出的,使用Helm2,您需要与tiller交谈,这会使事情变得复杂。Helm3更干净,因为tiller被移除并且helm客户端直接与KubernetesAPI服务器通信。以下是使用helm3以编程方式安装helmchart的示例代码:packagemain