小编the*_*ing的帖子

使用 Helm 管理多个环境的最佳实践

我不清楚管理具有多个环境的应用程序的最佳实践是什么,共享模板文件但每个环境具有不同的变量。例如,我们部署了一个开发、登台和生产环境。他们使用相同的 helm 模板,但我对每个环境都有不同的变量。

当前文件结构:

helm/
  ??? templates/
  ?   ??? _helpers.tpl
  ?   ??? deploy.yaml
  ?   ??? ingress.yaml
  ?   ??? service.yaml
  ?   ??? managed-certs.yaml
  ?   ??? NOTES.txt
  ??? Chart.yaml
  ??? values-production.yaml
  ??? values-staging.yaml
  ??? values-develop.yaml

Run Code Online (Sandbox Code Playgroud)

现在每个环境都有两个不同的值文件,我将以下内容传递给 helm helm install . --values=values-production.yaml

但是,我们无法正确管理上述版本控制。

我找不到任何关于管理应用程序多个环境的最佳实践的可靠文档。我遇到了helmfile这似乎解决了这个问题,但他们的文档不清楚。管理 kubernetes 的生态系统令人困惑,任何帮助表示赞赏。

google-kubernetes-engine kubernetes-helm helmfile

12
推荐指数
1
解决办法
7816
查看次数

如何在rspec中存根rand?

我正在使用Ruby 2.3.4和rspec 3.6.0.

我正在为一个使用的对象编写测试rand(10000..99999).我找不到任何文档rand来查看它所属的对象.我尝试了stubbing Kernel,ObjectRandom(见下文),但我的尝试都没有导致rand对象的存根.

allow(Kernel).to receive(rand).and_return(12345)
allow(Object).to receive(rand).and_return(12345)
allow(Random).to receive(rand).and_return(12345)
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

ruby rspec

7
推荐指数
2
解决办法
1741
查看次数

HAPROXY中ACL的子域中的通配符

尝试在haproxy中匹配以下内容:

acl instagiveweb hdr_beg(host) -i foo*.something.com

网址可以是foo-staging.something.comfoo.something.com

我查看了https://www.haproxy.com/doc/aloha/7.0/haproxy/acls.html#data-types-and-matching-between-samples-and-patterns上的文档,但是很难过找到我需要的模式匹配.

任何帮助赞赏!

regex routing haproxy

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

以HTML显示JavaScript对象

我有一个看起来像这样的对象:

var grocery_list = {
  "Banana": { category: "produce", price: 5.99 },
  "Chocolate": { category: "candy", price: 2.75 },
  "Wheat Bread": { category: "grains and breads", price: 2.99 }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够以如下方式在HTML中显示对象中的每个项目:

<div id="grocery_item" class="container">
    <div class="item">Item Here</div>
    <div class="category">Category Here</div>
    <div class="price">Price Here</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我知道如何在JS中遍历对象,但是我不确定如何在DOM中显示这些项目。我相信我可以使用jQuery append函数,但不确定如何。

任何帮助,将不胜感激。谢谢!

javascript dom object

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

表单输入到 JavaScript 对象

我熟悉 JavaScript,但不熟悉在 DOM 中使用它。我正在尝试制作一个表单,该表单将接受项目名称 + 属性并将其存储,就像我写出下面的对象一样:

var grocery_list = {
  "Banana": { category: "produce", price: 5.99 },
  "Chocolate": { category: "candy", price: 2.75 },
  "Wheat Bread": { category: "grains and breads", price: 2.99 }
}
Run Code Online (Sandbox Code Playgroud)

这是我拥有的示例 HTML 表单:

  <form>
    <input name="item"><br>
    <input name="category"><br>
    <input name="price"><br>
    <input type="submit" value="do stuff">
  </form>
Run Code Online (Sandbox Code Playgroud)

如何使用 JavaScript 获取上面的输入并将其推送到对象(如上)?

javascript forms dom

3
推荐指数
1
解决办法
6392
查看次数

在 ElasticBeanstalk 上预部署脚本

我正在将 Rails 应用程序部署到 AWS。其中一个 gem 具有依赖性,需要在bundle install部署期间运行之前在服务器上安装某些文件。在我的.ebextensions文件中我有以下内容

01-oracle_sdk:
    sources:
      /usr/lib: https://s3-us-west-2.amazonaws.com/xyz/instantclient-sdk-linux.x64-12.2.0.1.0.zip
  02-oracle-basic:
    sources:
      /usr/lib: https://s3-us-west-2.amazonaws.com/xyz/instantclient-basic-linux.x64-12.2.0.1.0.zip
  03-oracle_sql_plus:
    sources:
      /usr/lib: https://s3-us-west-2.amazonaws.com/xyz/instantclient-sqlplus-linux.x64-12.2.0.1.0.zip
  04-container_commands:
    00_oracle_dir:
      command: "export LD_LIBRARY_PATH=/usr/lib/instantclient_12_1"
Run Code Online (Sandbox Code Playgroud)

据我所知,这些都没有在部署前运行。当它尝试安装 gem 时会失败,因为该目录不存在。当我通过 SSH 进入实例时,LD_LIBRARY_PATH未设置 ,并且命令未下载并解压缩任何 zip 文件source

1) 我的语法是否正确 2) 如何获取这些命令来执行预部署/捆绑安装?

