Tag: 谷歌容器引擎

如何更新Google Container Engine上的Kubernetes部署?

我遵循了一些指南,并且已经使用Google Container Engine和Google Container Registrybuild立了CI。 问题是我的更新没有被应用到部署。 所以这是我的包含Kubernetes服务和部署的deployment.yml: apiVersion: v1 kind: Service metadata: name: my_app labels: app: my_app spec: type: LoadBalancer ports: – port: 80 targetPort: 3000 selector: app: my_app — apiVersion: extensions/v1beta1 kind: Deployment metadata: name: my_app spec: replicas: 1 template: metadata: labels: app: my_app spec: containers: – name: node image: gcr.io/me/my_app:latest ports: – containerPort: […]

连接到Kubernetes master,更新heapster

我想更新Heapsterconfiguration(为influxdb添加接收器)。 问题在于,由于我们通过Google容器引擎创build了集群,默认情况下创build了heapster,并在kubernetes master上有configuration文件。 我不能连接到kubernetes掌握与我可以连接到奴才节点(ssh)相同的方式。 我想知道是否有更新heapster podconfiguration的方法,可以直接通过k8s master上的configuration文件或通过kubernetes API

kubernetes部署。 如何更改滚动更新的容器环境variables?

以下是我在谷歌上使用kunbernetes的方式。 我有一个节点应用程序让我们说图书门户 。 节点应用程序使用环境variables进行configuration 。 第一步:我创build了docker文件并推送 gcr.io/<project-id>/book-portal:v1 第二步:部署以下命令 kubectl run book-portal –image=gcr.io/<project-id>/book-portal:v1 –port=5555 –env ENV_VAR_KEY1=value1 –env ENV_VAR_KEY2=value2 –env ENV_VAR_KEY3=value3 第三步: kubectl expose deployment book-portal –type="LoadBalancer" 第四步:获取公共IP kubectl get services book-portal 现在假设我在下一个版本中添加了新function和新configuration。 所以推出新版本v2 第一步:我创build了docker文件并推送 gcr.io/<project-id>/book-portal:v2 第2步:编辑部署 kubectl edit deployment book-portal —————yaml————— … spec: replicas: 1 selector: matchLabels: run: book-portal strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: […]

如何发送基于Kubernetes / Docker事件的警报?

是否有可能以某种方式基于Kubernetes集群中发生的事件发送警报(电子邮件/闲置)? 尤其是,如果吊舱意外重新启动或者吊舱无法启动,那么获得警报将非常有用。 同样,知道某个pod的CPU使用率是否超过某个阈值并获得警报会很有用。 我们安装了Heapster(与InfluxDB / Grafana后端)。 虽然这给了有用的数据,但不幸的是我们没有提供警报。

HTTP(S)负载均衡Kubernetes / Docker

我正在谷歌云计算基础设施中通过NGINX在自签名证书背后运行restfull服务。 Kubernetes服务加载程序公开了443并将这些容器的stream量路由。 除了要求内部客户忽略自签certificate警告之外,所有的工作都可以正常工作。 现在是时候转移到CA证书,因此只有select,据我所知是https加载程序,但我无法弄清楚如何我们可以重新路由到服务加载器的stream量或直接作为服务加载器(HTTP加载器) 任何帮助apprecaited

在Kubernetes上的分期和生产

我为两个名称空间共享相同的集群: 分段和生产 。 这两个命名空间的唯一区别是: 将卷装载到特定的窗格(显然,在分段和生产之间是分开的)。 一些相对寻址的url 一些IP用于复杂的持久性数据库 我设法解决(2)和(3) ,如下所示,以便为所有ReplicationController维护单个YAML文件: 对命名空间使用本地ConfigMaps来定义通过环境variables传递到窗格中的任何configuration 使用端点 服务处理指向不同内部IP的DNS条目 然而,我无法find一个令人满意的方式来引用一个gcePersistentDisk的pdName – 我似乎无法使用ConfigMap ,因此有点难倒。 这将是什么适当的方式呢? 最好的select似乎是使用不同的string来维护2个独立的YAML文件,但是这样会产生代码异味,因为它违反了DRY 。 另外,我上面提到的其他设置的任何build设性的评论是高度赞赏:-)

如何提高Kubernetes的安全性尤其是跨Pods?

TL; DR Kubernetes允许所有容器访问整个集群上的所有其他容器,这似乎大大增加了安全风险。 如何缓解? 与Docker不同, Docker通常只允许需要通信的容器之间的networking连接(通过–link ), –link每个Pod可以访问该集群上的所有其他Pod 。 这意味着对于在Kubernetes上运行的标准Nginx + PHP / Python + MySQL / PostgreSQL,受损的Nginx将能够访问数据库。 人们曾经在单台机器上运行所有这些机器,但是那台机器会有严重的定期更新(不止是容器),对于严重的人来说,SELinux / AppArmor也是如此。 每个项目(如果你有不同的独立网站)都可以在自己的集群上运行,但是这似乎是浪费的。 目前的Kubernetes安全似乎是非常不完整的。 有没有一种方法可以为生产提供体面的安全保障?

Kubernetes:除了一个,Docker pod启动失败

我们正在Google容器引擎上运行Jetty服务。 这一个服务运行得很好,在与rc的吊舱。 我们可以closures它,重build它,并做所有的事情,它仍然会工作。 现在我们想用一个运行其他东西的debian映像来扩展我们的基础架构。 在本地,docker工作正常,我们可以访问debian的命令行。 一旦我们尝试在云中运行Pod,我们就会遇到问题。 我们使用的Dockerfile包含:FROM debian:latest然后我们运行下面的命令: docker build -t eu.gcr.io/project_id/debstable:stable . gcloud docker push eu.gcr.io/project_id/debstable:stable kubectl run debstable –image=eu.gcr.io/project_id/debstable:stable 该吊舱收到CrashLoopBackOff STATUS并继续重新启动。 部分日志显示了这一点: I0120 14:19:58.438979 3479 kubelet.go:2012] SyncLoop (ADD): "debstable-blvdi_default" I0120 14:19:58.478235 3479 manager.go:1707] Need to restart pod infra container for "debstable-blvdi_default" because it is not found I0120 14:20:00.025467 3479 server.go:944] GET /stats/default/debstable-blvdi/e2ab2ffc-bf80-11e5-a1d8-42010af001a5/debstable: (100.384µs) […]

在Kubernetes或Google Container Engine中等待作业/ Pod完成

脚本中最好的方法是在Kubernetes或Google Container Engine中等待工作或Pod完成的最佳方式是什么? 特别是,最好是通知而不是在kubectl查询状态,但是我会很高兴在一个相当有效的循环中没有任何裂缝之间的滑倒。 从本质上讲,我想要相当于一个简单的docker run因为它阻塞,直到命令终止,但我不想直接在这种情况下使用docker。 我看了Github问题#1899,但看起来还没有解决。

如何在Google Container Engine上运行私人泊坞窗图片

如何运行我在Google Container Engine本地构build的docker图像?