ノート:

OCI Resource ManagerでGolangマイクロサービスを使用して、OKEに通気をデプロイします

イントロダクション

これは、OCI SDK、OCI-CLI、リソース・マネージャ、OCI DevopsおよびHelmを使用してApache Airflowをデプロイおよび破棄する方法を表すGolangマイクロサービスを使用して、OKEクラスタにリソースの一時的なセットをデプロイする方法を示す6部構成のチュートリアル・シリーズの1つです。

目標

このチュートリアル・シリーズでは、Golangマイクロサービスを使用してOKEクラスタでリソースを作成および破棄する次のプロセス・フローを実装する方法を示します。このチュートリアルでは、OKEクラスタのインストールおよび構成方法を説明します。

プロセス・フロー

アーキテクチャ

アーキテクチャ

前提条件

タスク1: ウィザードを使用したOKEクラスタのインストールおよび構成

  1. この演習の新しいコンパートメントを作成します: Oracle Cloudアカウントにログインします。左上のナビゲーション・メニューをクリックし、「アイデンティティとセキュリティ」を選択して、「コンパートメント」をクリックします。

    T1_1

  2. oci-resource-manager-labを作成したコンパートメント内に新しいOKEクラスタを作成します。

    ノート: この項では、ARM64アーキテクチャのシェイプ「アンペア」を使用します。これは重要なノートです。デプロイするマイクロサービスは同じアーキテクチャである必要があります。そうしないと機能しません。

    T1_2

    T1_2

  3. 要塞のジャンプ・ボックスとして機能するVMインスタンスを作成します: OKEエンドポイントにアクセスするには、要塞セッションを設定する必要があります。そのためには、まずジャンプ・ボックスVMインスタンスを指定する必要があります。標準のドキュメントに従って、新しいインスタンスを作成できます: OCIでのインスタンスの起動

    ノート: 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キー・ペアがない場合は、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鍵の場所(通常は ~/.ssh/id_rsa)の「privateKey」を置き換えます。

      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を設定する必要があります。詳細な手順および詳細は、OCIコマンドライン・インタフェース(CLI)のインストールおよび構成を参照してください。

    1. ジャンプボックスコンソールに移動し、次のコマンドを実行します。

       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.pemおよび oci_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パスが正しいことを確認してから、接続をテストします。

      • ジャンプボックスコンソールで、次のコマンドを実行します。

        oci iam compartment list
        
      • テナンシ内の現在のコンパートメントのリストを取得する必要があります。つまり、OCIテナントにアクセスできます。

  6. コマンドラインを使用してOKEクラスタにアクセスするためのジャンプ・ボックスを設定します。

    1. kubectlコマンドをジャンプボックス・インスタンスにインストールします。

      ノート: アーキテクチャとして"arm64"を使用しています。これは、ジャンプ・ボックスでAmpereシェイプを使用しているため必要です。

    2. ジャンプボックスコンソールで、次のコマンドを実行します。

       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

ジャンプ・ボックスからKubernetesクラスタに接続されました。

次のステップ

この学習パスの次のチュートリアルに進むには、ここをクリックしてください。

謝辞

その他の学習リソース

docs.oracle.com/learnで他のラボをご覧いただくか、Oracle Learning YouTubeチャネルでより無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。