ノート:
- このチュートリアルではOracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructure資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了する場合は、これらの値をクラウド環境に固有の値に置き換えてください。
OCI Resource ManagerでGolangマイクロサービスを使用して、OKEに通気をデプロイします
イントロダクション
これは、OCI SDK、OCI-CLI、リソース・マネージャ、OCI DevopsおよびHelmを使用してApache Airflowをデプロイおよび破棄する方法を表すGolangマイクロサービスを使用して、OKEクラスタにリソースの一時的なセットをデプロイする方法を示す6部構成のチュートリアル・シリーズの1つです。
目標
このチュートリアル・シリーズでは、Golangマイクロサービスを使用してOKEクラスタでリソースを作成および破棄する次のプロセス・フローを実装する方法を示します。このチュートリアルでは、OKEクラスタのインストールおよび構成方法を説明します。
アーキテクチャ
前提条件
-
次の知識:
- Git (プル、追加、コミット、プッシュ)
- Linux
- ssh-keyの基本概念
- Kubernetesの基本概念
タスク1: ウィザードを使用したOKEクラスタのインストールおよび構成
-
この演習の新しいコンパートメントを作成します: Oracle Cloudアカウントにログインします。左上のナビゲーション・メニューをクリックし、「アイデンティティとセキュリティ」を選択して、「コンパートメント」をクリックします。
-
oci-resource-manager-labを作成したコンパートメント内に新しいOKEクラスタを作成します。
ノート: この項では、ARM64アーキテクチャのシェイプ「アンペア」を使用します。これは重要なノートです。デプロイするマイクロサービスは同じアーキテクチャである必要があります。そうしないと機能しません。
-
要塞のジャンプ・ボックスとして機能するVMインスタンスを作成します: OKEエンドポイントにアクセスするには、要塞セッションを設定する必要があります。そのためには、まずジャンプ・ボックスVMインスタンスを指定する必要があります。標準のドキュメントに従って、新しいインスタンスを作成できます: OCIでのインスタンスの起動。
ノート: OKEエンドポイントにアクセスできるコンソールのクラウド・シェルを使用することもできます。このチュートリアルでは、ジャンプ・ボックスのBastionを使用します。詳細は、CloudShellを参照してください
-
「コンピュート」に移動し、クリックして空き層に新しいコンピュート・インスタンスを作成します。
-
free-tier上にあるAmpere VM Shape (VM.Standard.A1.Flex)を選択し、OKEノードと同じサブネットに配置します(OKE-nodesubnet-quick-....)。
-
マシンからVMにアクセスするためにラップトップ公開キーを貼り付けます。sshキー・ペアがない場合は、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鍵の場所(通常は ~/.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
-
-
OCI CLIをジャンプ・ボックスにインストールして設定します。OCIリソースを使用するには、ジャンプ・ボックスでOCI CLIを設定する必要があります。詳細な手順および詳細は、OCIコマンドライン・インタフェース(CLI)のインストールおよび構成を参照してください。
-
ジャンプボックスコンソールに移動し、次のコマンドを実行します。
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パスが正しいことを確認してから、接続をテストします。 -
ジャンプボックスコンソールで、次のコマンドを実行します。
oci iam compartment list
-
テナンシ内の現在のコンパートメントのリストを取得する必要があります。つまり、OCIテナントにアクセスできます。
-
-
-
コマンドラインを使用してOKEクラスタにアクセスするためのジャンプ・ボックスを設定します。
-
kubectlコマンドをジャンプボックス・インスタンスにインストールします。
ノート: アーキテクチャとして"arm64"を使用しています。これは、ジャンプ・ボックスでAmpereシェイプを使用しているため必要です。
-
ジャンプボックスコンソールで、次のコマンドを実行します。
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
ジャンプ・ボックスからKubernetesクラスタに接続されました。
次のステップ
この学習パスの次のチュートリアルに進むには、ここをクリックしてください。
関連リンク
謝辞
- 作成者 - Joao Tarla(Oracle LAD Aチーム・ソリューション・エンジニア)
その他の学習リソース
docs.oracle.com/learnで他のラボをご覧いただくか、Oracle Learning YouTubeチャネルでより無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Use Golang microservices with OCI Resource Manager to deploy Airflow on OKE
F79687-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.