注:

将 Golang 微服务与 OCI 资源管理器一起在 OKE 上部署气流

简介

这是六部分教程系列的部分,其中展示了如何使用 Golang 微服务在 OKE 集群上部署一组临时资源,这些资源表示 OCI SDK、OCI-CLI、资源管理器、OCI Devops 和 Helm 部署和销毁 Apache Airflow 的用法。

目标

本教程系列演示如何使用 Golang 微服务在 OKE 群集上创建和销毁资源来实施以下流程流。在本教程中,我们将介绍如何安装和配置 OKE 群集。

流程流

体系结构

体系结构

先决条件

任务 1:使用向导安装和配置 OKE 群集

  1. 为此实验创建新的区间:登录您的 Oracle Cloud 账户。单击左上角的导航菜单,选择身份和安全性,然后单击区间

    T1_1

  2. 在刚刚创建的区间内创建新的 OKE 群集 oci-resource-manager-lab

    :在本部分中,我们将使用 ARM64 体系结构的配置“Ampere”。这是重要说明,因为我们将部署的微服务必须采用相同的架构,否则将不起作用!

    T1_2

    T1_2

  3. 创建要用作堡垒跳转箱的 VM 实例:要访问 OKE 端点,需要设置堡垒会话。为此,您需要先提供跳转箱 VM 实例。您可以遵循标准文档来创建新实例:在 OCI 上启动实例

    :您还可以使用控制台 Cloud shell 访问 OKE 端点。为了本教程的目的,我们将在跳转箱上与 Bastion 一起学习。有关详细信息,请参阅 CloudShell

    1. 转至计算并单击以在免费层上创建新计算实例。

      T1_3

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

      T1_3

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

      T1_3

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

      T1_3

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

    T1_4

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

      T1_4

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

      T1_4

    2. 获取 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
      
      
    3. 替换本地 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
      
      

      T1_4

  5. 在跳转箱上安装和设置 OCI CLI。要使用 OCI 资源,必须在跳转箱上设置 OCI CLI。有关完整说明和详细信息,请参见 Install and configure the OCI Command Line Interface (CLI)

    1. 转至 jump-box 控制台并运行以下命令。

       sudo dnf -y install oraclelinux-developer-release-el8 -y
       sudo dnf install python36-oci-cli -y
      
      

      T1_5

      :记下以下详细信息,因为在后续步骤中需要此详细信息:

      • 用户 OCID:您要访问 OCI 资源的用户的 OCID

      • 租户 OCID:您的租户的 OCID

      • 您的区域:例如 sa-saopaulo-1

    2. 运行 OCIsetup config 命令。

      oci setup config
      
    3. 使用上述步骤中的值注释完成所需内容,然后单击 Y 创建 RSA 密钥对,然后针对其余字段使用默认输入

      T1_5

      • 已创建 ssh-key 文件 oci_api_key_public.pemoci_api_key.pem

      • 现在,您必须将生成的 SSH 密钥上载到 Oracle Cloud 中的用户 API。有关详细信息,请参阅上载密钥。要使用 OCI-CLI 并与 Oracle Cloud 租户通信,需要执行此操作。在本教程中,我们创建了一个名为 devmaster 的特定用户,但您可以选择您的任何用户。

      • 获取 oci_api_key_public.pem 文件的内容。

        T1_5

      • 单击添加 API 密钥并粘贴 oci_api_key_public.pem 文件的内容。

        T1_5

        T1_5

        T1_5

      • 应已在步骤 2 中的跳转框上创建 OCI 配置文件。检查 ~/.oci/config 文件并确保 key_file 路径正确,然后测试连接。

      • 在 jump-box 控制台中,运行以下命令。

        oci iam compartment list
        
      • 您应获取租户中当前区间列表,这意味着您有权访问 OCI 租户。

  6. 设置跳转框以使用命令行访问 OKE 群集。

    1. 在跳转箱实例上安装 kubectl 命令。

      注意:我们使用 “arm64” 作为体系结构,这是必需的,因为我们使用跳转箱上的 Ampere 配置。

    2. 在 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
      
      
  7. 转到控制台页上的 OKE 集群,然后单击访问集群以获取需要在跳转框上运行的命令。

    T1_6

    T1_6

  8. 运行修复权限并测试连接。

    chmod 600 /home/opc/.kube/config
    kubectl get nodes
    

    T1_6

现在,您已从 jump-box 连接到 Kubernetes 集群!

后续步骤

要继续执行此学习路径中的下一个教程,请单击此处

确认

更多学习资源

探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心