我正在尝试将 statsd 导出器 ( https://github.com/prometheus/statsd_exporter ) 软件部署为 K8s 集群中的 docker 容器。但是,我希望一些参数是可配置的。为了做到这一点,我通过 K8s 部署以 yaml 格式将一些参数传递给容器。当这些参数不包含双引号字符 (") 时,一切正常。但是,如果引入的变量的所需值包含双引号,K8s 会以错误的方式解释它们(类似的内容在Pass json string to environment 中有描述)Envoy 的 k8s 部署中的变量)。我想设置的是--statsd.listen-tcp=":<port>"参数,我在 K8s 部署中使用command和args:
- name: statsd-exporter
image: prom/statsd-exporter:v0.12.2
...
command: ["/bin/statsd_exporter"]
args: ['--log.level="debug"', '--statsd.listen-tcp=":9999"']
Run Code Online (Sandbox Code Playgroud)
当我在 K8s 中部署它并检查“正在运行”部署的内容时,一切似乎都是正确的:
command:
- /bin/statsd_exporter
args:
- --log.level="debug"
- --statsd.listen-tcp=":9999"
Run Code Online (Sandbox Code Playgroud)
但是,容器永远不会启动,并出现以下错误:
time="..." level=fatal msg="Unable to resolve \": lookup \": no such host" source="main.go:64"
我认为 K8s 试图“转义”双引号,并将它们传递给容器,将反斜杠添加到容器中,因此后者无法理解它们。我也曾尝试写args为
args: ["--log.level=\"debug\"", …Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以加快同一个 Google 表格中多个选项卡中数百行公式的编辑速度?
这是以下问题的后续问题:ReferenceschangeinGoogleSheetswithnewformssubmissions ; 大约每次通过 Google 表单新提交在 Google 表格中添加新行时,某些公式即使已修复,也会更改其引用$(仍然不知道为什么会发生这种情况)。解决办法就是将其添加INDIRECT到公式中。然而,公式太多,无法轻松地手动更改。
例如我有这样的公式:
=COUNTIFS('Resp'!$AM$56:$AM,"Conf",'Resp'!$B56:$B,"PC
Arr")
Run Code Online (Sandbox Code Playgroud)
它需要更改为:
=COUNTIFS(INDIRECT("Resp!$AM$2:$AM"),"Conf",indirect("Resp!$B2:$B"),"PC
Arr")
Run Code Online (Sandbox Code Playgroud)
搜索和替换不起作用,因为公式的编写方式、公式和引用列的类型多种多样(尽管引用必须从 56 更改为 2),并且中间的
“ ”需要消失。'
有没有办法稍微加快这些变化,或者这是不可避免的体力劳动?