草庐IT

kubernetes之deployment

全部标签

docker - Kubernetes Pods 和 Docker Compose(s) (Composures?) 有什么区别?

KubernetesPod和DockerCompose脚本的结果(以下简称:“组合”)似乎都会产生虚拟计算机集群。集群中的所有计算机都可以配置为相互通信,因此您可以编写一个脚本来反射(reflect)您的整个端到端生产配置。单个脚本允许您在任何容器主机上部署该集群。鉴于这两个系统之间的相似之处,我很难理解两者之间的区别。为什么我会选择其中之一?它们是互斥系统还是我可以在kubernetes中运行组合。在设计容器系统时是否需要考虑任何关键因素?如果我今天正在为一个网站设计架构,并且希望喜欢尝试构建一个基于容器的系统。我应该设计的最高优先级的东西是什么?(与在单机系统上构建相比)

amazon-web-services - AWS Docker 戈兰。 'eb deploy' 错误

我正在尝试将golangdocker部署到AWS。我使用预定义的FROMgolang:1.4.2-onbuildeb本地运行-运行良好,没问题。如果我压缩并上传zip文件,它可以在AWS上正常运行。...但是当我尝试“ebdeploy”时,我不断收到此错误。有什么建议吗谢谢。bash-3.2$ebdeployWARNING:Deployingapreviouslydeployedcommit.INFO:Environmentupdateisstarting.INFO:Deployingnewversiontoinstance(s).WARN:FailedtobuildDockerima

go - 在 kubernetes 中处理 kafka 客户端更新

我有一个在AWSMSK上运行的Kafka集群,Kafka生产者和消费者go客户端在kubernetes中运行。生产者负责将数据流发送到Kafka。我需要帮助解决以下问题:比方说,生产者代码中有一些代码更改,必须在kubernetes中重新部署它。我怎样才能做到这一点?由于数据是连续生成的,我不能简单地停止已经运行的生产者并部署更新的生产者。在这种情况下,我将在更新过程之间丢失数据。有时由于代码中的panic(golang),客户端崩溃,但由于它作为pod运行,kubernetes会重新启动它。我无法理解这是好事还是坏事。谢谢 最佳答案

go - Bigtable 客户端初始化卡在 Kubernetes 容器中

我们正在尝试在Kubernetes上运行一个与Bigtable对话的Golang应用程序。该应用程序似乎在创建客户端时停滞不前:bigtableClient:=bigtable.NewClient()将日志级别设置为信息时使用:exportGRPC_GO_LOG_SEVERITY_LEVEL="INFO"错误信息是这样的:WARNING:2019/06/0508:14:13grpc:addrConn.createTransportfailedtoconnectto{dns:///bigtable.googleapis.com:44301}.Err:connectionerror:des

kubernetes - 更新 k8s ConfigMap 或 Secret 而不删除现有的

我一直在使用K8SConfigMap和Secret来管理我们的属性。我的设计非常简单,将属性文件保存在gitrepo中,并使用诸如ThoughtworksGO之类的构建服务器将它们自动部署为ConfigMaps或Secrets(在选择条件下)到我的k8s集群。目前,我发现我必须始终删除现有的ConfigMap和Secret并创建新的进行更新,如下所示:kubectldeleteconfigmapfookubectlcreateconfigmapfoo--from-filefoo.properties有没有一种简单的方法可以使上述步骤比删除当前更有效?如果在删除旧配置图且未创建新配置图的

kubernetes - 更新 k8s ConfigMap 或 Secret 而不删除现有的

我一直在使用K8SConfigMap和Secret来管理我们的属性。我的设计非常简单,将属性文件保存在gitrepo中,并使用诸如ThoughtworksGO之类的构建服务器将它们自动部署为ConfigMaps或Secrets(在选择条件下)到我的k8s集群。目前,我发现我必须始终删除现有的ConfigMap和Secret并创建新的进行更新,如下所示:kubectldeleteconfigmapfookubectlcreateconfigmapfoo--from-filefoo.properties有没有一种简单的方法可以使上述步骤比删除当前更有效?如果在删除旧配置图且未创建新配置图的

go - 如何获取 Kubernetes 上 pod 的真实和实际存储使用情况?

是否有任何直接的方法来获取Kubernetes上pod的实际存储使用情况?我尝试使用Prometheus这样做,但只公开了分配给每个pod的存储量,而不是我的应用程序(pod)实际消耗的存储量。我需要一种方法来查看每个pod消耗了多少存储空间并将其报告给Prometheus或Grafana。 最佳答案 有一种方法,但可能不是“直截了当”的方法。如果pod在Linux中运行,您可以执行:kubectlexec-itcat/proc/1/io它将返回有关主要IO进程的统计信息。以下是对这些的描述:rchar-----I/Ocounter

deployment - 将 Golang 应用上传并部署到 VPS

我制作了一个Go应用程序,当我在本地运行exe时它运行良好。我应该将其上传到我的VPS哪里?public_html/domain.com/somefolder?或者使用SSH的/usr/somefolder?我有我的应用程序、我的.exe和src文件,但是当我在我的VPS上在线部署时我该如何处理它们?我还没有找到关于这方面的教程,所以我希望你能帮助我。我是否上传我的src文件夹中的所有文件,包括我编写“gobuild”时的二进制文件?上传到我的VPS上的什么地方?使用ssh或cpanel/ftp程序还是什么?从在您自己的本地Windows8计算机上“开始构建”到在Linux服务器上在线

Kuberneters企业级容器云平台落地实践之二

 九、日志中心1、filebeat安装Filebeat是一个用于转发和集中日志数据的轻量级传送器。作为代理安装在您的服务器上,Filebeat监控您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或Logstash以进行索引。以下是Filebeat的工作原理:当您启动Filebeat时,它会启动一个或多个输入,这些输入会在您为日志数据指定的位置中查找。对于Filebeat定位的每个日志,Filebeat都会启动一个收割机。每个harvester读取单个日志以获取新内容并将新日志数据发送到libbeat,libbeat聚合事件并将聚合数据发送到您为Filebeat配置

go - 当使用 k8s.io/client-go 库更改 kubernetes 部署时,获得通知的最佳方式是什么?

上下文我正在编写一个使用k8s.io/client-go的脚本库(godocshere)来操作部署。特别是,我想为集群中的每个Deployment添加一个标签选择器。部署标签选择器是immutable.所以我的方法是:为每个Deployment创建一个副本,唯一的区别是名称以“-temp”为后缀。这是为了最大限度地减少现有部署的停机时间。删除原来的部署。重新创建原始Deployment,唯一的区别是多了一个标签选择器。删除临时部署。我不能只使用client-go库按顺序执行步骤1-4,因为我只想在API服务器认为上一步已完成时继续下一步。例如,在API服务器说原始Deployments