注意:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于云环境的值。
在 Oracle Cloud Infrastructure 上安装和配置 Pulumi Infrastructure as Code 工具
简介
让我们使用 Pulumi Infrastructure as Code (IaC) 工具简化您的 Oracle Cloud 基础设施 (OCI) 管理。本教程将讨论如何安装和设置 Pulumi,确保它无缝地适合你的工作流程。无论您是经验丰富还是开始使用 IaC,本教程都有分步说明。准备使用基于 OCI 的 Pulumi 升级基础设施管理。
在您的 OCI 设置上运行 Pulumi 后,您会看到效率显著提高。直观的界面可简化资源部署和管理,并简化 OCI 基础设施管理。
目标
- 在 OCI 上安装和配置 Pulumi IaC 工具以进行部署和管理。
先决条件
-
访问 OCI 租户。
-
具有访问 OCI 服务和资源权限的用户账户。
任务 1:下载并安装 Pulumi
在您的系统或虚拟机 (VM) 上下载并安装 Pulumi。有关详细信息,请参阅下载和安装 Pulumi 。
例如,macOS 用户可以通过运行以下命令来安装 Pulumi。
brew install pulumi/tap/pulumi
任务 2:安装适用于 Pulumi 的 OCI 提供程序包
OCI 提供商将作为 Pulumi 代码与您要监督的 OCI 服务之间的连接。OCI 提供商支持 Pulumi 通过代码在 OCI 环境中创建、管理和配置资源。
要为 Pulumi 安装 OCI 提供程序,请转至命令行界面 (CLI) 并运行安装命令。在本教程中,我们将使用 Python 作为部署 OCI 服务的 Pulumi 语言。
python3 -m pip install pulumi_oci
要使用其他语言安装 OCI 提供商,请参阅 OCI Pulumi 提供商。
任务 3:配置环境变量
设置必要的环境变量以将 Pulumi 与您的 OCI 环境连接。这些变量包括租户 Oracle Cloud 标识符 (OCID)、用户 OCID、指纹、区域和 OCI API 密钥路径。
根据租户配置文件修改值并运行以下命令。
export TF_VAR_tenancy_ocid="ocid1.tenancy.oc1..<unique_ID>"
export TF_VAR_user_ocid="ocid1.user.oc1..<unique_ID>"
export TF_VAR_fingerprint="<key_fingerprint>"
export TF_VAR_region="us-ashburn-1"
export TF_VAR_private_key_path="/path/to/oci_api_key.pem"
任务 4:创建 Pulumi 堆栈
通过为 Pulumi 堆栈创建目录来组织项目。用您喜欢的编程语言初始化它。在本教程中,我们使用的是 Python 堆栈。
-
创建 Pulumi 堆栈目录。要为 Pulumi 堆栈创建新目录,请运行以下命令。
mkdir OCI_Pulumi_Stack && cd OCI_Pulumi_Stack
-
使用 OCI Python 模板初始化 Pulumi 项目:
pulumi new oci-python
。 -
输入项目详细信息,例如项目名称、说明和堆栈名称(例如开发、暂存、生产)。此步骤将启动设置过程,包括添加必要的依赖项并将示例代码加载到
main.py
文件中。 -
通过检查
OCI_Pulumi_Stack
目录的内容来验证代码设置。您可以在此处找到示例代码以及在初始化过程中创建的任何其他文件。
任务 5:自定义 Pulumi 堆栈
根据您的特定要求定制堆栈。打开主部署文件 main.py
并添加必要的代码以定义要部署的 OCI 资源。在本教程中,我们将向您展示如何检索 OCI 租户中的可用性域。
"""A OCI Python Pulumi program"""
import pulumi
import pulumi_oci as oci
test_availability_domains = oci.identity.get_availability_domains(compartment_id="ocid1.tenancy.oc1..xxxxx")
# Output availability domains
pulumi.export("availability_domain_1", test_availability_domains.availability_domains[0].name)
pulumi.export("availability_domain_2", test_availability_domains.availability_domains[1].name)
pulumi.export("availability_domains_3", test_availability_domains.availability_domains[2].name)
此代码演示了如何从 OCI 租户提取可用性域并将其名称导出为输出。使用 Pulumi 执行此代码时,它将与 OCI 进行交互以检索可用性域并将其名称显示为输出。这样,您可以确保您的代码从 OCI 中准确检索必要的信息。
任务 6:将 Pulumi 代码部署到 OCI
运行以下命令将资源部署到 OCI。
pulumi up
任务 7:验证命令输出
部署后,命令将运行 Pulumi 程序并检索 OCI 租户中的可用性域,如代码中所定义。
相关链接
确认
- Authors -Akarsha I K(Cloud Architect)、Maninder Flora(Cloud Architect)
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Install and Configure Pulumi Infrastructure as Code tool on Oracle Cloud Infrastructure
F98513-01
May 2024