type
status
date
slug
summary
tags
category
icon
password
书籍

インストール準備

この演習では、OpenShift Container Platform のインストールに向けて、マスターノード のホストを準備します。

成果物

OpenShift Container Platform のインストール準備を行うために、Ansible Playbook をカスタマイズして実行できるようになります。

はじめに

  1. マスター、node1、node2 の VM が起動していることを確認し、この演習に必要なファイルをダウンロードします。
    1. ターミナルを開き、次のコマンドを実行します:
  1. 次に、作業ディレクトリに移動します:

    インストールプレイブックの準備

    1. 現在の時点で、インストール用のプレイブックは Ansible v2.4 と互換性があることを確認します。Ansible v2.4 がインストールされていることを確認してください。
    1.1 ansible パッケージをインストール
    1.2 ansible コマンドが正しく動作するか確認
    同じターミナルウィンドウで、次のコマンドを実行して確認します:
    出力には Ansible v2.4 がインストールされていることが表示されます。また、ansible.cfg ファイルが /home/student/DO285/labs/install-prepare/ansible.cfg にあることも確認できます。
    1.3 ansible.cfg ファイルを簡単に確認
    このコマンドの出力には以下の内容が表示されます:

    特権昇格設定

    デフォルトでは、Ansible は SSH を使ってリモートマシンに接続し、student ユーザーとして接続します。
    すべての Ansible コマンドのデフォルトのインベントリファイルは ./inventory ファイルです。
    Playbook の出力は ./ansible.log ファイルに記録されます。
    Ansible は指定されたパスを使用して roles にアクセスします。
    デフォルトで、Ansible はリモートマシンに接続後、sudo コマンドを使用して root ユーザーになります。

    インベントリファイルの内容

    インベントリファイルには、OpenShift のインストールを構成するための VM と変数が含まれています。
    インベントリファイルの内容を簡単に確認しましょう。
    以下のような内容が表示されます:

    このインベントリファイルには、OpenShift の各コンポーネント(ワークステーション、NFS、マスター、etcd、ノード)に対応するホストと、それらの設定に必要な変数が含まれています。

    インベントリファイルの定義について

    インベントリファイルには6つのホストグループが定義されています:
    • workstations: 開発者用のワークステーションが含まれるグループです。プレイブックはこのマシンから実行されます。OpenShiftの高度なインストールプレイブックでは、このホストグループは使用されません。このグループは、クラスルーム環境内のすべてのVMセットを代表するために含まれています。
    • nfs: クラスターストレージ用のNFSサービスを提供するVMのグループです。
    • masters: OpenShiftクラスタのマスターホストとして使用されるVMのグループです。
    • etcd: OpenShiftクラスタのetcdサービス用に使用されるVMのグループです。クラスルーム環境では、etcdサービスはマスターVMと同じホストに配置されるように設計されています。
    • nodes: OpenShiftクラスタのノードホストとして使用されるVMのグループです。
    • OSEv3: OpenShiftクラスタを構成するVMのグループです。masters、etcd、nodes、またはnfsグループのいずれかに属するマシンは、OSEv3グループのメンバーでもあります。

    Docker設定について

    デフォルトでは、Dockerはオンラインのレジストリを使用してコンテナイメージをダウンロードします。しかし、クラスルーム環境ではインターネット接続がないため、Dockerは安全なプライベートレジストリを使用するように設定されています。このカスタムプレイブック prepare_install.yml は、nodes:vars セクションで定義された変数を使用してDockerを設定します。
    また、インストールは各ホスト上でDockerデーモンを設定し、overlay2 グラフドライバーを使用してコンテナイメージを格納するように構成します。Dockerはさまざまなグラフドライバー構成をサポートしており、特定のグラフドライバーの利点と欠点については、ドキュメントで確認できます。

    インストールプロセスの前確認

    インストールプロセスを開始する前に、Ansibleがインベントリ内のすべてのVMに接続できるかを確認します。

    3.1 カスタムプレイブック ping.yml の確認

    このプレイブックは、Ansibleがインベントリ内のすべてのマシンに接続できるかを確認するためのものです。
    出力は次のようになります:
    このプレイブックは、Ansibleが各マシンにSSHで接続できるかをテストし、接続後にrootユーザーに昇格できることを確認します。

    3.2 プレイブックの実行

    ping.yml プレイブックを実行し、-v オプションを使って詳細な出力を確認します。
    期待される出力は次のようになります:
    whoami コマンドの出力が root であることが期待されます。これは、Ansibleが接続後に sudo コマンドを使用して特権昇格できることを示しています。

    4. OpenShiftインストールのためにクラスルームマシンを準備するカスタムプレイブック

    次に、prepare_install.yml というカスタムプレイブックを確認します。
    このプレイブックは、nodes グループ内の各VMに3つのロール(docker-storagedocker-registry-certopenshift-node)を適用します。
    • docker-storage ロールは、Dockerをインストールし、Dockerデーモンのストレージを設定します。
    • docker-registry-cert ロールは、各ノードのDockerデーモンがプライベートDockerレジストリの証明書を信頼するようにします。
    • openshift-node ロールは、必要な基本パッケージをインストールします。
    特定のロールのタスクリストを見るには、ロールの tasks/main.yml ファイルを確認します。
    ロールが適用された後、各ノードでstudent ユーザーに docker グループが追加されます。これにより、student ユーザーは sudo を使わずに Docker コマンドを実行できるようになります。

    5. OpenShiftの準備のためにカスタムプレイブックを実行

    次に、prepare_install.yml プレイブックを実行して、VMをOpenShiftのインストールに備えます。
    ワークステーションVMから、以下のコマンドを実行します:
    実行後、以下のような出力が表示されるはずです。
     
    注意 プレイブックの実行中に、システムによって出力されるカウントは異なる場合があります。プレイブック実行中に失敗したタスクがないことを確認してください。

    6. プレイブックは以下のことを保証します:

    • 各ノードにDockerがインストールされ、実行中であること。
    • 各ノードでDockerが論理ボリュームを使用してストレージを構成していること。
    • 各ノードがプライベートDockerレジストリの自己署名証明書を信頼していること。
    • 各ノードに必要な基本パッケージがインストールされていること。
    各ノードが正しく構成されていることを確認します。

    6.1. 各ノードでdockerサービスが開始され、起動時に自動的に有効になっていることを確認します。

    以下のコマンドを実行して確認します:
    出力は以下のようになります:

    6.2. Dockerデーモンが、docker-vg ボリュームグループから docker-pool という論理ボリュームを使用していることを確認します。

    以下のコマンドを使って、各ホストの論理ボリュームをリストします。また、df -h コマンドで、/var/lib/docker ディレクトリに論理ボリュームがマウントされていることを確認します:
    出力は以下のようになります:

    6.3 Dockerイメージのプル確認

    次に、docker pullコマンドを使用して、ローカルのプライベートレジストリからイメージが正しくプルされるか確認します。これにより、プライベートレジストリの証明書が各ノードで信頼されていることも確認できます。
    以下のコマンドを実行しました:
    出力例:

    これにより、各ノードでdockerサービスが正常に動作しており、プライベートレジストリからイメージが正しくダウンロードされることが確認できました。

    1.rhel7:latest イメージは、registry.lab.example.com からプルされ、registry.access.redhat.com からではありません。
    2.コンテナイメージのダウンロードが成功したため、プライベートレジストリの証明書が各ノードで信頼されていることが確認されました。

    6.4 必要なパッケージが各ノードにインストールされていることを確認

    次に、各ノードに必要なパッケージがインストールされているか確認します。以下のコマンドを実行して、必要なパッケージがインストールされていることを確認しました:
    出力例:
    これで、インストールに必要なパッケージが各ノードにインストールされていることが確認できました。

    これにて、ガイド付き演習は終了です。
     
    相关文章
    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
    25- 第7章:OpenShiftインストール-3:OCPインストールの説明23- 第7章:OpenShiftインストール-1:Ansibleの用意の説明
    Loading...
    みなみ
    みなみ
    一个普通的干饭人🍚
    最新发布
    35条書面-64問-1
    2025年6月13日
    TOKYO自習島
    2025年6月10日
    平成26年秋期 午後問1
    2025年6月6日
    令和5年秋期 午後問1
    2025年6月6日
    令和2年秋期 午後問1
    2025年6月6日
    業務上の規制-87問-1
    2025年6月4日
    公告

    🎉 欢迎访问我的博客 🎉

    🙏 感谢您的支持 🙏

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

    📚 主要内容

    💻 IT・系统与开发

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

    🏠 不动产 × 宅建士

    • 宅建士考试笔记

    🎓 MBA 学习笔记

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

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

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