type
status
date
slug
summary
tags
category
icon
password
书籍
ソリューション OpenShift ネットワーキングの概念の探求
このラボでは、OpenShiftのルートを使用してアプリケーションへのアクセスに関連する問題をトラブルシューティングし、修正します。
リソース
アプリケーションのURL: http://hello.apps.lab.example.com:8080
成果物
ルートを使用してアプリケーションにアクセスする際のエラーをトラブルシューティングし、修正できるようになります。
開始前の準備
「OpenShift Container Platformのインストール」章のすべてのラボを完了し、マスターと2つのノードがあるOpenShift Container Platformクラスターを実行していることを確認してください。もしそうでない場合は、マスター、node1、node2ホストをリセットし、ワークステーションホストで以下のコマンドを実行して、環境が正しく設定されていることを確認します:
マスター、node1、node2ホストが起動していることを確認し、このガイド付き演習で必要なファイルをダウンロードするには、ワークステーションホストのターミナルを開いて以下のコマンドを実行します:
  1. ラボセットアップスクリプトは、新しいプロジェクト「network-review」を作成し、developerユーザーアカウントを使用して「hello-openshift」アプリケーションをデプロイします。OpenShiftにdeveloperユーザーとしてログインし、プロジェクトをリストします。network-reviewプロジェクトがユーザーのデフォルトプロジェクトであることを確認してください。
  1. このプロジェクトのリソースを調査します。
2.1. このプロジェクト内のポッドを調べ、ポッドのIPアドレスをメモします。
2.2. このプロジェクト内のサービスを調べ、クラスターIPアドレスをメモします。
2.3. このプロジェクト内のルートを調べ、ルートURLをメモします。
  1. curlコマンドを使用して、ルートURLにアクセスします。デフォルトのルーターホームページは表示されますが、実際のアプリケーションの出力は表示されません。
  1. ルートの呼び出しが失敗した理由を調査し、トラブルシューティングします。
4.1. curlコマンドを使用して、ポッドIPアドレスに直接アクセスします。アプリケーションから有効な応答が得られることを確認します。新しいターミナルを開き、rootユーザーとしてマスターホストにSSHセッションを開始してからcurlコマンドを実行します。
4.2. curlコマンドを使用して、クラスターIPアドレスにアクセスします。アプリケーションは有効な応答を返しません。これはサービスの構成に問題があることを意味します。
4.3. ワークステーションVMから、oc describe svcコマンドを使用してサービスの詳細を確認します。このサービスに登録されているエンドポイントを確認します。
このサービスにはエンドポイントが登録されていないことに注目してください。これがサービスIPへのリクエストが接続拒否エラーを返す理由です。エンドポイントはポッドのセレクターラベルに基づいて登録されることを覚えておいてください。このサービスのセレクターラベルに注意してください。

4.4. oc describe pod コマンドを使用して、アプリケーションポッドのセレクタラベルの詳細を表示します。ポッドとサービスのセレクタラベルが一致していることを確認し、ポッドがサービスのエンドポイントとして登録されているかを確認します。
ポッドのセレクタラベルは app=hello-openshift ですが、サービスのセレクタラベルは app=hello_openshift になっています。サービスの構成を編集して、ポッドのセレクタと一致させる必要があります。
4.5. サービス構成を編集して、エラーを修正します。
ワークステーションVMで oc edit svc コマンドを使用してサービス構成を編集します。
前のコマンドはサービス構成を vi エディタバッファで表示します。サービス構成の selector 要素の app 属性が hello_openshift と誤って記述されていることに注意してください。アプリケーションから応答が得られないのは、hello_openshift とラベル付けされたポッドが存在しないためです。app 属性を hello-openshift に変更します。これは hello-openshift ポッドにラベル付けされています。編集が終わったらファイルを保存します。その後、再度 oc describe svc hello-openshift コマンドを実行します。セレクタとエンドポイントは以下のように表示されるはずです:
4.6. マスターVMから、クラスターIPアドレスを使ってアプリケーションから有効な応答が得られることを確認します。
4.7. ワークステーションVMから、ルートURLの呼び出しが動作するかどうかを確認します。
ルートURLの呼び出しはまだ失敗します。
4.8. oc describe route コマンドを使用して、ルートの詳細を表示します。サービス名とこのルートに登録されたエンドポイントを確認します。
このルートにエンドポイントがないというエラーが表示されます。これが、ルートURLにリクエストを送ってもアプリケーションホームページが表示されない理由です。ルーターはサービスに対してエンドポイントを照会し、有効なエンドポイントをロードバランシングのために登録します。サービス名に誤字があることに注意してください。正しいサービス名は hello-openshift です。このサービス名がアプリケーションの正しいサービス名です。

このようにして、サービス名の誤りとセレクタラベルの不一致を修正することで、アプリケーションの動作を復旧させることができます。

