问题标签 [confd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
coreos - confd 对等点不可访问
跑步
给了我以下
但是,如果我向 confd 模板和 conf 具有的完全相同的服务器和键/值对发出 curl 请求,我会正确地从 etcd 获得 json 响应。不确定,为什么 confd 不起作用?
有人有想法么?
service-discovery - 如何使用 confd 获取使用 etcd 生成的键字符串值
我正在使用 confd 和 etcd。我正在关注nginx 的 confd 示例。我将这些密钥放在我的 etcd 服务中:
这是我的 toml 配置:
这是我的 tmpl 配置。
在这里,我想捕捉app2或app1之类的键字符串值。我只知道如何获得它的价值。我想做这样的事情{{$sever.key}}但它不起作用。{{$sever.key}}上面的配置是错误的,但我这样做是为了显示我想要什么。
这个想法可能吗?
是否有任何保留词或语法?
amazon-web-services - Confd 错误:错误 501:所有给定的对等点都无法访问(尝试连接到每个对等点两次但失败)[0]
在调试时,我意识到 confd 没有获取密钥,我的日志看起来像这样:
Sep 18 18:31:50 ip-10-171-54-76.ec2.internal docker[24891]: [nginx] waiting for confd to refresh nginx.conf
Sep 18 18:31:56 ip-10-171-54-76.ec2.internal docker[24891]: 2014-09-18T18:31:56Z 9122c7a54edc confd[9572]: ERROR 501: All the given peers are not reachable (Tried to connect to each peer twice and failed) [0]
我使用 nsenter 登录到正在运行的容器来运行一些实验以进行调试。我运行了这个命令
confd -onetime -node 172.17.42.1:4001 -config-file /etc/confd/conf.d/nginx.toml
然后如上所述收到此错误
confd[12894]: ERROR 501: All the given peers are not reachable (Tried to connect to each peer twice and failed) [0]
在这一点上,我完全无能为力。我将 EC2 与 CoreOS 的稳定版本一起使用,并且我确信 etcd 正在主机上运行。此外,我可以从容器内成功 ping 主机。
关于有什么问题的任何想法?
援助将不胜感激。
docker - Docker 无法添加带有“太多重定向”的远程文件
我正在尝试构建以下内容Dockerfile
:
但它无法尝试使用“重定向太多”错误来获取远程文件:
在 Mac OS X 10.10 上运行 boot2docker 1.3.1。知道这里发生了什么吗?
postgresql - 在 docker 环境中重启 postgres
我无法重新启动 dockerized postgres 数据库(我使用 Core OS)。使用命令在 bash 脚本中启动数据库
哪个有效。我有另一个由 confd 调用的脚本,它在某些 etcd 键更改时运行(这部分没问题,文件被正确调用)并且必须重新启动 postgres(不重新加载,因为某些配置更改需要重新启动)。这是我尝试过的主要选项,但失败了...
系统地引发错误:
此外,
,
,
和
失败
任何想法?先感谢您!
docker - 如何通过 Dockerfile 安装`passenger-install-nginx-module`
如何passenger-install-nginx-module
通过 Dockerfile 安装?
以上是我的dockerfile。
我只想设置passenger-nginx-module ...
但我RUN
在 Dockerfile 的最后一条指令中出错
首先,安装passenger,其次,尝试通过rvmsudo passenger-install-nginx-module
命令安装nginx-module。
但是码头工人回应了这个错误
错误:
虽然我只是试图指挥rvmsudo
......
我应该怎么办?
bash - How to set environment variables with a forward slash in the key
Is there a way to export an environment variable with a slash in the name such as:
export /myapp/db/username=someval
This post indicates it should be possible but I cannot figure out valid syntax to do so.
For background:
I am using confd to produce config files from a template and key store. The typical stores (consul, etcd) use hierarchical keys such as /myapp/db/username
. I would like to transparently allow for switching between using an environment variable based provider and a configuration store that leverages hierarchical keys.
google-cloud-platform - 如何从容器访问 etcd?
我在 Google Compute Engine 上的 CoreOS 上运行 Kubernetes,我想从容器访问 etcd 以使用 confd 启用动态配置。Pod 中的容器有没有办法知道 Kubernetes master 的 IP 地址?
security - 使用 kubernetes 使用敏感信息填充 Docker 容器
我有一个运行容器的 pod,这些容器需要访问 API 密钥和数据库密码等敏感信息。现在,这些敏感值嵌入到控制器定义中,如下所示:
然后可以在 Docker 容器中作为$DB_PASSWORD
环境变量使用。一切都相当容易。
但是阅读他们关于Secrets的文档时,他们明确表示将敏感配置值放入您的定义中违反了最佳实践,并且可能是一个安全问题。我能想到的唯一其他策略如下:
- 为每个用户社区或命名空间创建一个 OpenPGP 密钥
- 使用crypt将配置值设置为 etcd(使用私钥加密)
- 创建一个包含私钥的 Kubernetes 机密,就像这样
- 将该秘密与容器相关联(这意味着私钥将可以作为卷安装访问),就像这样
- 当容器启动时,它将访问卷挂载中的文件以获取私钥,并使用它来解密从 etcd 返回的 conf 值
- 然后可以将其合并到confd中,它根据模板定义(例如 Apache 或 WordPress 配置文件)填充本地文件
这看起来相当复杂,但更安全和灵活,因为这些值将不再是静态的并以明文形式存储。
所以我的问题,我知道这不是一个完全客观的问题,这是否完全有必要?首先只有管理员才能查看和执行 RC 定义;因此,如果有人破坏了 Kubernetes 主控,您还有其他问题需要担心。我看到的唯一好处是没有秘密以明文形式提交到文件系统的危险......
还有其他方法可以安全地使用秘密信息填充 Docker 容器吗?
kubernetes - 在 Kubernetes 清单中使用动态值
我有两个独立的 Kubernetes 集群,它们将分别用于暂存环境和生产环境。我想为将要提交到每个集群的 Kubernetes API 对象提供 YAML 清单,但其中一些对象在两个环境之间的配置会略有不同。
作为一个虚构但说明性的示例,想象在每个集群上运行一个内部 Docker 注册表,一个使用 S3 作为存储后端,一个使用 GCS 后端。注册表容器可以接受这些配置值作为环境变量或从文件中读取,这两者都是 Kubernetes 清单支持的,但是我应该如何为每个环境填充这些值呢?
本质上,我想要的是一种使清单看起来像这样的方法,其中$()
语法是在提交清单时将在服务器上发生的变量插值:
我可以编写使用占位符作为值的模板,然后处理模板,从某个外部源中提取实际值,以生成实际提交给集群的最终清单。但是,我想我会先问一下,以防已经存在执行此操作的工具,或者有一些我不知道的受 Kubernetes 支持的方式来执行此操作。为了使用 Kubernetes,这似乎是许多人需要做的事情。
我的其他想法包括在主机节点上使用 etcd、confd 和脚本的某种组合,但这开始进入主机配置管理领域,我想不惜一切代价避免。我正在使用 CoreOS,主机完全通过 coreos-cloudinit 进行配置。换句话说,没有在创建节点时未定义的主机系统上进行任何操作,因此像 Ansible 这样的传统配置管理工具已经不复存在。
我知道 Kubernetes 的秘密系统,但其中一些变量值可能非常大,而且大多数都不是秘密。