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 アプリ
- アプリを公開するための経路
クラスター・リソースの概要
共通クラスター・リソースの概要については、以下の図を参照してください。
前提条件
-
権限を確認してください。 アカウントの所有者である場合は、クラスタを作成するために必要な権限がすでにあるため、次の手順に進むことができます。 アカウント所有者でない場合は、 API キーをセットアップし、 IBM Cloud IAM で必要な許可を割り当てるようにアカウント所有者に依頼してください。
Red Hat OpenShift on IBM Cloud クラスターの作成
-
アカウントとリソース・グループにログインします。 統合されたアカウントがある場合は、
--sso
オプションを含めます。ibmcloud login [-g RESOURCE GROUP] [--sso]
-
以下のコマンドを実行して、4コアと16GBメモリを持つ2つのワーカーノードを持つバージョン4.16クラスタをワシントンDCに作成します。
ibmcloud oc cluster create classic --name my-tutorial-cluster --location wdc04 --version 4.16_openshift --flavor b3c.4x16 --workers 2 --public-service-endpoint
-
クラスターの作成が完了するまで、しばらく時間がかかる可能性があります。 クラスターの状態で Normal が示されてから、クラスター・ネットワークおよびルーター・コンポーネントで、Red Hat OpenShift Web コンソールおよびその他の経路に使用するクラスター・ドメインをデプロイおよび更新するのに約 10 分かかります。
-
クラスターの詳細をリストします。 クラスターの状態を確認し、Ingress サブドメインを確認し、マスター URL をメモします。
ibmcloud oc cluster get --cluster <cluster_name_or_ID>
-
クラスタ用の'
kubeconfig
設定ファイルをダウンロードして追加します。ibmcloud oc cluster config --cluster <cluster_name_or_ID>
-
ブラウザーで、マスター URL のアドレスに
/console
を付加してナビゲートします。 例えば、https://c0.containers.cloud.ibm.com:23652/console
などです。 -
自分のプロファイル IAM#user.name@email.com >「ログイン・コマンドのコピー」 をクリックします。
oc login
トークン・コマンドを表示してコマンド・ラインにコピーし、CLI で認証を受けます。 -
バージョンを調べて、ご使用のクラスターで
oc
コマンドが正常に実行されることを確認します。oc version
出力例
Client Version: v4.16.0 Kubernetes Version: v1.31.3.2
クラスター内のすべてのワーカー・ノードまたはポッドのリストなど、管理者権限を必要とする操作を実行できない場合は、
ibmcloud oc cluster config --cluster <cluster_name_or_ID> --admin
コマンドを実行して、クラスター管理者の TLS 証明書と許可ファイルをダウンロードします。
Red Hat OpenShift コンソールのナビゲート
- Red Hat OpenShiftクラスター・コンソールから、Red Hat OpenShiftクラスターを選択し、OpenShiftウェブ・コンソールをクリックします。
- CLI でクラスターを操作するには、自分のプロファイルの**
IAM#user.name@email.com
>「ログイン・コマンドのコピー (Copy Login Command)」**をクリックします。oc login
トークン・コマンドを表示してコマンド・ラインにコピーし、CLI を使用して認証を受けます。
クラスターへのアプリのデプロイ
-
Hello World アプリのプロジェクトを作成します。
oc new-project hello-world
-
oc new-app
コマンドを使用して、 ソース・コードから サンプル・アプリをビルドします。oc new-app --name hello-world https://github.com/IBM/container-service-getting-started-wt --context-dir="Lab 1"
出力に警告メッセージが表示される場合がありますが、この例には影響しません。
-
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
-
ポッドをリストし、 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
-
hello world サービスへのパブリック・アクセスが可能になるように経路をセットアップします。
oc create route edge --service=hello-world -n hello-world
-
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
-
アプリにアクセスします。
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!
チュートリアルのリソースを整理する
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
- リソースを削除します。
oc delete all -l app=hello-world -n hello-world
次のステップ
アプリでの作業の詳細については、Red Hat OpenShift開発者アクティビティドキュメントを参照してください。
2 つの一般的な Red Hat OpenShift on IBM Cloud クラスター・アドオン: IBM Log Analysis と IBM Cloud Monitoring をインストールします。