IBM Cloud Docs
CLI での最初のクラシック・クラスターのセットアップ

CLI での最初のクラシック・クラスターのセットアップ

クラシック・インフラストラクチャー

このチュートリアルでは、CLI を使用してクラシック・インフラストラクチャーに Red Hat OpenShift on IBM Cloud クラスターをデプロイします。

対象読者

このチュートリアルは、CLI を使用して初めて Red Hat OpenShift on IBM Cloud クラスターを作成する方法を学習するクラスター管理者向けに設計されています。

目標

このチュートリアルでは、以下のタスクを実行します。

  • 4 つのコアと 16 GB のメモリーを備えた 2 つのワーカー・ノードを持つクラスターをワシントン DC に作成します。
  • Red Hat OpenShift Web コンソールを開きます。
  • サンプル・アプリをデプロイします。
  • 外部ユーザーがサービスにアクセスできるように、経路上でアプリを公開します。

取得する内容

このチュートリアルでは、CLI を使用して以下のリソースを作成します。 チュートリアルの完了後にこれらのリソースを保持しない場合は、これらのリソースを削除するためのオプションのステップがあります。

  • ワーカー・ノードが 2 つあるクラシック・クラスター
  • クラスターにデプロイされた単純な Hello World アプリ
  • アプリを公開するための経路

クラスター・リソースの概要

共通クラスター・リソースの概要については、以下の図を参照してください。

クラスター・アーキテクチャー
図 1. クラスター・アーキテクチャー

前提条件

  1. 権限を確認してください。 アカウント所有者は、クラスターを作成するために必要な権限を既に持っており、次のステップに進むことができます。 アカウント所有者でない場合は、 API キーをセットアップし、 IBM Cloud IAM で必要な許可を割り当てるようにアカウント所有者に依頼してください。

  2. IBM Cloud CLI ツールをインストールします

Red Hat OpenShift on IBM Cloud クラスターの作成

  1. アカウントとリソース・グループにログインします。 統合されたアカウントがある場合は、--sso オプションを含めます。

    ibmcloud login [-g RESOURCE GROUP] [--sso]
    
  2. 以下のコマンドを実行して、4 つのコアと 16 GB のメモリーを持つ 2 つのワーカー・ノードを持つバージョン 4.14 クラスターをワシントン DC に作成します。

    ibmcloud oc cluster create classic --name my-tutorial-cluster --location wdc04 --version 4.14_openshift --flavor b3c.4x16  --workers 2 --public-service-endpoint
    
  3. クラスターの作成が完了するまで、しばらく時間がかかる可能性があります。 クラスターの状態で Normal が示されてから、クラスター・ネットワークおよびルーター・コンポーネントで、Red Hat OpenShift Web コンソールおよびその他の経路に使用するクラスター・ドメインをデプロイおよび更新するのに約 10 分かかります。

  4. クラスターの詳細をリストします。 クラスターの状態を確認し、Ingress サブドメインを確認し、マスター URL をメモします。

    ibmcloud oc cluster get --cluster <cluster_name_or_ID>
    
  5. クラスターの kubeconfig 構成ファイルをダウンロードして追加します。

    ibmcloud oc cluster config --cluster <cluster_name_or_ID>
    
  6. ブラウザーで、マスター URL のアドレスに /console を付加してナビゲートします。 例えば、https://c0.containers.cloud.ibm.com:23652/consoleなどです。

  7. 自分のプロファイル IAM#user.name@email.com >「ログイン・コマンドのコピー」 をクリックします。 oc login トークン・コマンドを表示してコマンド・ラインにコピーし、CLI で認証を受けます。

  8. バージョンを調べて、ご使用のクラスターで oc コマンドが正常に実行されることを確認します。

    oc version
    

    出力例

    Client Version: v4.14.0
    Kubernetes Version: v1.29.2.2
    

    クラスター内のすべてのワーカー・ノードまたはポッドのリストなど、管理者権限を必要とする操作を実行できない場合は、ibmcloud oc cluster config --cluster <cluster_name_or_ID> --admin コマンドを実行して、クラスター管理者の TLS 証明書と許可ファイルをダウンロードします。

