加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 安全 > 正文

如何运用Hashicorp工具创建安全的边缘基础设施

发布时间:2023-08-04 11:28:11 所属栏目:安全 来源:
导读:本文解释了如何使用HashiCorp的堆栈构建一个安全的平台;许多步骤都有良好的文档记录。我们将详细强调最关键的部分,解释在哪里发现问题以及如何解决问题,并在官方教程中保留参考资料,以防止本文过长且难以理解。&

本文解释了如何使用HashiCorp的堆栈构建一个安全的平台;许多步骤都有良好的文档记录。我们将详细强调最关键的部分,解释在哪里发现问题以及如何解决问题,并在官方教程中保留参考资料,以防止本文过长且难以理解。​

如下图所示,我们想要实现的物理架构由五个节点的Consul和Nomad集群组成:其中三个是配置为高可用性(HA)的控制平台节点,其余两个是数据平台节点。 ​

考虑到我们处于边缘环境,安装集群服务器的最终位置至关重要:​

控制平台节点(服务器)分布在展会展馆或安装在主楼的专用机柜上。 ​

数据平台节点(客户端)位于每个展馆。 ​

在默认情况下,服务器的角色是维护集群的状态,而客户机则为物理上位于群集附近的用户提供服务。​

基本要求及节点部署

在自动化和虚拟化时代,继续前进的方法是创建一个“测试并销毁”的虚拟化环境,以便在进入生产环境之前尝试配置,并在物理基础设施上部署所有内容。​

DevOps工具箱由Ansible、Terraform和Git等工具组成,在构建如此复杂的环境的过程中,它一直是一个严格的配置和流程要求。Ansible Vault是我们的选择,以确保与特定环境相关的敏感内容(如密码、密钥、配置变量和引导令牌或TLS证书)受到保护和加密,而不是以纯文本形式从我们存储用于构建基础设施的代码的Git存储库中可见。 ​

我们首先创建五台虚拟机。对于测试使用了以下规范:​

操作系统:Ubuntu 22.04 LTS​

磁盘:20GB ​

内存:2GB ​

vCPU:2​

用户可以选择其喜欢的公共云提供商,在那里部署大量的虚拟机与Terraform。或者,为了加快部署过程,可以使用VirtualBox和Vagrant在他们的笔记本电脑上创建它们,但最终,将得到一个与此类似的Ansible清单:​

YAML

all:

children:

cluster_role_server:

hosts:

node-1:

node-2:

node-3:

cluster_role_client:

hosts:

node-4:

vars:

placement: "pavilion-1"

node-5:

vars:

placement: "pavilion-2"

配置Consul和Nomad集群

在这个引导阶段,开源Ansible社区提供了一个经过广泛测试的、安全的公共剧本。得益于Ansible Galaxy实用程序,我们可以提取两个角色的代码,分别部署Consul和Nomad。 ​

我们将上述角色制作成一个专有的剧本,首先,使用虚拟网络接口配置和设置服务器网络。该接口映射到保留IP地址169.254.1.1,用于解析集群中的*.consol域名,我们称其为dummy0接口。我们依靠Ansible在目标节点上配置它,最后,我们将在每台服务器上有以下文件:/etc/systemd/network/dummy0.network::​

Shell

[Match]

Name=dummy0

[Network]

Address=169.254.1.1/32

# We want these domains

Domains=~consul.

# To go to the consul DNS server we'll bind to this address

DNS=169.254.1.1

此外,公共剧本还在服务器上配置了一些基本的自定义,比如更新操作系统、设置节点用户导入相关的SSH authorized_keys、安装容器运行时以及一些调试CLI工具。 ​

最后,应该通过设置适当的Ansible变量来注意配置Consul和Nomad角色。它们的大多数名称是不言自明的,但是必须指定consul_version和nomad_version(在本例中分别为1.12.2和1.2.8)。三个客户机节点应该使用consul_node_role和nomad_node_role变量,而其他节点应该使用服务器变量。另一个需要设置的有用变量是nomad_cni_enable:true,否则,将不得不人工在任何Nomad节点上安装CNI。​

通过这种方式,我们还能够以最小的工作量支持不同环境库存的快速供应和部署,从生产裸服务器或边缘的cloudlet到在云中开发和测试虚拟机。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!