小编Ste*_* K.的帖子

如何通过 Terraform 管理多个 kubernetes 集群?

我想使用 Terraform 在 Google Kubernetes Engine 的几个 k8s 集群中创建一个秘密。

我知道我可以在“kubernetes”提供程序中使用“host”、“token”和其他一些参数,但是我只能描述这些参数一次,并且我不知道如何在terraform文件中连接到另一个集群。

我的问题是如何通过 Terraform 在多个 k8s 集群中创建秘密(或执行其他操作)。也许您知道 github 上的一些工具或其他通过单个 terraform 文件进行操作的技巧?

kubernetes google-kubernetes-engine terraform

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

如何在 <match> 中排除 fluentd 配置中的模式?

我想输出所有空值,除了match 中的一个模式。例如,我知道有一些方法可以通过 @labels 做到这一点,但我确实想在match 中排除模式。

我想这样做:

<match {all tags except **events**}>
Run Code Online (Sandbox Code Playgroud)

我做了什么:

我知道我可以像这样在match 中使用 Ruby 表达式:

<match #{tag.match(/^.*event.*$/) ? "fake_tag" : "**"}>
  @type null
</match>
Run Code Online (Sandbox Code Playgroud)

逻辑: “如果当前标签有模式 - 设置 fake_tag 跳过此匹配,否则设置 ** 输出全部为空”

但是这个表达式不起作用,因为 ENV 中没有变量 $tag。据我所知,Ruby 表达式不能使用 ${tag} 之类的配置变量。

也许我可以在匹配步骤之前设置 ENV 变量?

像这样:

<filter **event**>
  #{ENV["FLUENTD_TAG"] = ${tag}}
</filter>

<match #{FLUENTD_TAG.match(/^.*event.*$/) ? "fake_tag" : "**"}>
  @type null
</match>
Run Code Online (Sandbox Code Playgroud)

这些是我的想法,但也许有更简单的方法。

问题是 - 如何在匹配中排除模式?:-)

ruby regex fluentd kubernetes

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