type
status
date
slug
summary
tags
category
icon
password
书籍
ワークショップインストール後のタスクの完了
この演習では、OpenShift Container Platform クラスターのインストール後の基本機能をテストします。
成果物
次のことができるようになります:
- 管理者ユーザーをクラスター管理者として設定する。
- OpenShift クライアント(
oc
)を使用してクラスターのステータスを取得する。
- OpenShift 上でシンプルなアプリケーションをビルドしてデプロイし、クラスターの機能をテストする。
始める前に
「インストール準備」と「Red Hat OpenShift Container Platform のインストール」のガイド付き演習を完了している必要があります。まだ完了していない場合は、
master
、node1
、node2
ホストをリセットし、次のコマンドをワークステーションホストで実行してください:このガイド付き演習に必要なファイルをダウンロードし、
master
、node1
、node2
ホストが起動していることを確認するには、ターミナルを開き、次のコマンドを実行します:- ワークステーションから、
admin
ユーザーとして OpenShift クラスターにログインします。 1.1. ワークステーションからoc
コマンドを使用して、admin
ユーザーとしてクラスターにログインします。
ログイン成功。
「プロジェクトがありません。新しいプロジェクトを作成するには、
oc new-project <projectname>
を実行してください。」ようこそ! 'oc help' を参照して、始めましょう。
-insecure-skip-tls-verify=true
オプションは、インストール時に生成された自己署名証明書を受け入れます。
1.2. OpenShift ノードのステータスを取得してみる
エラー発生:
このコマンドは失敗することが想定されています。理由は、
admin
ユーザーが cluster-admin
ロールに関連付けられていないためです。2. admin ユーザーに cluster-admin ロールを割り当てる
2.1. ワークステーションから master
ホストに SSH でログインし、sudo
を使って root ユーザーになります。
2.2. system:admin
ユーザーが OpenShift API に認証されていることを確認します。
2.3. admin
ユーザーに cluster-admin
ロールを割り当てます。
2.4. master
ホストからログアウトします。
これで、
admin
ユーザーを使用してワークステーションマシンからリモートでクラスター管理タスクを実行できるようになります。3. oc get
コマンドを使用して OpenShift クラスターの基本的な動作確認を行う
3.1. admin
ユーザーとして OpenShift クラスターにログインします。(プロンプトが表示されたら、パスワードに redhat
を入力)
これで、
admin
ユーザーとして OpenShift クラスターの管理操作ができるようになります。3.2. oc get nodes
コマンドを使用して、すべてのノードが Ready
状態であることを確認する
node1
と node2
のロールが compute
になっていることから、インベントリファイルに定義されたノードのラベルが正しく適用されていることが確認できます。3.3. oc get pods
コマンドを使用して、内部レジストリとルーターポッドが Running
状態であることを確認する
すべての
docker-registry
、registry-console
、router
のポッドが Running
になっていることを確認します。4. クラスターの機能をテストするために、developer
ユーザーとして S2I ビルドを実行する
4.1. developer
ユーザーとして OpenShift クラスターにログインする
パスワードとして
redhat
を入力します。これで、
developer
ユーザーとしてクラスターにログインできました。4.2. smoke-test
という名前の新しいプロジェクトを作成する
smoke-test
プロジェクトが作成され、現在のプロジェクトとして設定されました。4.3. S2Iビルドを実行し、PHP 5.6の php-helloworld
アプリケーションをデプロイする
アプリケーションのソースコードは
http://services.lab.example.com/php-helloworld
にあります。💡
--name hello
オプションにより、アプリケーションのリソース名が phphelloworld
ではなく hello
に短縮され、デプロイ後のFQDN(完全修飾ドメイン名)も短くなります。4.4. oc logs -f
コマンドでビルドプロセスを監視する
このコマンドは即座に完了せず、ビルドプロセスが完了するまで数秒間実行されます。
出力の例:
💡 この出力から、OpenShift が以下の処理を正しく実行できていることがわかります:
- ソースコードのクローン作成
- アプリケーションのビルド
- 内部レジストリへのイメージのプッシュ
4.5. hello
サービスをルートとして公開する
💡
oc expose
コマンドを使うと、外部アクセス用のルートが作成されます。4.6. 公開された hello
サービスのルートを確認する
💡
hello-smoke-test.apps.lab.example.com
が、外部からアクセスできるアプリケーションのURLです。まとめ
方法 | OpenShift クラスター内部アクセス | クラスター外部(社内ネットワーク)アクセス | インターネットアクセス |
ClusterIP | ✅ アクセス可能 ( curl http://hello:8080 ) | ❌ アクセス不可 | ❌ アクセス不可 |
Route | ✅ アクセス可能 ( curl http://hello:8080 ) | ✅ アクセス可能 ( curl http://hello-smoke-test.apps.lab.example.com ) | 🌐 OpenShift Router の設定による |
LoadBalancer | ✅ アクセス可能 | ✅ アクセス可能 | 🌐 パブリックIPの有無による ( curl http://203.0.113.100:8080 ) |
NodePort | ✅ アクセス可能 | ✅ アクセス可能 ( curl http://<node-ip>:30080 ) | ❌ 通常、直接公開されない |
結論
ClusterIP
は OpenShift クラスター内部 でのみアクセス可能。
Route
を使うとクラスター外部(社内ネットワークなど)からアクセスできるが、インターネットからアクセスできるかどうかは OpenShift Router の設定次第。
NodePort
は OpenShift の ノードが属するネットワーク(通常は社内ネットワーク)でアクセス可能 だが、通常インターネットには公開されない。
LoadBalancer
は パブリックIPが割り当てられればインターネットからアクセス可能。
OpenShift Router を外部に公開する方法は 2 つ あります。
方法 | 適用環境 | 仕組み | 適用ケース |
1. LoadBalancer(推奨) | クラウド環境(AWS, GCP, Azure など) | OpenShift Router の Service タイプを LoadBalancer に変更し、クラウドプロバイダーが自動でパブリック IP を割り当てる | クラウド環境向け、運用が簡単 |
2. NodePort(手動設定) | オンプレミス環境(物理サーバー)や一部のクラウド環境 | OpenShift Router の Service タイプを NodePort に変更し、手動でノードのポートを公開 | 非クラウド環境向け、ファイアウォール設定が必要 |
4.7. curl
コマンドを使用して、アプリケーションが正しく応答することを確認する
✅ アプリケーションが正しくデプロイされ、動作していることが確認できました!
これで、OpenShift の基本的なインストール確認およびデプロイ手順のガイド付き演習が完了です。
要約
この章では、以下の内容を学びました:
- Ansible Playbook を使用して OpenShift Container Platform のインストール環境を準備する方法
- 適切なホストグループ、グループ変数、およびホスト変数を設定した OpenShift の高度なインストール用インベントリファイルの構成方法
- OpenShift の高度なインストール用 Ansible Playbook を使用して、マスターおよびノードサーバーを設定する方法
- ソースコードからアプリケーションを作成し、OpenShift にデプロイすることで、動作中の OpenShift クラスターを検証する方法
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/1a6d7ae8-88e2-80c3-941e-ec060767d141
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章