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つのワーカーノードで、ワシントンDCにバージョン 4.19 クラスタを作成します。
ibmcloud oc cluster create classic --name my-tutorial-cluster --location wdc04 --version 4.19_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.19.0 Kubernetes Version: v1.33.6.2クラスター内のすべてのワーカー・ノードまたはポッドのリストなど、管理者権限を必要とする操作を実行できない場合は、
ibmcloud oc cluster config --cluster <cluster_name_or_ID> --adminコマンドを実行して、クラスター管理者の TLS 証明書と許可ファイルをダウンロードします。
Red Hat OpenShift コンソールのナビゲート
- コンソールからクラスタ Red Hat OpenShift を選択し、次に 「Webコンソール 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-worldpod/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 on IBM Cloud クラスタアドオンを2つインストールします。 IBM Cloud Logs および IBM Cloud Monitoring。