Red Hat OpenShift コンソールのナビゲート

  1. Red Hat OpenShift クラスター・コンソールから、 Red Hat OpenShift クラスターを選択し、 OpenShift Web コンソールをクリックします。
  2. CLI でクラスターを操作するには、自分のプロファイルの**IAM#user.name@email.com >「ログイン・コマンドのコピー (Copy Login Command)」**をクリックします。 oc login トークン・コマンドを表示してコマンド・ラインにコピーし、CLI を使用して認証を受けます。

クラスターへのアプリのデプロイ

  1. Hello World アプリのプロジェクトを作成します。

    oc new-project hello-world
    
  2. oc new-app コマンドを使用して、 ソース・コードから サンプル・アプリをビルドします。

    oc new-app --name hello-world https://github.com/IBM/container-service-getting-started-wt --context-dir="Lab 1"
    

    出力に警告メッセージが表示される場合がありますが、この例には影響しません。

  3. hello-world サービスをリストし、サービス名をメモします。 Ingress コントローラーが外部トラフィック要求をアプリに転送できるようにサービスの経路を作成しない限り、アプリはこれらの内部クラスター IP アドレスでトラフィックを listen します。

    oc get svc -n hello-world
    

    出力例

    NAME          TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    hello-world   ClusterIP   172.21.xxx.xxx   <none>       8080/TCP   31m
    
  4. ポッドをリストし、 hello-world ポッドの状況が Running であり、 build ポッドと deploy ポッドが Completed であることを確認します。

    oc get pods -n hello-world
    

    出力例

    NAME                  READY     STATUS             RESTARTS   AGE
    hello-world-1-9cv7d   1/1       Running            0          30m
    hello-world-1-build   0/1       Completed          0          31m
    hello-world-1-deploy  0/1       Completed          0          31m
    
  5. hello world サービスへのパブリック・アクセスが可能になるように経路をセットアップします。

    oc create route edge --service=hello-world -n hello-world
    
  6. Host/Port の出力から、経路のホスト名アドレスを取得します。

    oc get route -n hello-world
    

    出力例

    NAME          HOST/PORT                         PATH                                        SERVICES      PORT       TERMINATION   WILDCARD
    hello-world   hello-world-hello.world.CLUSTER-NAME-RANDOM-ID.REGION.containers.appdomain.cloud    hello-world   8080-tcp   edge/Allow    None
    
  7. アプリにアクセスします。 https:// を経路ホスト名に必ず付加してください。 公開されたサービスが表示されるまでに少し時間がかかる場合があります。

    curl https://hello-world-hello-world.CLUSTER-NAME-RANDOM-ID.REGION.containers.appdomain.cloud
    

    出力例

    Hello world from hello-world-9cv7d! Your app is up and running in a cluster!
    

チュートリアル・リソースのクリーンアップ

  1. hello-world プロジェクト内のリソースをリストします。
    oc get all -l app=hello-world -o name -n hello-world
    
    出力例
    pod/hello-world-1-dh2ff
    replicationcontroller/hello-world-1
    service/hello-world
    deploymentconfig.apps.openshift.io/hello-world
    buildconfig.build.openshift.io/hello-world
    build.build.openshift.io/hello-world-1
    imagestream.image.openshift.io/hello-world
    imagestream.image.openshift.io/node
    route.route.openshift.io/hello-world
    
  2. リソースを削除します。
    oc delete all -l app=hello-world -n hello-world
    

次のステップ

アプリの操作について詳しくは、 Red Hat OpenShift 開発者アクティビティー の資料を参照してください。

よく使用される 2 つの Red Hat OpenShift on IBM Cloud アドオン、IBM Log AnalysisIBM Cloud Monitoring をインストールします。