草庐IT

Kubernetes集群

全部标签

amazon-web-services - AWS ECS SDK.使用 SDK 为 ECS 集群注册新的容器实例 (EC2)

我在使用AWSSDK时遇到过这个问题。目前我正在使用golang的SDK,但也欢迎其他语言的解决方案!我通过SDK创建了ECS集群现在我需要为这个集群添加EC2容器。我的问题是我无法使用AmazonECS代理通过配置指定集群名称:#!/bin/bashechoECS_CLUSTER=your_cluster_name>>/etc/ecs/ecs.config或类似的东西。我只能使用SDK。我找到了名为RegisterContainerInstance的方法.但是它有注释:ThisactionisonlyusedbytheAmazonECSagent,anditisnotintended

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

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

搭建hadoop集群初次格式化namenode时不小心格式化了多次,主节点namenode或者从节点datanode进程不能启动,怎么办?

我们在搭建完hadoop集群时,初次启动HDFS集群,需要对主节点进行格式化操作,其本质是清理和做一些准备工作,因为此时的HDFS在物理上还是存在的。而且主节点格式化操作只能进行一次。那我们在格式化时,不小心格式化多次,就会导致主从节点之间互相不识别。然后导致启动hadoop集群时,主节点的namenode进程可能不会启动或者从节点的datanode可能不会启动。这里给出一种解决方法:我们在配置hadoop的配置文件core-site.xml时,其中有一组参数hadoop.tmp.dir,它的值指定的是配置hadoop的临时目录我们把tmp目录删除,再重新格式化即可。先进入/export/se

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

go - kubernetes API中是否有通过注解获取所有服务的函数

我正在设置一个kubernet集群来部署我们的容器应用程序。应用程序实际上需要所有标签,但标签超过63个字符,我得到一个error.这使我依赖于注释。服务的注释如下所示:com.example.development.london/component.proxy-config.secure-routes.backend.proxy-path。/仅用于绕过RFC域错误。在Golang应用程序中,请求命名空间的所有服务。实际上基于标签。为此,到目前为止我使用了以下代码。func(kc*KubernetesCollector)generateRoutes(errorChannelchan但是

go - 从 Mutating Admission Controller 中创建一个新的 Kubernetes 对象

MutatingAdmissionController可以通过连接到api-server来更新/创建另一个对象吗?我看到我们可以使用JSONPatch通过AdmissionReview改变入站对象,但我可以扩展它来创建一个完全不同的对象吗?谢谢!!-斯雷尼 最佳答案 您可以创建一个mutatingwebhookconfigurations,它基本上将服务Hook到mutatingadmissioncontroller。这就是istio向所有启用了istio注入(inject)的pod注入(inject)sidecar代理的方式。可以

go - golang在kubernetes上创建监视程序/ Controller ,以将sidecar容器附加到具有PVC附件的任何pod/部署中

我是个新手,想把上面的事情做完。最简单的方法是什么?我要找的是:1-部署观察者2-更新/删除/添加部署时,将附加一个侧车(修补部署)3-控制来自侧车的反馈。任何参考都有帮助 最佳答案 我建议你看看webhooks这样你就不会重新发明轮子了。webhook可用于拦截对api服务器的资源(包括部署)更新/删除/创建请求。然后,可以根据您的目标修改或拒绝这些请求。 关于go-golang在kubernetes上创建监视程序/Controller,以将sidecar容器附加到具有PVC附件的任何