有效的与起程拓殖砖自动化部署
2019年5月7日, 在bob体育客户端下载平台的博客
云基础设施和配置资源管理可以头痛,DevOps工程师都太熟悉了。即使是最能够云管理员可能会陷入管理繁多的互联云资源——包括数据流、存储、计算能力和分析工具。
举个例子,下面的场景:一个客户已经完成了创建一个砖工作区,他们想要连接一个砖集群在AWS红移的集群。下图演示了生成的状态如果正确完成所有这些步骤,以及如何每个资源之间的数据流。
实现这个状态可以是一个漫长的过程,每一个配置步骤涉及重要的子步骤。例如,配置我的角色从砖就需要访问S37步骤。
复杂的设置,它决不是少见。许多客户都希望云自动化过程简化和加速云资源的部署,但这些过程可以构成挑战。一般来说,我们发现,许多云自动化的挑战包括:
- 可伸缩性——添加新资源现有的云部署可以变得更加困难和麻烦,因为要解决云资源之间的依赖关系。
- 模块化——许多部署过程是可重复的和相互依赖的(例如,部署到红移也需要连接S3分期结果)。
- 一致性——跟踪部署状态可能简化修复和降低风险,但是很难维护和解决。
- 生命周期管理——即使你可以审计改变一些云资源,它可能不清楚行为是需要更新整个端到端状态(如基础设施状态显示在上面的图)。
为我们的客户解决这些问题,砖是引入解决方案的自动化您的云基础设施。砖云自动化利用的力量起程拓殖,建设一个bob下载地址开放源码工具,改变,和版本云基础设施安全、高效。它提供了一个直观的图形用户界面和预构建的“电池包括“起程拓殖模块更容易连接常见的云资源砖。
记住这些设置任务,比如VPC凝视和S3验证特定于AWS。在Azure砖,例如,一个连接到一个SQL数据仓库是Azure简单的验证法的网络连接是自我管理。
在发展中砖云的自动化,我们的目标是:
- 加速通过自动化部署过程。
- 民主化的云基础设施部署过程non-DevOps /云专家。
- 降低风险,维护一个可复制的基础设施的状态。
- 提供一个通用的、“cloud-agnostic”解决方案。
有了这个新工具,连接你的云资源砖比以往任何时候都更快,更简单。让我们看一看一些我们的客户正在使用的原因砖云的自动化。
一个图形用户界面,民主化砖云部署
砖民主化的部署过程通过提供一个简化的用户界面,简单方便,所以你可以舒适的砖上部署云资源没有任何DevOps经验。这个高级用户界面允许我们管理云配置在幕后,促使你只有必要的信息。
一个优雅的解决方案跟踪基础设施状态
除了简单的设置,该工具在本地最强大的特性是它能够跟踪和维护当前和之前每个云资源的状态。DevOps的工程师都知道,云资源通常形成一个复杂的网络依赖,每个资源依赖他人正常工作。
例如,一个看似简单的改变单个ACL条目会引起一连串的错误下游(DevOps工程师和偏头痛)。在过去,这些依赖资源需要手动识别和执行故障排除。
起程拓殖使生活更容易通过维护资源的期望状态之间的“差异”和他们的当前状态。起程拓殖更新标识改变时,其内部“资源图”和创建一个命令执行计划,自动化的解决所有级联变化通常需要保持这些连接功能。
模块化框架的云基础设施
因为公司寻求大大扩展云基础设施——现在或将来砖云的自动化提供了一个简单的接口连接资源砖使用起程拓殖的强大的基础设施管理功能。而普通用户欣赏图形用户界面和快速启动时间,更多的有经验的用户欣赏模块化、可扩展的设计原则,该工具体现了——让企业迅速成长砖基础设施没有复杂的麻烦,容易破碎的手动配置和开发风险的整体架构。
起程拓殖雇佣了一个高层,被称为声明性语法盐酸简明地,允许用户定义资源的最终状态,他们打算连接到砖。许多用户喜欢这种风格的快速、高级资源宣言,它允许他们资源连接到砖的盒子,同时还让他们灵活地手动配置资源,他们的心的内容。
当添加一个新的资源,起程拓殖更新其内部资源图,自动解析资源之间的依赖关系,创建一个新的执行计划将新资源无缝集成到现有的基础设施。用户可以查看摘要起程拓殖的变化会使之前,通过调用起程拓殖
计划。
模块可以共享、版本化和重用
工具最大的功能之一是能够创建并保存自定义配置模块,可以重用或由其他模块调用。一个松散的类比,想象使用模块像软件工程师可能使用一个类,重新创建一个对象,或创建一个子类,从超类继承属性。例如,一个S3 bucket配置集群创建红移时可以重用,或者用户可以直接复制一个开发环境的配置生产环境,确保他们的比赛。
这种强调重复,脚本模块和“基础设施代码”使它非常容易和有效的扩大你的云基础设施。模块可以在团队成员之间共享、编辑、审核,甚至版本代码,允许DevOps工程师快速迭代动态变化而不用担心打破他们的系统。这种方法削减新资源部署的时间启动数量级和很好地符合许多今天使用的项目管理方法。
连接到任何IaaS提供商
“云不可知论者”——起程拓殖它可以用来连接到任何云提供商或其他系统,所以DevOps工程师不局限在单一的生态系统,并可以连接不同的提供者之间的资源。
他们也可以有信心,他们将不必夷为平地,从头开始重建他们的云基础设施如果他们决定选择一个新的云服务供应商或连接一个新的系统。事实上,有一个健壮的网络社区致力于发布模块和强劲供应商几乎每一个云资源和用例。
例子:连接一个S3 bucket砖使用GUI
让我们看看一个例子是多么容易的设置和维护您的云基础设施使用起程拓殖砖,通过连接现有的S3 bucket砖使用(见我的角色在这里手动指令)。你将需要:
- 一个以前创建的S3 bucket。使名称和地区的注意。区域标识符的列表,点击在这里。
- AWS访问密钥和秘密密钥——找到或创建你的凭证,从AWS控制台,导航到我→用户→安全凭证。如果S3 bucket是由一个不同的用户,你需要访问密钥和秘密密钥的账户。
- 你的名字我的角色AWS连接砖。你可以发现在这里。
首先,使用命令行,让我们下载并安装砖云的自动化方案,其中包括起程拓殖:
pip安装databricks-cloud-automation
推出的基于web的GUI,回车databricks-cloud-manager
在命令行,然后在web浏览器中导航到以下地址:
127.0.0.1:5000 /
在这里你会发现云基础设施的例子,您可以添加砖使用起程拓殖。按照下列指示来让你的S3 bucket连接:
- 点击选择下s3_to_databricks_via_iam。
- 输入的凭证S3 bucket我们连接。下aws_region进入该地区,使用AWS连接。在我们的示例中,由于我们使用的是美国西部(俄勒冈州),我们进入地区代码us-west-2。
- 下databricks_deployment_role,输入我的名字的角色你用来允许砖在AWS访问集群。在我们的例子中,我们输入角色名称砖。
- 下custom_iam_name_role,输入一个新的名称为我的角色,我们将创建为了访问S3 bucket。
- 下aws_foreign_acct_access_key, aws_foreign_acct_secret_key,aws_foreign_acct_region,离开这些空白如果你的S3 bucket的AWS帐户帐户下使用连接到数据砖。如果你有访问S3 bucket属于不同的AWS用户,在这里输入密钥。
- 提交表单。你会看到一个计划的总结,包括资源将被添加,更改,或者删除。彻底审查提出更改的列表,并选择应用基础设施变更。如果你输入的有效身份证件,你会得到一个页面显示您成功应用的所有更改,连同一个清单,列出所有一切的存在改变了。(注意,这增加了新的资源,但它也更新了一些现有资源——例如,它可能增加一条线一个我已经存在的政策)。滚动到成功页面的底部和复制s3_role_instance_profile写在输出部分,如所示。
- 登陆你的砖部署。单击账户在右上角图标,选择管理控制台。导航到我的角色选项卡中,将复制的角色粘贴在前面的步骤中,并单击添加,如下所示。
https://www.youtube.com/watch?v=BPIzuYiszDc
恭喜你!你建立你的第一块云基础设施,和现在比以往更容易管理。现在可以启动集群和你的新我的角色,并连接S3砖文件系统(DBFS)来访问您的数据在砖笔记本电池的使用以下命令:
dbutils.fs.ls (“s3a: / / < s3-bucket-name > /”)< / s3-bucket-name >
起程拓殖现在跟踪的状态我们新建的基础设施,我们可以查看通过输入状态起程拓殖显示
在命令行。如果以任何方式改变了我们的资源,我们可以运行起程拓殖应用
修复它和任何相关的云资源。
连接一个S3 bucket砖使用命令行
如果你喜欢使用命令行来执行任务,你仍然可以砖连接到一个使用起程拓殖使用S3 bucket起程拓殖CLI直接。这将允许您利用起程拓殖的高级特性不容易通过GUI,等起程拓殖进口。直接访问模块,在命令提示符运行以下安装直接从来源:
git克隆cd databricks-cloud-automationpython的设置。py安装
一旦你从源代码安装,直接导航到模块文件夹,和cd到模块的文件夹(s3_to_databricks_via_iam为了我们的例子)。从那里,运行起程拓殖init
初始化起程拓殖,然后运行起程拓殖应用
在提示输入AWS凭证。
https://www.youtube.com/watch?v=FSQYJ3zmQ2k
(注意:您可以应用var文件标志指定输入变量在一个单独的JSON或盐酸文件)
当你完成的时候,复制实例配置文件是提供,并粘贴到砖通过管理控制台,正如我们在上述步骤7。瞧,你连砖S3 !你使用我的角色设置,你就可以来回读写数据无缝砖和S3 bucket之间。
连接一个红移集群砖
让我们回顾一下我们提出的例子引入这个博客-迄今为止最复杂的例子,看看更容易安装。
想象一下你刚刚开始了砖,你想连接你公司的现有集群AWS红移和S3 bucket,这样您就可以开始。通常,这将涉及一个耗时、程序方法,要求写下不同的id和攻击,和下面的步骤:
- VPC凝视包含红移的VPC集群,包括添加新的安全组规则和路由表条目
- 创建一个新的我的角色,将它附加到砖集群
- 创建一个S3 bucket和一个引用新政策我的角色
- 格兰特AssumeRole砖EC2实例之间的权限政策和新角色
下图说明了建立这种体系结构的复杂性。乏味的,因为它可能是,这是一个现实生活中的例子,我们的许多客户面对显著,我们可以更容易通过使用砖云的自动化。
注意,在这个例子中,除了连接到一个红移集群,我们也连接到一个S3 bucket,就像我们所做的在过去的两个例子。起程拓殖的模块化,这就是美丽的“基础设施代码”的方法发挥作用——因为S3 bucket模块已经开发完成,不需要“重新发明轮子”,从头构建一个新的S3连接。相反,我们可以呼吁早已建好的网络下部模块,并添加它像一个联锁拼图,很符合我们现有的资源图。同样地,我们也要求一个单独的“VPC凝视”模块,甚至可以改装建立VPC对等资源除了红移。
就像以前一样,我们可以使用砖云自动化GUI来简化和加快这一过程。从命令行调用databricks-cloud-manager后,然后我们参观127.0.0.1:5000 /
在我们的浏览器和选择redshift_to_databricks。除了凭证需要设置S3 bucket,我们还需要:
- 红移集群ID
- 砖VPC的ID
- 企业空间ID(如果您使用的是离开这个空白多租户部署;否则,接触砖来确定您的工作区ID)。
一旦输入适当的凭证,砖云管理器将自动配置资源的所有依赖项,和让你知道如果有任何你需要采取的行动步骤。这个过程,尽管自然仍然需要你为你的资源,找到凭证可以数量级的速度比的选择。
总结
无论你是连接到一个云资源或扩展公司的基础设施来满足用户日益增长的需求,砖云管理器可以显著减少所花费的时间让你启动并运行。它是受欢迎的在我们的客户由于其易于使用的强大功能,包括:
- 图形用户界面快速部署您的云资源没有深DevOps专长。
- 高层,声明性样式自动依赖和配置管理,允许您跳过一个最终结果,简单有效。
- “基础设施代码”模式,允许你重用和修改模块快速扩展部署不会增加复杂性。
- “云不可知论者”的架构,允许您连接到来自不同提供者和资源系统,无缝。
连接你的资源数据砖是比以往更容易,和的力量砖统一分析平台bob体育亚洲版bob体育客户端下载利用云的力量,在您的数据只是一个点击之外找到见解。如果你想了解更多关于这个项目,联系我们,或者跟你的砖的代表。