准备工作
在开始之前,请确保你已具备以下条件:
- 一个 Oracle Cloud 账户:如果你还没有,可以注册一个 Oracle Cloud 的免费套餐账户。
- 拥有权限的 IAM 用户:你需要在 OCI 账户中拥有一个用户,并确保该用户有所需的权限(例如,管理
instance-family
资源的权限)。 - 本地环境:一台安装了 Linux, macOS, 或 Windows 的计算机。
- Python 环境:OCI-CLI 需要 Python 3.6 或更高版本。你可以在终端运行
python3 --version
来检查。
第一步:安装 OCI-CLI
安装 OCI-CLI 最简单的方法是使用官方提供的安装脚本。它会自动处理依赖关系、创建虚拟环境,并将 CLI 添加到你的系统路径中。
打开你的终端 (Terminal) 并运行以下命令:
bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
安装过程中,脚本会向你询问几个问题:
- Installation directory:安装目录,直接按回车使用默认值即可 (
~/lib/oracle-cli
)。 - oci-cli-scripts directory:脚本目录,同样建议使用默认值 (
~/bin
)。 - Modify PATH:询问是否要将脚本目录添加到
PATH
环境变量中。强烈建议输入Y
,这样你就可以在任何地方直接运行oci
命令了。
安装完成后,关闭并重新打开你的终端窗口,或者运行 source ~/.bashrc
(或对应的 shell 配置文件) 来使 PATH
的改动生效。
通过以下命令验证安装是否成功:
oci --version
如果能看到版本号信息,说明 OCI-CLI 已经成功安装在你的本地计算机上。
第二步:配置 OCI-CLI
安装只是第一步,要让 CLI 与你的 OCI 账户通信,还需要进行配置。这个过程主要是生成一个 API 密钥对,并将公钥上传到你的 OCI 用户设置中。
运行交互式配置命令:
oci setup config
这个向导会引导你完成配置:
- Config file location: 配置文件路径,直接回车使用默认值
~/.oci/config
。 - User OCID: 你的用户 OCID。你需要登录 OCI 控制台,点击右上角的用户头像 ->
用户设置
,在用户详情页面可以找到并复制你的 OCID。 - Tenancy OCID: 你的租户 OCID。同样在 OCI 控制台,点击用户头像 ->
租户:<你的租户名>
,在租户详情页面可以找到并复制。 - Region: 你所在的区域。例如,
us-ashburn-1
。你可以在 OCI 控制台的右上角看到当前区域。输入区域标识符 (Region Identifier)。 - Generate a new RSA key pair: 询问是否要生成新的 API 密钥对,输入
Y
。 - Directory for keys: 密钥存储目录,建议使用默认值
~/.oci/
。 - Key name: 密钥文件名,建议使用默认值
oci_api_key
。 - Passphrase: 为你的私钥设置一个密码。为了自动化脚本方便,你也可以直接留空(按两次回车)。
配置完成后,公钥 oci_api_key_public.pem
和私钥 oci_api_key.pem
已经生成在 ~/.oci/
目录下。
最后也是最关键的一步:上传公钥。
- 在终端中,显示你的公钥内容并复制它:Bash
cat ~/.oci/oci_api_key_public.pem
复制从-----BEGIN PUBLIC KEY-----
到-----END PUBLIC KEY-----
的所有内容。 - 回到 OCI 控制台的
用户设置
页面,点击左侧的API 密钥
。 - 点击
添加 API 密钥
按钮。 - 选择
粘贴公共密钥
,将刚才复制的内容粘贴到文本框中。 - 点击
添加
。
至此,你的 OCI-CLI 已经配置完毕,可以与你的 OCI 账户进行安全通信了。
第三步:实战 – 管理你的云主机 (VM)
现在,让我们来做点实际操作。管理 VM 最核心的两个信息是 实例的 OCID 和 隔间的 OCID (Compartment OCID)。
1. 获取隔间 OCID
你的所有资源都存放在某个隔间中。首先,我们需要找到 VM 所在隔间的 OCID。 登录 OCI 控制台 -> 身份和安全
-> 域
,在这里你可以看到你的所有隔间和它们的 OCID。
2. 获取 VM 实例的 OCID
运行以下命令,列出指定隔间内的所有 VM 实例。将 <your_compartment_ocid>
替换为你上一步找到的隔间 OCID。
oci compute instance list --compartment-id <your_compartment_ocid>
输出会是一个 JSON 数组,包含了该隔间下所有 VM 的详细信息。找到你想要管理的那个 VM,并记下它的 "id"
(这就是实例 OCID) 和 "lifecycle-state"
(生命周期状态,如 RUNNING
或 STOPPED
)。
3. 检查 VM 状态
如果你只想快速查看单个 VM 的状态,可以使用 get
命令:
oci compute instance get --instance-id <your_instance_ocid>
4. 开启 VM
要启动一个已停止的 VM,使用 action
命令,并将 --action
参数设置为 START
。
oci compute instance action --action START --instance-id <your_instance_ocid>
命令会立刻返回,但 VM 的启动需要一点时间。你可以再次使用 get
命令来确认它的状态是否变为 RUNNING
。
5. 关闭 VM
同理,关闭一个正在运行的 VM,只需将 --action
参数改为 STOP
。
oci compute instance action --action STOP --instance-id <your_instance_ocid>
这会执行正常关机。如果你需要强制关机,可以使用 SOFTSTOP
或 RESET
。
进阶技巧:结合脚本实现自动化
OCI-CLI 的真正威力在于自动化。你可以将这些命令写入一个 Shell 脚本,实现一键开/关机。
例如,创建一个名为 start_my_vm.sh
的脚本:
#!/bin/bash
# 替换成你的VM实例OCID
INSTANCE_OCID="ocid1.instance.oc1.iad.xxxxxxxxxxxx"
echo "正在启动 VM: $INSTANCE_OCID ..."
# 发送启动命令
oci compute instance action --action START --instance-id $INSTANCE_OCID
echo "启动命令已发送。请稍后检查状态。"
# 等待一段时间后检查状态 (可选)
# sleep 60
# oci compute instance get --instance-id $INSTANCE_OCID --query "data.\"lifecycle-state\""
赋予脚本执行权限 (chmod +x start_my_vm.sh
),之后你只需运行 ./start_my_vm.sh
即可启动你的 VM。
总结
通过本地部署 OCI-CLI,你将 OCI 的强大能力延伸到了自己的开发环境中。它不仅简化了日常的运维任务,更通过脚本化的能力为自动化工作流提供了无限可能。从今天起,告别繁琐的网页点击,拥抱高效的命令行管理方式吧!
希望这篇指南能帮助你顺利上手 OCI-CLI。如果你想探索更多功能,不妨试试 oci --help
,查看所有可用的服务和命令。祝你在云端的世界里玩得开心!
发表回复