草庐IT

Kubernetes_APIServer_APIServer

全部标签

go - 将 *extensions.Deployment 转换为 *v1beta1.Deployment (Kubernetes client-go)

对于Kubernetesclient-go,如何使用Convert()将*extensions.Deployment转换为*v1beta1.Deployment?当我运行下面的程序时,出现此错误:2017/01/1222:40:42转换失败:将(extensions.Deployment).CreationTimestamp.Time.sec转换为(v1beta1.Deployment).CreationTimestamp.Time.sec:无法设置目标。(试图用未导出的字段深度复制某些东西?)packagemainimport("log"_"k8s.io/client-go/1.4/

go - 如何使用 Go 客户端 API 在 kubernetes 中创建和使用卷?

使用GoAPI在kubernetes中创建和挂载本地文件夹作为“持久卷”需要哪些步骤?(我正在使用minikube,并尝试执行上述操作,只是为了使用一些半持久存储)。我已经设法在我的JobSpec中定义了一个Volume和VolumeMount,我可以在minikube上成功运行一个作业(参见thiscode),但在作业以这种方式引用之前,卷似乎没有正确创建。我开始充实一些容器规范的代码,这在我的实验代码中被注释掉了,可以在thiscode中看到,但是我找不到将这个卷规范发送到哪里,因此kubernetes将创建它。有什么提示吗? 最佳答案

go - 如何在 Kubernetes 中添加新包

如题,我在Kubernetes的plugin/pkg/scheduler/algorithm/priorities文件夹中添加了一个新的算法包。它是一个文件夹,里面有一些Go源文件,比如util文件夹。但是,当运行make时,我得到了错误:test/e2e_node/e2e_node.testcmd/gke-certificates-controllerplugin/pkg/scheduler/algorithm/priorities/test.go:7:2:nobuildableGosourcefilesin/home/zhangjian/src/k8s.io/kubernetes/

go - 操作 Kubernetes 的 client-go PodList

我正在研究Kubernetesclient-go,无法理解操作Pod结构的正确方法...我得到一个PodListpods像这样://createstheclientsetclientset,err:=kubernetes.NewForConfig(config)iferr!=nil{glog.Fatal(err)}//GetPodspods,err:=clientset.CoreV1().Pods("").List(meta_v1.ListOptions{})iferr!=nil{fmt.Println(err)return}然后我可以获得每个Pod的一些值使用像这样的循环for_,p

go - 我有一个在 Kubernetes 上运行的 Golang 应用程序,但是当 pod 死亡时根本没有错误消息。我应该怎么办?

如题。当我运行kubectllogsmy-go-app-deployment-1967699436-yxxn7或kubectllogsmy-go-app-deployment-1967699436-yxxn7-p时,根本没有错误日志打印出来。我该怎么办?是什么导致Golangpod崩溃? 最佳答案 首先,您应该检查pod以了解它死亡的原因以及它是否重新启动。kubectldescribepodmy-go-app-deployment-1967699436-yxxn7在Containers->yourcontainer->LastSt

【k8s面试】超详细kubernetes面试题总结,面试必问!(附200道K8s/Docker面试真题+答案详解)

今年的面试差不多结束了,前两天跟一个大佬交流,他直言,K8s就是未来的Linux操作系统。操作系统一般有存储、网络、进程管理、进程调度、系统调用API等功能。类似的,K8s也提供了云原生下的存储、调度、网络、声明式API等功能,还提供了很多运维相关的能力,如备份、扩缩容、负载均衡等。可以说,K8s在云原生环境下,已经承担了一个操作系统的绝大部分功能!更是已经成为云计算领域中平台层当仁不让的事实标准!在这个企业全面追逐云原生的时代,相信K8s/Docker很快就会成为每个技术从业者必备的基础知识。另外,K8s和Docker也让DevOps这一角色更加清晰,对很多中小企业中,需要开发+运维一把抓的

go - Kubernetes 去客户端 : list events

我正在尝试获取命名空间中的事件列表,但无论是否使用FieldSelector,我都会得到一个空列表。这是正确的做法吗?eventListOptions:=metav1.ListOptions{FieldSelector:fields.OneTermEqualSelector("involvedObject.name",job.Name).String()}jobEvents,_:=clientset.EventsV1beta1().Events(GetNamespace()).List(eventListOptions) 最佳答案

ubuntu - 完成作业不稳定的 Kubernetes 集群;充满 "http2: no cached connection was available"的 kubelet 日志

总结我有各种单节点Kubernetes集群,这些集群在累积约300个已完成的作业后变得不稳定。例如,在一个集群中,有303个已完成的作业:root@xxxx:/home/xxxx#kubectlgetjobs|wc-l303观察我观察到的是kubelet日志中充满了这样的错误消息:kubelet[877]:E021909:06:14.637045877reflector.go:134]object-"default"/"job-162273560":无法列出*v1.ConfigMap:获取https://172.13.13.13:6443/api/v1/namespaces/defau

go - Kubernetes client-go Remotecommand Stream 何时完成?

我在这里使用这个远程命令https://github.com/kubernetes/client-go/blob/master/tools/remotecommand/remotecommand.go#L108在pod上执行命令并将结果流式传输到io.Writer。如上面命令中所述,链接中的函数仅在客户端或服务器断开连接时Stream才完成。由于Stream配置只附加了一个命令,为什么当命令退出时它不关闭?我怎么知道命令何时完成?特别是我正在将tar-cf-...的结果传输到客户端并想知道它何时完成。 最佳答案 我注意到Stream

go - 在 golang 中收集 Kubernetes 指标

我正在使用GKE平台来实现Kubernetes调度程序。我正在使用PrometheusGrafana来监控应用程序。为了在golang中实现调度程序,我需要获取指标作为调度程序的输入。请给我一些建议。另外请建议适当的文档,以便我可以轻松理解这些内容。我是新手,所以我什么都不知道。我们将不胜感激。 最佳答案 首先,我鼓励您阅读一些有关Kubernetes监控的相关文档architecture其中解释了很多关于Kubernetes指标主要概念的有用信息。由于您使用了Prometheus作为主要的监控集群代理,您可能会使用Kubernet