注:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于云环境的那些值。
将 Golang 微服务与 OCI 资源管理器一起在 OKE 上部署气流
简介
这是六部分教程系列的一部分,其中展示了如何使用 Golang 微服务在 OKE 集群上部署一组临时资源,这些资源表示 OCI SDK、OCI-CLI、资源管理器、OCI Devops 和 Helm 部署和销毁 Apache Airflow 的用法。
目标
本教程系列演示如何使用 Golang 微服务在 OKE 群集上创建和销毁资源来实施以下流程流。在本教程中,我们将介绍如何安装和配置 OKE 群集。

体系结构

先决条件
-
了解以下内容:
- Git(拉式、添加、提交、推式)
- Linux
- ssh-key 的基本概念
- Kubernetes 的基本概念
任务 1:使用向导安装和配置 OKE 群集
-
为此实验创建新的区间:登录您的 Oracle Cloud 账户。单击左上角的导航菜单,选择身份和安全性,然后单击区间。

-
在刚刚创建的区间内创建新的 OKE 群集 oci-resource-manager-lab 。
注:在本部分中,我们将使用 ARM64 体系结构的配置“Ampere”。这是重要说明,因为我们将部署的微服务必须采用相同的架构,否则将不起作用!


-
创建要用作堡垒跳转箱的 VM 实例:要访问 OKE 端点,需要设置堡垒会话。为此,您需要先提供跳转箱 VM 实例。您可以遵循标准文档来创建新实例:在 OCI 上启动实例。
注:您还可以使用控制台 Cloud shell 访问 OKE 端点。为了本教程的目的,我们将在跳转箱上与 Bastion 一起学习。有关详细信息,请参阅 CloudShell
-
转至计算并单击以在免费层上创建新计算实例。

-
选择位于 free-tier 上的 Ampere VM Shape (VM.Standard.A1.Flex),并将其放置在与 OKE 节点相同的子网上(“ oke-nodesubnet-quick-.... ”)。

-
粘贴您的手提电脑公钥,以便从您的计算机访问 VM。如果您没有 ssh 密钥对,请按照以下说明进行操作: Generate ssh-key-pair 。

-
单击显示高级选项并转至 Oracle Cloud Agent 选项卡,然后选中堡垒复选框。

-
-
创建堡垒并将其指向跳转箱 VM。确保选择与跳转框 VM 相同的子网。

-
现在,您需要创建一个生活在一定时间内的堡垒会话,因此,在它到期后,您需要创建一个新会话。确保粘贴您的 SSH 公共密钥。

注意:对于 Oracle Linux 映像,默认用户名是 " opc "。

-
获取 SSH 命令,然后设置您的 ssh 密钥位置。
ssh -i <privateKey> -o ProxyCommand="ssh -i <privateKey> -W %h:%p -p 22 ocid1.bastionsession.oc1.sa-saopaulo-1.amaaaaaa3jinyjqa4kfosxytglr6q27365j67yjdh5hxrfpqn4y72nq2p6ma@host.bastion.sa-saopaulo-1.oci.oraclecloud.com" -p 22 opc@10.0.10.127 -
替换本地 ssh 密钥位置的 "privateKey ",通常为 ~/.ssh/id_rsa 。
ssh -i ~/.ssh/id_rsa -o ProxyCommand="ssh -i ~/.ssh/id_rsa -W %h:%p -p 22 ocid1.bastionsession.oc1.sa-saopaulo-1.amaaaaaa3jinyjqa4kfosxytglr6q27365j67yjdh5hxrfpqn4y72nq2p6ma@host.bastion.sa-saopaulo-1.oci.oraclecloud.com" -p 22 opc@10.0.10.127
-
-
在跳转箱上安装和设置 OCI CLI。要使用 OCI 资源,必须在跳转箱上设置 OCI CLI。有关完整说明和详细信息,请参见 Install and configure the OCI Command Line Interface (CLI) 。
-
转至 jump-box 控制台并运行以下命令。
sudo dnf -y install oraclelinux-developer-release-el8 -y sudo dnf install python36-oci-cli -y
注:记下以下详细信息,因为在后续步骤中需要此详细信息:
-
用户 OCID:您要访问 OCI 资源的用户的 OCID
-
租户 OCID:您的租户的 OCID
-
您的区域:例如 sa-saopaulo-1
-
-
运行 OCIsetup config 命令。
oci setup config -
使用上述步骤中的值注释完成所需内容,然后单击 Y 创建 RSA 密钥对,然后针对其余字段使用默认输入。

-
已创建 ssh-key 文件 oci_api_key_public.pem 和 oci_api_key.pem 。
-
现在,您必须将生成的 SSH 密钥上载到 Oracle Cloud 中的用户 API。有关详细信息,请参阅上载密钥。要使用 OCI-CLI 并与 Oracle Cloud 租户通信,需要执行此操作。在本教程中,我们创建了一个名为 devmaster 的特定用户,但您可以选择您的任何用户。
-
获取
oci_api_key_public.pem文件的内容。
-
单击添加 API 密钥并粘贴
oci_api_key_public.pem文件的内容。


-
应已在步骤 2 中的跳转框上创建 OCI 配置文件。检查
~/.oci/config文件并确保 key_file 路径正确,然后测试连接。 -
在 jump-box 控制台中,运行以下命令。
oci iam compartment list -
您应获取租户中当前区间列表,这意味着您有权访问 OCI 租户。
-
-
-
设置跳转框以使用命令行访问 OKE 群集。
-
在跳转箱实例上安装 kubectl 命令。
注意:我们使用 “arm64” 作为体系结构,这是必需的,因为我们使用跳转箱上的 Ampere 配置。
-
在 jump-box 控制台中,运行以下命令。
cd /home/opc curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/arm64/kubectl chmod +x ./kubectl sudo mv ./kubectl /usr/local/bin
-
-
转到控制台页上的 OKE 集群,然后单击访问集群以获取需要在跳转框上运行的命令。


-
运行修复权限并测试连接。
chmod 600 /home/opc/.kube/config kubectl get nodes
现在,您已从 jump-box 连接到 Kubernetes 集群!
后续步骤
要继续执行此学习路径中的下一个教程,请单击此处。
相关链接
确认
- 作者 - Joao Tarla(Oracle LAD A-Team 解决方案工程师)
更多学习资源
探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Use Golang microservices with OCI Resource Manager to deploy Airflow on OKE
F79687-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.