【发布时间】:2021-10-02 03:09:37
【问题描述】:
我最近阅读了有关基础架构即服务 (IaaS) 和平台即服务 (PaaS) 的更多信息,并且有一些问题。我看到当我们选择 PaaS 解决方案时,创建基础架构通常非常容易,因为云提供商会为我们处理这些,我们甚至可以使用像 Terraform 这样的基础架构即代码解决方案来自动化部署。
但是,如果我们使用 IaaS 解决方案甚至本地集群,我们就会失去很多似乎 PaaS 允许的自动化。所以我很好奇,有没有什么好的工具可以在不在云端的本地集群上自动部署基础设施?
我能想到的最好的办法是运行一个本地 Kubernetes 集群,然后 Dockerize 每个基础架构组件,但这似乎很困难,因为集群中的每个节点都需要自己的特定配置文件。
从我的基本谷歌搜索来看,似乎没有很好的解决方案。
编辑:
我的初衷还不够清楚。我有两个要解决的问题。
- 如何在本地自动化基础架构部署?例如,假设我想创建一个 Hadoop HDFS 集群。我需要将一个节点配置为具有可访问 IP 的名称节点,而将其他节点配置为知道名称节点 IP 的数据节点。目前,我必须手动登录每个节点,检查它的 IP,然后配置每个节点。我将如何自动化呢?如果我要使用 Kubernetes 方法,我如何指定一个正在运行的 pod 需要是 namenode,而其他的是 datanode?如何找到 pod 的 IP 并让他们知道 namenode IP?
- 我遇到的下一个问题与第一个问题非常相似,但稍作修改。我将如何将特定的配置文件部署到每个节点。例如,在 Kafka 中,一个节点的配置文件需要 Zookeeper 节点的 IP,以及它应该监听的 IP。对于集群中的每个节点,这可能不同。有没有一种好方法可以使这些配置文件特定于 pod,这样我就不必进行 bash 文本处理来将正确的内容插入到每个 pod 的配置文件中?
【问题讨论】:
-
不太清楚你在寻找什么...... CrossPlane、OpenStack、Bare-metal k8s、Puppet/Ansible/Chef、VMWare 解决方案的存在都是为了解决大部分问题跨度>
标签: kubernetes terraform continuous-deployment infrastructure infrastructure-as-code