小编sta*_*416的帖子

使用特定命令启动kubernetes容器

使用fleet我可以指定在启动时在容器内运行的命令.看起来Kubernetes也很容易实现这一点,但我似乎无法找到任何说明如何的东西.您似乎必须专门创建容器才能使用某个命令启动.

拥有一个通用容器并使用不同的参数启动它比为特定情况创建许多不同的容器,或设置和获取环境变量简单得多.

是否可以在启动时指定kubernetes pod在Docker镜像中运行的命令?

kubernetes

38
推荐指数
4
解决办法
4万
查看次数

同构反应中的实时环境变量

我已经在这个回购中基于入门套件松散地构建了一个同构的React应用程序.它使用webpack来构建生产代码.

事实上,我需要将服务器上的一些环境变量的值暴露给浏览器中的客户端代码,而无需重建生产代码.我希望能够更改env变量的值,并让它在下一页刷新客户端的效果,而不必重建任何东西.我不想让测试复杂化.

我找到了一些解决方案,其中没有一个很好:

  1. 使用DefinePlugin for webpack将某些环境变量的值硬编码到生产代码中.类似于此处概述的内容
  2. 构建API只是为了将env变量拉入客户端.
  3. 编写一个特殊的.js文件,该文件位于webpack系统之外.此文件将被模板化,以便在将其提供给客户端之前进行修改.可能要求env变量值存储在'window'或其他东西上的特殊全局变量中.

这些方法的问题:

  1. 被拒绝.这不符合我的要求.如果我更改env变量的值,我需要重建代码.
  2. 不必要的复杂.我不需要这个API用于其他任何事情.一个完整的API只是为了提供很少改变的2或3个值?需要复杂性来确保在加载时从API ASAP中提取值.
  3. 最近,但有点粗糙.如果我可以避免它,我真的不想去webpack/React/Flux系统之外.在窗口对象上创建特殊的全局变量会起作用,但会为测试使用这些全局变量的组件/存储/操作带来复杂性.

我过去做过2和3,从来没有真正满足这些解决方案.

有什么建议?这似乎应该是一个常见/解决的问题.也许我只是在思考它,3是要走的路.

javascript flux reactjs webpack isomorphic-javascript

6
推荐指数
1
解决办法
862
查看次数

Google Cloud PubSub:以前有效的订阅突然未经授权

我在使用Google Cloud PubSub API时遇到了一些问题.最近,我开始使用Cloud PubSub为我正在处理的聊天服务器排队消息.来自PubSub订阅的消息将使用socket.io节点库转发给用户.我没有遇到这个设置问题 - 我运行我的node.js服务器,打开几个浏览器窗口,我可以毫无问题地聊天.

但是,我注意到,经常在服务器运行几个小时后,它开始吐出以下错误:

(node:2525) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project. (node:2525) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.

...

(node:2525) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1253): Error: Request had invalid authentication credentials. Expected …

oauth node.js google-cloud-platform google-cloud-pubsub

5
推荐指数
1
解决办法
237
查看次数

kubernetes调度程序是否支持反关联性?

我正在考虑在CoreOS集群之上部署Kubernetes,但我认为我遇到了各种各样的交易破坏者.

如果我只使用CoreOS和fleet,我可以在单元文件中指定我希望某些服务不能在与其他服务相同的物理机器上运行(反亲和力).这对于高可用性至关重要.但它看起来并不像kubernetes有这个功能.

在我的特定用例中,我将需要运行一些需要始终可用的弹性搜索机器集群.如果出于任何原因,kubernetes决定在一台机器上安排给定ES集群的所有弹性搜索节点容器(或者甚至是一台机器上的大多数),并且该机器死机,那么我的elasticsearch集群将随之死亡.这是不允许发生的.

似乎可能有解决方法.我可以设置资源需求和机器规格,这样每台机器上只能安装一个弹性搜索实例.或者我可能以某种方式使用标签来指定某些弹性搜索容器应该在某些机器上运行.我还可以提供比必要更多的机器,以及比必要的更多ES节点,并假设kubernetes将它们分散到足以合理确定高可用性.

但所有这一切似乎都很尴尬.从资源管理的角度来看,只需指定所需的硬件和反关联性,就可以让调度程序从那里进行优化.

那么Kubernetes是否以某种我无法找到的方式支持反亲和力?或者有人知道它是否会很快?

或者我应该考虑另一种方式?我是否必须编写自己的调度程序?

elasticsearch coreos kubernetes

4
推荐指数
1
解决办法
1834
查看次数