kubernetes - 在 Google Container Engine 上访问 SkyDNS etcd API 以添加自定义记录

标签 kubernetes google-cloud-platform google-kubernetes-engine etcd

我在 GKE 上运行 kubernetes 集群,我想从服务 pod 发现和访问 etcd API。我想这样做的原因是向 SkyDNS 层次结构添加 key 。

有没有办法从应用程序 pod 发现(或创建/公开)GKE 集群上的 etcd 服务 API 端点并与之交互?

我们的物联网网关节点通过 SSL VPN 连接到我们的云服务,以简化管理和通信。当设备连接到 VPN 时,我想用设备的主机名和 VPN IP 地址更新 SkyDNS 中的条目。

旋转另一个集群 DNS 设置是没有意义的,因为 SkyDNS 可以很好地解决这个问题,并且集群中的所有 pod 都已经自动配置为首先查询它。

最佳答案

I'm running a kubernetes cluster on GKE and I would like to discover and access the etcd API from a service pod. The reason I want to do this is to add keys to the SkyDNS hierarchy.



听起来您想直接访问支持 DNS 服务的 etcd 实例(而不是支持 Kubernetes apiserver 的 etcd 实例,它是独立的)。

Is there a way to discover (or create/expose) and interact with the etcd service API endpoint on a GKE cluster from application pods?



DNS 服务的 etcd 实例是 DNS 服务的内部实现细节,并非旨在直接访问。其实这只是kube2sky之间的一种便捷通讯机制。二进制和 skydns二进制以便 skydns不需要了解它是在 Kubernetes 集群中运行的。我不建议尝试直接访问它。

此外,这个 etcd 实例甚至不会存在于 Kubernetes 1.3 安装中,因为 skydns正在被新的 DNS 二进制文件 kubedns 替换.

We have IoT gateway nodes that connect to our cloud services via an SSL VPN to ease management and comms. When a device connects to the VPN I want to update an entry in SkyDNS with the hostname and VPN IP address of the device.



如果您创建一个新服务,这将导致集群 DNS 创建一个新条目,将服务名称映射到支持该服务的端点。如果您在每次新的 IoT 设备注册时以编程方式添加服务,而不是尝试直接配置 DNS,该怎么办?

关于kubernetes - 在 Google Container Engine 上访问 SkyDNS etcd API 以添加自定义记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37555065/

相关文章:

kubernetes - 在谷歌云 kubernetes 上调整磁盘大小

nginx - 在 kubernetes pod 中重新加载 nginxconf

docker - 在运行的微服务上隔离多个已安装的用户空间文件系统

google-cloud-platform - 如何在Kubernetes中设置事件/准备就绪调查的频率

amazon-web-services - 使用 AWS Java SDK v2 从 AWS EKS 获取身份验证 token

kubernetes - 在数据库中存储Kubernetes CronJob日志

go - 如何限制Google Storage的已签名上传网址的内容类型?

docker - Kubernetes、Flannel 和公开服务

google-cloud-platform - 无法通过 Cloud Shell By Proxy 通过 Cloud SQL 代理进行连接

google-sheets - 允许使用 GCP API(例如 Drive、Sheets 等)的角色是什么?