ruby-on-rails amazon-web-services amazon-elastic-beanstalk

3
推荐指数
1
解决办法
2458
查看次数

这个方法如何解决我的阶乘?

我正在研究一个红宝石挑战,并且必须编写一个方法来计算一个数字的因子.我在下面遇到了一个解决方案,但我不明白它是如何工作的,特别是else语句中的部分:

def factorial(number)
  if number <= 1
    1
  else
    number * factorial(number - 1)
  end
end
Run Code Online (Sandbox Code Playgroud)

假设我运行factorial(5) else语句如何在数字*factorial(number - 1)语句中迭代5*4*3*2*1 ?我知道这似乎应该是显而易见的,但这不适合我.提前感谢您的帮助.

ruby factorial

2
推荐指数
1
解决办法
115
查看次数

为什么String.tap不返回修改后的字符串?

我正在做

String.new.tap do |string|
  polygon.points.each do |point|
    x, y = point.x + (page_padding/2), point.y + (page_padding/2)
    string += "#{x}, #{y} "
  end
end
Run Code Online (Sandbox Code Playgroud)

但它返回一个空字符串.

如果我打电话

Array.new.tap do |array|
  polygon.points.each do |point|
    x, y = point.x + (page_padding/2), point.y + (page_padding/2)
    array << "#{x}, #{y} "
  end
end
Run Code Online (Sandbox Code Playgroud)

它返回一个修改过的数组.为什么这不适用于字符串?

使用Ruby 2.4.0

ruby

2
推荐指数
1
解决办法
359
查看次数

AWS Certificate Manager - 如何下载公钥?

我使用AWS证书管理器创建了一个SSL证书,以便在我们的EB负载均衡器上使用.

我们有一台需要公共证书才能通过HTTPS进行通信的设备.我知道AWS拥有私钥,是否可以下载公钥?

amazon-web-services aws-certificate-manager

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

通过排序字段数组传递sort_by

如果我有一系列哈希

collection = [
  { first_name: 'john', last_name: 'smith', middle: 'c'},
  { first_name: 'john', last_name: 'foo', middle: 'a'}
]
Run Code Online (Sandbox Code Playgroud)

还有一系列我想要排序的键:

sort_keys = ['first_name', 'last_name']
Run Code Online (Sandbox Code Playgroud)

sort_by如果密钥始终与集合中的密钥匹配,我如何传递这些密钥?

我试过了

collection.sort_by { |v| sort_keys.map(&:v) }
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我相信我需要使用proc,但我不确定如何实现它.非常感谢任何帮助!

使用Ruby 2.2.1

ruby proc

0
推荐指数
1
解决办法
72
查看次数