type
status
date
slug
summary
tags
category
icon
password
书籍

ガイド付き演習

一般的な問題のトラブルシューティング

この演習では、OpenShift 上でアプリケーションのデプロイが失敗した場合に、問題を特定して修正する方法を学びます。

成果物

OpenShift 上でアプリケーションのデプロイが失敗した場合、その問題を特定し、修正できるようになることが目標です。

開始前の準備

第7章「OpenShift Container Platform のインストール」での全てのラボを完了し、マスターと 2 台のノードが稼働している OpenShift クラスターを用意する必要があります。もしクラスターが正しく構成されていない場合は、以下のコマンドを使用してマスター、ノード1、ノード2 をリセットし、ワークステーションホストで環境が正しく設定されていることを確認します:
その後、ワークステーションのターミナルで以下のコマンドを実行して、マスター、ノード1、ノード2 が起動していることを確認し、このガイド付き演習に必要なファイルをダウンロードします:

1. 新しいプロジェクトを作成する

1.1. ワークステーションホストで、OpenShift マスター(https://master.lab.example.com)にアクセスし、OpenShift クライアントでログインします。セキュリティ証明書を承認します。
1.2. 次に、common-troubleshoot プロジェクトを作成します:

2. Source-to-Image (S2I) アプリケーションをデプロイする

2.1. OpenShift で、php-helloworld アプリケーションのソースコードを使用して新しいアプリケーションを作成します。ソースコードはサービス VM 上の Git リポジトリにあります。
エラーが発生します:
このエラーメッセージは、php:5.4 に一致する複数のイメージがあることを示しています。次に、正しいイメージストリームタグを確認します。
2.2. php イメージストリームの有効なタグを oc describe コマンドでリストします。
出力には、php:7.0php:5.6 が有効なタグであり、php:7.1php:5.5 は無効であることが示されています。これは、これらのイメージが利用できないためです。
2.3. 正しいイメージストリームタグを使ってアプリケーションをデプロイします:
これで、次のように出力され、ビルドがスケジュールされます:
oc new-app コマンドは正常に成功しました。

2.4. アプリケーションが正常にビルドおよびデプロイされたことを確認する

次に、アプリケーションが正常にビルドされ、デプロイされたかを確認します。以下のコマンドを実行して、ポッドの状態を確認します:
出力例:
この場合、hello-1-build ポッドが Pending 状態で、アプリケーションのポッドが起動していません。この状態の理由を調査し、問題を修正する必要があります。

3. ビルダーポッドのログを確認する

ビルダーポッドのログを確認するために、oc logs コマンドを使用します:
しかし、ログに有益な情報は表示されません。このコマンドは何も出力しないため、他の方法で調査を進めます。

4. プロジェクトのイベントログを確認する

プロジェクトのイベントログを確認する方法として、oc get events コマンドを使用します:
出力例:
このイベントログには、FailedScheduling 警告が表示され、理由として「利用可能なノードが 0/3」であることが示されています。また、oc describe コマンドを使用してさらに詳細な情報を確認できます:
出力例:
ここでも FailedScheduling 警告が表示されており、イベントログからはノードが利用できないことがわかります。

5. ノードの状態を調査する

次に、ノードの状態を確認します。oc get nodes コマンドを実行して、クラスタ内のノードの状態を調査します。このコマンドは、マスターホストで root ユーザーとして実行する必要があります:
出力例:
出力から、node1node2 の両方が NotReady 状態であることが確認できます。Kubernetes は NotReady とマークされたノードでポッドをスケジュールできません。

注意

もしこのステップで以下のようなエラーが表示された場合:
その場合は、マスターに root ユーザーでログインし、以下のコマンドを実行してから再度 oc get nodes を実行します:

6. ノードが Ready 状態でない原因を調査する

ノードが Ready 状態でない原因を調べます。OpenShift ノードは atomic-openshift-node サービスを実行している必要があります。このサービスは、マスターと通信し、マスターがスケジュールしたポッドを実行します。
ワークステーションで 2 つの新しいターミナルを開き、node1node2 に root ユーザーで SSH でログインします:
各ノードで atomic-openshift-node サービスの状態を確認します:
出力例:
このエラーメッセージは、ノード上の Docker デーモンに接続できないことを示しています。

7. Docker サービスの状態を確認する

次に、ノード上で docker サービスの状態を確認します:
出力例:
両方のノードで Docker サービスが inactive 状態であり、起動していないことが確認できます。これが原因で、ノードが NotReady 状態になっています。

このように、ノードの状態とサービスを確認することで、問題の原因を特定し、解決に向けて進めることができます。

8. Docker サービスを両方のノードで開始する

まず、node1node2 ノードで Docker サービスを起動します:

9. ノードが Ready 状態であることを確認する

ワークステーションホストから、oc get nodes コマンドを実行して、両方のノードが Ready 状態になったことを確認します:
出力例:
注意: ノードが Ready 状態に変わるまでに数分かかることがあります。

10. ポッドが Running 状態であることを確認する

ワークステーション VM から、アプリケーションのポッドが Running 状態であることを確認します:
出力例:
アプリケーションポッドが Running 状態であることが確認できれば、ビルドとデプロイは成功しています。
注意: アプリケーションがビルドおよびデプロイされるまでに時間がかかる場合があるため、コマンドを繰り返し実行して状態を確認します。

追加の情報:ビルドログに関する警告

ビルド中に以下のような警告が表示される場合がありますが、アプリケーションポッドが Running 状態であれば無視して問題ありません:
これらの警告はアプリケーションのビルドが完了したことを示しています。

11. OpenShift 内部レジストリにアプリケーションがビルドされていることを確認

アプリケーションが OpenShift 内部レジストリに正常にビルドされ、プッシュされたことを確認するために、oc describe is コマンドを実行します:
出力例:
この結果から、アプリケーションが OpenShift 内部レジストリに正常にプッシュされていることがわかります。

12. プロジェクトのクリーンアップ

最後に、使用したプロジェクトを削除します:
これで、すべての作業が完了し、プロジェクトがクリーンアップされました。

このガイド付き演習はこれで終了です。
 
相关文章
RedHat EX200 本番近い試験問題集
Lazy loaded image
RedHat EX200 本番試験問題集(有料版)
Lazy loaded image
82- 第17章:導入総復習-3:OpenShiftにマルチコンテナデプロイのラボ
Lazy loaded image
81- 第17章:導入総復習-2:docker,KubernetesおよびOpenShiftのラボ
Lazy loaded image
80- 第17章:導入総復習-1:総合レビュー
Lazy loaded image
79- 第16章:OpenShiftの管理と監視-8:ラボ
Lazy loaded image
49- 第12章:OpenShiftリソースへのアクセス制御-1:アクセス保護の説明47- 第11章:コマンドの実行-3:トラブルシューティングコマンドの実行の説明
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
TOKYO自習島
2025-4-27
第1回:イントロダクション
2025-4-21
第1回:イントロダクション
2025-4-18
第1回:オリエンテーション/意思決定と会計情報
2025-4-18
建物業法の基本と免許-59問
2025-4-10
宅建士过去问速刷:小南小白陪你拿证-001
2025-4-7
公告

🎉 欢迎访问我的博客 🎉

🙏 感谢您的支持 🙏

📅 本站自 2024年9月1日 建立,致力于分享我在 IT・MBA・不动产中介 等领域的学习与实践经验,并推动 线上线下学习会 的自主开展。

📚 主要内容

💻 IT・系统与开发

  • 系统管理:Red Hat 等
  • 容器与编排:Kubernetes、OpenShift
  • 云计算:AWS、IBM Cloud
  • AI 入门:人工智能基础与实践
  • 技术笔记与考证经验

🏠 不动产 × 宅建士

  • 宅建士考试笔记

🎓 MBA 学习笔记

  • 管理学、经济学、财务分析等

🔍 快速查找内容(标签分类)

由于网站目前没有专门的设计,可能会导致查找信息不便。为了更快找到你感兴趣的内容,推荐使用以下标签功能 进行搜索!
📌 定期更新,欢迎常来看看!
📬 有任何建议或想法,也欢迎留言交流!