ルート構成を編集してエラーを修正します。
ワークステーションVMで oc edit route コマンドを使用してルート構成を編集します。
前のコマンドは、vi エディタバッファでルート構成を表示します。spec 要素の下の to 属性が hello-opensift と誤って記述されていることに注意してください。ルートから応答が得られない理由は、プロジェクトに hello-opensift というサービスが存在しないためです。to 属性を hello-openshift に変更します。編集が完了したら、ファイルを保存します。その後、再度 oc describe route hello-openshift コマンドを実行します。サービス名とエンドポイントは以下のように表示されるはずです。
4.10. ルートURLを呼び出すと、アプリケーションから有効な出力が表示されることを確認します。
  1. 評価 次のコマンドを実行して、作業を評価します。
PASSの評価を得られなかった場合は、作業を再確認し、評価コマンドを再実行してください。
クリーンアップ
network-review プロジェクトを削除します。
これで小テストは終了です。

ルート構成の修正と、アプリケーションの確認が完了しました。

まとめ

この章では、以下の内容を学びました:
  • OpenShiftのソフトウェア定義ネットワーキング(SDN)の実装はOpen vSwitch(OVS)をベースにしており、これによりOpenShiftクラスター内のポッド間での通信を可能にする統一されたクラスターネットワークが提供されること。
  • OpenShiftサービス
    • クライアントがクラスター内のポッドにアクセスするための一意のIPアドレスを持っています。
    • IPアドレスはOpenShift SDNから取得され、ポッドの内部ネットワークとは異なりますが、クラスター内からのみ見ることができます。
    • サービスリソースには、セレクタに一致するポッドがエンドポイントとして追加されます。ポッドが作成されると、そのエンドポイントは自動的に更新されます。
  • OpenShiftクラスター外部からサービスへのアクセスが必要なアプリケーションには、以下の2つの方法があります:
    • NodePort:サービスはノードホストの使用可能なポートにバインドされ、外部クライアントに公開され、その後接続はサービスのIPアドレスにプロキシされます。NodePortのポート番号は、30000〜32767の範囲に制限されています。
    • OpenShiftルート:この方法はサービスを一意のURLで公開します。oc expose コマンドを使用してサービスを外部に公開するか、OpenShift Webコンソールからサービスを公開できます。
  • ポッドは、ネットワークアドレス変換(NAT)を使用して、ホストアドレスを介してOpenShiftクラスター外のサーバーと通信できます。NATはネットワークトラフィックをホストのIPアドレスを通じて転送します。
  • OpenShiftのルートは、OpenShiftインスタンス内のポッドとして実行される共有ルーターサービスによって実装されており、他の通常のポッドのようにスケールや複製が可能です。このルーターサービスはオープンソースソフトウェアのHAProxyに基づいています。
  • ルートリソースは、JSONまたはYAMLリソース定義ファイルを使用して oc create で作成するか、oc expose コマンドを使用して作成できます。
  • oc expose コマンドまたはテンプレートから作成されたルートには、明示的な -hostname オプションが指定されていない場合、次の形式でDNS名が生成されます: <route-name>-<projectname>.<default-domain>
  • ルートは以下のプロトコルをサポートしています:
    • HTTP
    • HTTPS(SNI付き)
    • WebSockets
    • TLS(SNI付き)
  • ルートには異なる種類があります:
    • エッジ終了:TLSの終了はルーターで行われ、トラフィックがポッドにルーティングされる前に処理されます。TLS証明書はルーターが提供するため、証明書はルートに設定する必要があります。
    • パススルー終了:暗号化されたトラフィックは、ルーターによるTLSの終了なしで直接目的のポッドに送られます。証明書やキーは必要ありません。目的のポッドがエンドポイントで証明書を提供します。
    • 再暗号化終了:再暗号化はエッジ終了の変種で、ルーターがTLSで証明書を終了し、エンドポイントへの接続を再暗号化します。エンドポイントは異なる証明書を持っているかもしれません。
  • ワイルドカードポリシーを使用すると、ユーザーはドメイン内のすべてのホストをカバーするルートを定義できます。ルートはその構成の一部として wildcardPolicy フィールドを使用してワイルドカードポリシーを指定できます。
  • OpenShiftルーターはワイルドカードルートをサポートしており、ROUTER_ALLOW_WILDCARD_ROUTES 環境変数を true に設定することで有効になります。

相关文章
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
34- 第9章:OpenShift上でのコンテナ化アプリケーションのデプロイ-1:Kubernetesリソース作成の説明32- 第8章:OpenShift ネットワークの概念を説明・探索する-4:ルートの作成の演習
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
TOKYO自習島
2025-5-19
保証協会-25問
2025-5-15
営業保証金-21問
2025-5-6
平成26年秋期 午後問1
2025-5-6
令和5年秋期 午後問1
2025-5-3
令和2年秋期 午後問1
2025-5-2
公告

🎉 欢迎访问我的博客 🎉

🙏 感谢您的支持 🙏

📅 本站自 2024年9月1日 建立,致力于分享在 IT・MBA・不动产中介 等领域的学习与实践,并推动 学习会 的自主开展。
📖 博客语言使用比例
🇯🇵 日语 90% 🇨🇳 中文 8% 🇬🇧 英语 2%

📚 主要内容

💻 IT・系统与开发

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

🏠 不动产 × 宅建士

  • 宅建士考试笔记

🎓 MBA 学习笔记

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

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

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

目录
0%