スタートガイド

Red Hat OpenShift Local 2.3

Red Hat OpenShift Local の使用および開発に関するクイックスタートガイド

概要

本ガイドでは、Red Hat OpenShift Local を使用して速度を高める方法を説明します。ホストワークステーション(Microsoft Windows、macOS、または Red Hat Enterprise Linux)から Red Hat OpenShift Container Platform 4 を使用して、コンテナー化されたアプリケーションを開発した最初のステップについての手順および例が記載されています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 Red Hat OpenShift Local の紹介

1.1. Red Hat OpenShift Local について

Red Hat OpenShift Local は、最小限の OpenShift Container Platform 4 クラスターと Podman コンテナーランタイムをローカルコンピューターにもたらします。これらのランタイムは、開発およびテストの目的で最小限の環境を提供します。Red Hat OpenShift Local は、主に開発者のデスクトップ上での実行を目的としています。ヘッドレスまたはマルチ開発者のセットアップなど、その他の OpenShift Container Platform のユースケースでは、完全な OpenShift インストーラー を使用します。

OpenShift Container Platform の詳細な紹介は、OpenShift Container Platform ドキュメントを参照してください

Red Hat OpenShift Local には、目的のコンテナーランタイムを使用して Red Hat OpenShift Local インスタンスと対話するための crc コマンドラインインターフェイス (CLI) が含まれています。

1.2. 実稼働環境の OpenShift Container Platform インストールとの相違点

Red Hat OpenShift Local 用の OpenShift プリセットは、通常の OpenShift Container Platform インストールを提供しますが、以下の顕著な違いがあります。

  • OpenShift Container Platform クラスターは一時的なクラスターであり、実稼働環境での使用を目的としていません。
  • Red Hat OpenShift Local には、新しい OpenShift Container Platform バージョンへのサポートされているアップグレードパスがありません。OpenShift Container Platform バージョンをアップグレードすると、再現が困難な問題が発生する可能性があります。
  • コントロールプレーンとワーカーノードの両方として動作する単一のノードを使用します。
  • デフォルトではCluster Monitoring Operatorを無効にします。この無効な Operator により、Web コンソールの対応する部分が機能しなくなります。
  • OpenShift Container Platform クラスターは、インスタンス と呼ばれる仮想マシンで実行します。これにより、特に外部ネットワークとの他の違いが生じる可能性があります。

Red Hat OpenShift Local が提供する OpenShift Container Platform クラスターには、以下のカスタマイズができないクラスター設定も含まれています。これらの設定は変更しないでください。

  • *.crc.testing ドメインを使用します。
  • 内部クラスター通信に使用されるアドレスの範囲。

    • クラスターは 172 アドレス範囲を使用します。これにより、たとえばプロキシーが同じアドレス空間で実行されている場合に問題が発生する可能性があります。

第2章 インストール

2.1. 最小システム要件

Red Hat OpenShift Local の最小ハードウェアおよびオペレーティングシステムの要件は以下のとおりです。

2.1.1. ハードウェア要件

Red Hat OpenShift Local は、AMD64 および Intel 64 プロセッサアーキテクチャでのみサポートされています。Red Hat OpenShift Local は、ARM ベースの M1 アーキテクチャをサポートしていません。Red Hat OpenShift Local は、ネストされた仮想化をサポートしていません。

必要なコンテナーランタイムに応じて、Red Hat OpenShift Local には次のシステムリソースが必要です。

2.1.1.1. OpenShift Container Platform の場合:

  • 物理 CPU コア 4 個
  • 空きメモリー 9 GB
  • ストレージ領域の 35 GB
注記

OpenShift Container Platform クラスターでは、Red Hat OpenShift Local インスタンスで実行するのに必要な最小リソースが必要です。ワークロードによってはより多くのリソースが必要になる場合があります。Red Hat OpenShift Local インスタンスにより多くのリソースを割り当てるには、「 Configuring the instance 」を参照してください。

2.1.1.2. Podman コンテナーランタイムの場合

  • 物理 CPU コア 2 個
  • 空きメモリー 2 GB
  • ストレージ領域の 35 GB

2.1.2. オペレーティングシステム要件

Red Hat OpenShift Local には、サポートされるオペレーティングシステムの最小バージョンが必要です。

2.1.2.1. Microsoft Windows

  • Microsoft Windows では、Red Hat OpenShift Local には Windows 10 Fall Creators Update (バージョン 1709) 以降が必要です。Red Hat OpenShift Local は、Microsoft Windows の以前のバージョンでは動作しません。Microsoft Windows 10 Home Edition はサポートされません。

2.1.2.2. macOS

  • macOS では、Red Hat OpenShift Local には macOS 11 Big Sur 以降が必要です。Red Hat OpenShift Local は、以前のバージョンの macOS では機能しません。

2.1.2.3. Linux

  • Linux では、Red Hat OpenShift Local は Red Hat Enterprise Linux/CentOS 7.5 以降 (8.x バージョンを含む) および最新の 2 つの安定した Fedora リリースでのみサポートされます。
  • Red Hat Enterprise Linux を使用する場合は、Red Hat OpenShift Local を実行するマシンが Red Hat カスタマーポータルに登録されている 必要があります。
  • Ubuntu 18.04 LTS 以降および Debian 10 以降はサポートされておらず、ホストマシンの手動設定が必要になる場合があります。
  • Linux ディストリビューションに 必要なパッケージをインストールするには、「必要なソフトウェア パッケージ」を参照してください。

2.2. Linux に必要なソフトウェアパッケージ

Red Hat OpenShift Local では、libvirt および NetworkManager パッケージが Linux 上で実行する必要があります。Linux ディストリビューションでこれらのパッケージをインストールするのに使用されるコマンドを確認するには、以下の表を参照してください。

表2.1 ディストリビューションによるパッケージのインストールコマンド

Linux ディストリビューションインストールコマンド

Fedora

sudo dnf install NetworkManager

Red Hat Enterprise Linux/CentOS

su -c 'yum install NetworkManager'

Debian/Ubuntu

sudo apt install qemu-kvm libvirt-daemon libvirt-daemon-system network-manager

2.3. Red Hat OpenShift Local のインストール

Red Hat OpenShift Local は、Red Hat Enterprise Linux のポータブル実行可能ファイルとして利用できます。Microsoft Windows および macOS では、ガイド付きインストーラーを使用して Red Hat OpenShift Local を使用できます。

前提条件

  • ホストマシンが最小システム要件を満たしている必要があります。詳細は、「 最小システム要件 」を参照してください。

手順

  1. ご使用のプラットフォーム用の Red Hat OpenShift Local の最新リリースをダウンロードします。
  2. Microsoft Windows で、アーカイブの内容を展開します。
  3. macOS または Microsoft Windows の場合は、ガイド付きインストーラーを実行し、手順に従います。

    注記

    Microsoft Windows では、Red Hat OpenShift Local をローカルの C:\ ドライブにインストールする必要があります。ネットワークドライブから Red Hat OpenShift Local を実行することはできません。

    Red Hat Enterprise Linux の場合は、アーカイブが ~/Downloads ディレクトリーにあるものとし、以下のステップを実行します。

    1. アーカイブの内容を展開します。

      $ cd ~/Downloads
      $ tar xvf crc-linux-amd64.tar.xz
    2. ~/bin ディレクトリーが存在しない場合は、作成します。また、crc 実行可能ファイルをコピーします。

      $ mkdir -p ~/bin
      $ cp ~/Downloads/crc-linux-*-amd64/crc ~/bin
    3. ~/bin ディレクトリーを $ PATH に追加します。

      $ export PATH=$PATH:$HOME/bin
      $ echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc

2.4. 使用状況データ収集について

Red Hat OpenShift Local は、開発を支援するために、オプションの匿名使用データ収集を使用する前にプロンプトを表示します。個人的識別可能な情報が収集されません。使用状況データ収集の同意は、いつでも付与または取り消すことができます。

関連情報

2.5. 使用状況データ収集の設定

使用状況データ収集の同意は、次の設定コマンドを使用していつでも付与または取り消すことができます。

注記

テレメトリー同意を変更しても、実行中のインスタンスは変更されません。変更は、次に crc start コマンドを実行したときに有効になります。

手順

  • テレメトリーを手動で有効にするには、以下のコマンドを実行します。

    $ crc config set consent-telemetry yes
  • テレメトリーを手動で無効にするには、以下のコマンドを実行します。

    $ crc config set consent-telemetry no

関連情報

2.6. Red Hat OpenShift Local のアップグレード

Red Hat OpenShift Local 実行可能ファイルの新しいバージョンでは、以前のバージョンと互換性のない互換性のない状態を防ぐために手動の設定が必要になります。

手順

  1. Red Hat OpenShift Local の最新リリースをダウンロード します。
  2. 既存の Red Hat OpenShift Local インスタンスを削除します。

    $ crc delete
    警告

    crc delete コマンドを実行すると、Red Hat OpenShift Local ローカルインスタンスに保存されているデータが失われます。このコマンドを実行する前に、インスタンスに保存されている必要な情報を保存してください。

  3. 以前の crc 実行可能ファイルを、最新リリースの実行ファイルに置き換えます。バージョンを確認して、新しい crc 実行可能ファイルが使用中であることを確認します。

    $ crc version
  4. 新しい Red Hat OpenShift Local ローカルリリースをセットアップします。

    $ crc setup
  5. 新しい Red Hat OpenShift Local インスタンスを開始します。

    $ crc start

第3章 Red Hat OpenShift Local の使用

3.1. プリセットについて

Red Hat OpenShift Local プリセットは、マネージドコンテナーランタイムと、インスタンスがそれを実行するのに必要なシステムリソースの下限を表します。Red Hat OpenShift Local は、OpenShift Container Platform および Podman コンテナーランタイム用のプリセットを提供します。

Microsoft Windows および macOS では、Red Hat OpenShift Local ガイド付きインストーラーが目的のプリセットの入力を求めます。Linux では、OpenShift Container Platform プリセットがデフォルトで選択されています。この選択は、crc setup コマンドを実行する前に、crc config コマンドを使用して変更できます。選択したプリセットは、Microsoft Windows および macOS のシステムトレイから、またはサポートされているすべてのオペレーティングシステムのコマンドラインから変更できます。一度にアクティブにできるプリセットは 1 つだけです。

関連情報

  • 事前設定された各システム要件の詳細は、「 最小システム要件 」を参照してください。
  • 選択したプリセットの変更に関する詳細は、「選択した事前設定 の変更」を 参照してください。

3.2. Red Hat OpenShift Local のセットアップ

crc setup コマンドは操作を実行し、Red Hat OpenShift Local インスタンスのホストマシンの環境を設定します。

crc setup コマンドは、~/.crc ディレクトリーが存在しない場合は、それを作成します。

警告

新規バージョンを設定する場合は、新しい Red Hat OpenShift Local リリースをセットアップする前に、インスタンスに加えられた変更をすべてキャプチャーします。

前提条件

  • Linux または macOS の場合は、ユーザーアカウントに sudo コマンドを使用できることを確認します。Microsoft Windows で、ユーザーアカウントが管理者権限で昇格できることを確認してください。
注記

crcの実行ファイルは、rootユーザーまたは管理者として実行しないでください。crc 実行ファイルは常にユーザーアカウントで実行します。

手順

  1. (オプション) Linux では、OpenShift Container Platform プリセットがデフォルトで選択されています。Podman コンテナーランタイムプリセットを選択するには、以下を実行します。

    $ crc config set preset podman
  2. Red Hat OpenShift Local 用にホストマシンをセットアップします。

    $ crc setup

関連情報

  • 利用可能なコンテナーランタイムの Preset の詳細は、「 About Preset s」を参照してください。

3.3. インスタンスを開始します

crc start コマンドは、Red Hat OpenShift Local インスタンスと構成済みコンテナーランタイムを開始します。

前提条件

  • ネットワーク関連の問題を回避するには、VPN に接続されておらず、ネットワーク接続が信頼できることを確認します。
  • crc setup コマンドを使用してホストマシンを設定します。詳細は、「 Red Hat OpenShift ローカルの設定」を参照してください
  • Microsoft Windows で、ユーザーアカウントが管理者権限で昇格できることを確認してください。
  • OpenShift プリセットの場合は、有効な OpenShift ユーザープルシークレットがあることを確認してください。Red Hat Hybrid Cloud Console の Red Hat OpenShift Local ページの Pull Secret セクションからプルシークレットをコピーするか、ダウンロードします。

    注記

    ユーザーのプルシークレットにアクセスするには、Red Hat アカウントが必要です。

手順

  1. Red Hat OpenShift Local インスタンスを開始します。

    $ crc start
  2. OpenShift プリセットの場合は、プロンプトが表示されたら、ユーザーにプルシークレットを指定します。

    注記

    クラスターは、要求を提供する前に必要なコンテナーおよび Operator を起動するのに最小 4 分の時間がかかります。

関連情報

3.4. OpenShift クラスターへのアクセス

OpenShift Container Platform Web コンソールまたは OpenShift CLI (oc) を使用して、Red Hat OpenShift Local インスタンスで実行されている OpenShift Container Platform クラスターにアクセスします。

3.4.1. OpenShift Web コンソールへのアクセス

Web ブラウザーを使用して、OpenShift Container Platform コンソールにアクセスします。

kubeadminまたはdeveloperユーザーのいずれかを使用してクラスタにアクセスします。プロジェクトまたは OpenShift アプリケーションを作成するために、developer ユーザーを使用し、アプリケーションのデプロイメントに使用します。kubeadminユーザーは、新しいユーザーの作成やロールの設定などの管理作業にのみ使用してください。

前提条件

手順

  1. デフォルトの Web ブラウザで OpenShift Container Platform Web コンソールにアクセスするには、以下のコマンドを実行します。

    $ crc console
  2. crc start コマンドの出力でパスワードが出力された developer ユーザーとしてログインします。また、次のコマンドを実行すると、developerおよびkubeadminユーザーのパスワードを確認できます。

    $ crc console --credentials

Red Hat OpenShift Local が管理する OpenShift Container Platform クラスターにアクセスできない場合は、「 Troubleshooting Red Hat OpenShift Local 」を参照してください。

関連情報

3.4.2. OpenShift CLIによるOpenShiftクラスタへのアクセス

OpenShift CLI (oc) を使用して、Red Hat OpenShift Local によって管理される OpenShift Container Platform クラスターにアクセスします。

前提条件

手順

  1. crc oc-env コマンドを実行して、キャッシュされた oc 実行可能ファイルを $PATH に追加します。

    $ crc oc-env
  2. 印刷コマンドを実行します。
  3. developer ユーザーとしてログインします。

    $ oc login -u developer https://api.crc.testing:6443
    注記

    crc start コマンドは、developer ユーザーのパスワードを出力します。crc console --credentials コマンドを実行して表示することもできます。

  4. oc を使用して OpenShift Container Platform クラスターと対話できるようになりました。たとえば、OpenShift Container Platform クラスター Operator が利用可能であることを確認するには、kubeadmin ユーザーとしてログインし、以下のコマンドを実行します。

    $ oc config use-context crc-admin
    $ oc whoami
    kubeadmin
    $ oc get co
    注記

    Red Hat OpenShift Local は、デフォルトで Cluster Monitoring Operator を無効にします。

Red Hat OpenShift Local が管理する OpenShift Container Platform クラスターにアクセスできない場合は、「 Troubleshooting Red Hat OpenShift Local 」を参照してください。

関連情報

3.4.3. 内部 OpenShift レジストリーへのアクセス

Red Hat OpenShift Local インスタンスで実行している OpenShift Container Platform クラスターには、デフォルトで内部コンテナーイメージレジストリーが含まれています。この内部コンテナーイメージレジストリーは、ローカル開発コンテナーイメージの公開ターゲットとして使用できます。内部 OpenShift Container Platform レジストリーにアクセスするには、以下の手順に従います。

前提条件

手順

  1. クラスターにログインしているユーザーを確認します。

    $ oc whoami
    注記

    デモの目的で、現在のユーザーは kubeadmin であると想定されます。

  2. トークンでそのユーザーとしてレジストリーにログインします。

    $ podman login -u kubeadmin -p $(oc whoami -t) default-route-openshift-image-registry.apps-crc.testing --tls-verify=false
  3. 新しいプロジェクトを作成します。

    $ oc new-project demo
  4. サンプルコンテナーイメージをプルします。

    $ podman pull quay.io/libpod/alpine
  5. namespace の詳細を含むイメージにタグを付けます。

    $ podman tag alpine:latest default-route-openshift-image-registry.apps-crc.testing/demo/alpine:latest
  6. コンテナーイメージを内部レジストリーにプッシュします。

    $ podman push default-route-openshift-image-registry.apps-crc.testing/demo/alpine:latest --tls-verify=false
  7. イメージストリームを取得し、プッシュされたイメージが表示されていることを確認します。

    $ oc get is
  8. イメージストリームでイメージルックアップを有効にします。

    $ oc set image-lookup alpine

    この設定により、イメージストリームは内部レジストリーの完全な URL を指定することなくイメージのソースになります。

  9. 最近プッシュされたイメージを使用して Pod を作成します。

    $ oc run demo --image=alpine --command -- sleep 600s

3.5. odoを使用したサンプルアプリケーションのデプロイ

odo を使用してコマンドラインから OpenShift プロジェクトおよびアプリケーションを作成できます。この手順では、Red Hat OpenShift Local インスタンスで実行している OpenShift Container Platform クラスターにサンプルアプリケーションをデプロイします。

前提条件

  • odo がインストールされている。詳細は、odo ドキュメントの Installing odo を参照してください。
  • Red Hat OpenShift Local は、OpenShift プリセットを使用するように設定されています。詳細は、「 選択した事前設定の変更」を 参照してください。
  • Red Hat OpenShift Local ローカルインスタンスが実行しています。詳細は、「 インスタンスの起動」を参照し てください。

手順

  1. Red Hat OpenShift Local が管理している実行中の OpenShift Container Platform クラスターに developer ユーザーとしてログインします。

    $ odo login -u developer -p developer
  2. アプリケーションのプロジェクトを作成します。

    $ odo project create sample-app
  3. コンポーネントのディレクトリーを作成します。

    $ mkdir sample-app
    $ cd sample-app
  4. Node.js アプリケーションのサンプルのクローンを作成します。

    $ git clone https://github.com/openshift/nodejs-ex
    $ cd nodejs-ex
  5. nodejs コンポーネントをアプリケーションに追加します。

    $ odo create nodejs
  6. URL を作成し、ローカル設定ファイルにエントリーを追加します。

    $ odo url create --port 8080
  7. 変更をプッシュします。

    $ odo push

    これで、コンポーネントはアクセス可能な URL でクラスターにデプロイされます。

  8. URL を一覧表示し、コンポーネントに必要な URL を確認します。

    $ odo url list
  9. 生成された URL を使用してデプロイされたアプリケーションを表示します。

関連情報

3.6. インスタンスを停止しています

crc stop コマンドは、実行中の Red Hat OpenShift Local インスタンスおよびコンテナーランタイムを停止します。クラスターのシャットダウン中、停止プロセスには数分かかります。

手順

  • Red Hat OpenShift Local インスタンスおよびコンテナーランタイムを停止します。

    $ crc stop

3.7. インスタンスの削除

crc delete コマンドは、既存の Red Hat OpenShift Local インスタンスを削除します。

手順

  • Red Hat OpenShift Local インスタンスを削除します。

    $ crc delete
    警告

    crc delete コマンドを実行すると、Red Hat OpenShift Local ローカルインスタンスに保存されているデータが失われます。このコマンドを実行する前に、インスタンスに保存されている必要な情報を保存してください。

第4章 Red Hat OpenShift Local の設定

4.1. Red Hat OpenShift Local 設定について

crc config コマンドを使用して、crc 実行可能ファイルと Red Hat OpenShift Local インスタンスの両方を設定します。crc config コマンドには、設定で機能するサブコマンドが必要です。利用可能なサブコマンドは、getsetunset、および view です。getset、および unset サブコマンドは名前付きの設定可能なプロパティーで動作します。crc config --help コマンドを実行して、利用可能なプロパティーを一覧表示します。

crc config コマンドを使用して、crc start および crc setup コマンドの起動チェックの動作を設定することもできます。デフォルトでは、起動はエラーを確認し、条件が満たされない場合に実行を停止します。skip-checktrue に設定して、チェックをスキップします。

4.2. Red Hat OpenShift Local 設定の表示

Red Hat OpenShift Local の実行ファイルは、設定可能なプロパティーと現在の Red Hat OpenShift Local 設定を表示するコマンドを提供します。

手順

  • 利用可能な設定可能なプロパティーを表示するには、以下を実行します。

    $ crc config --help
  • 設定可能なプロパティーの値を表示するには、以下を実行します。

    $ crc config get <property>
  • 現在の設定を完了するには、以下を実行します。

    $ crc config view
    注記

    crc config view コマンドは、設定がデフォルト値で構成されている場合に情報を返しません。

4.3. 選択したプリセットの変更

目的のプリセットを選択することで、Red Hat OpenShift Local インスタンスに使用されるコンテナーランタイムを変更できます。

Microsoft Windows および macOS では、システムトレイまたはコマンドラインインターフェイスを使用して、選択したプリセットを変更できます。Linux では、コマンドラインインターフェイスを使用します。

重要

既存の Red Hat OpenShift Local インスタンスのプリセットを変更することはできません。プリセットの変更は、Red Hat OpenShift Local インスタンスが作成されたときにのみ適用されます。プリセットの変更を有効にするには、既存のインスタンスを削除して、新しいインスタンスを開始する必要があります。

手順

  • コマンドラインから選択したプリセットを変更します。

    $ crc config set preset <name>

    有効なプリセット名は、OpenShift Container Platform の場合は openshift、Podman コンテナーランタイムの場合は podman です。

関連情報

  • 事前設定された各システム要件の詳細は、「 最小システム要件 」を参照してください。

4.4. インスタンスの設定

cpus および memory プロパティーを使用して、Red Hat OpenShift Local インスタンスで利用可能なデフォルトの仮想 CPU 数およびメモリー容量を設定します。

または、--cpus および --memory フラグを使用して、それぞれ crc start コマンドに --cpus および --memory フラグを使用して割り当てることができます。

重要

既存の Red Hat OpenShift Local インスタンスの設定を変更することはできません。構成の変更を有効にするには、実行中のインスタンスを停止して再起動する必要があります。

手順

  • インスタンスで使用可能な vCPU の数を設定するには、以下を行います

    $ crc config set cpus <number>

    cpus プロパティーのデフォルト値は 4 です。割り当てる vCPU の数は、デフォルト以上である必要があります。

  • 必要な数の vCPU でインスタンスを起動するには、以下を実行します。

    $ crc start --cpus <number>
  • インスタンスで使用可能なメモリーを設定するには、以下を実行します。

    $ crc config set memory <number-in-mib>
    注記

    利用可能なメモリーの値は、メガバイト(MiB)で設定されます。メモリーの 1 つ(GiB)は 1024 MiB と等しくなります。

    memory プロパティーのデフォルト値は 9216 です。割り当てるメモリー量は、デフォルト以上である必要があります。

  • 必要な量のメモリーでインスタンスを起動するには、以下を実行します。

    $ crc start --memory <number-in-mib>

第5章 ネットワーキング

5.1. DNS 設定の詳細

5.1.1. 一般的な DNS 設定

Red Hat OpenShift Local によって管理される OpenShift Container Platform クラスターは、2 DNS ドメイン名(crc.testing および apps-crc.testing)を使用します。crc.testing ドメインは、コア OpenShift Container Platform サービス用です。apps-crc.testing ドメインは、クラスターにデプロイされた OpenShift アプリケーションにアクセスするためのものです。

たとえば、OpenShift Container Platform API サーバーは、console-openshift-console.apps-crc.testing として OpenShift Container Platform コンソールにアクセスしている間に api.crc.testing として公開されます。これらの DNS ドメインは、Red Hat OpenShift Local インスタンス内で実行される dnsmasq DNS コンテナーによって提供されます。

crc setup コマンドは、これらのドメインを解決できるように、システムのDNS設定を検出して調整します。crc start を起動する際に DNS が適切に設定されていることを確認するには、追加のチェックが行われます。

5.1.2. Linux

Linux では、ディストリビューションによっては、Red Hat OpenShift Local は以下の DNS 設定を想定します。

5.1.2.1. NetworkManager + systemd-resolved

この設定は、Fedora 33 以降、Ubuntu Desktop editions でデフォルトで使用されます。

  • Red Hat OpenShift Local コンテナーは NetworkManager がネットワークを管理することを想定します。
  • Red Hat OpenShift Local コンテナーは、testing ドメインの要求を 192.168.130.11 DNS サーバーに転送するように systemd-resolved を設定します。192.168.130.11 は、Red Hat OpenShift Local インスタンスの IP です。
  • systemd-resolved 設定は、/etc/NetworkManager/dispatcher.d/99-crc.sh の NetworkManager の dispatcher スクリプトで行います。

    #!/bin/sh
    
    export LC_ALL=C
    
    systemd-resolve --interface crc --set-dns 192.168.130.11 --set-domain ~testing
    
    exit 0
注記

systemd-resolved は、Red Hat Enterprise Linux および CentOS 8.3 でサポート対象外のテクノロジープレビューとしても利用できます。systemd-resolved を使用するように ホストを設定したら、実行中のクラスターを停止して、crc setup を再実行します。

5.1.2.2. NetworkManager + dnsmasq

この設定は、Fedora 32 以前、Red Hat Enterprise Linux、CentOS ではデフォルトで使用されます。

  • Red Hat OpenShift Local コンテナーは NetworkManager がネットワークを管理することを想定します。
  • NetworkManager は、/etc/NetworkManager/conf.d/crc-nm-dnsmasq.conf 設定ファイルを介して dnsmasq を使用します。
  • この dnsmasq インスタンスの設定ファイルは /etc/NetworkManager/dnsmasq.d/crc.conf です。

    server=/crc.testing/192.168.130.11
    server=/apps-crc.testing/192.168.130.11
    • NetworkManager の dnsmasq インスタンスは、crc.testing および apps-crc.testing ドメインのリクエストを 192.168.130.11 DNS サーバーに転送します。

5.2. 予約された IP サブネット

Red Hat OpenShift Local によって管理される OpenShift Container Platform クラスターは、内部で使用するための IP サブネットを確保しますが、ホストネットワークと共存するべきではありません。以下の IP サブネットが利用可能であることを確認します。

予約された IP サブネット

  • 10.217.0.0/22
  • 10.217.4.0/23
  • 192.168.126.0/24

また、ホストハイパーバイザーは、ホストオペレーティングシステムに応じて別の IP サブネットを確保します。Microsoft Windows では、ハイパーバイザーは、事前に決定できない、無作為に生成される IP サブネットを確保します。MacOS には、追加のサブネットが予約されません。Linux 用の追加の予約サブネットは 192.168.130.0/24 です。

5.3. プロキシーの背後で Red Hat OpenShift Local を開始

環境変数や設定可能なプロパティを使って、定義されたプロキシの背後で Red Hat OpenShift Local を起動することができます。

注記

SOCKS プロキシーは OpenShift Container Platform ではサポートされません。

前提条件

  • ホストマシンで既存の OpenShift CLI (oc) 実行可能ファイルを使用するには、no_proxy 環境変数の一部として .testing ドメインをエクスポートします。組み込み oc 実行可能ファイルには手動設定は必要ありません。埋め込み oc 実行可能ファイルの使用についての詳細は、「OpenShift CLI を使用した OpenShift クラスターへのアクセス」を 参照してください。

手順

  1. http_proxy および https_proxy 環境変数を使用するか、以下のように crc config set コマンドを使用してプロキシーを定義します。

    $ crc config set http-proxy http://proxy.example.com:<port>
    $ crc config set https-proxy http://proxy.example.com:<port>
    $ crc config set no-proxy <comma-separated-no-proxy-entries>
  2. プロキシーがカスタム CA 証明書ファイルを使用する場合は、以下のように設定します。

    $ crc config set proxy-ca-file <path-to-custom-ca-file>
注記

Red Hat OpenShift Local 設定に設定されたプロキシー関連の値は、環境変数を介して設定される値よりも優先されます。

5.4. リモートサーバーでの Red Hat OpenShift Local のセットアップ

Red Hat OpenShift Local が提供する OpenShift Container Platform クラスターを実行するようにリモートサーバーを設定します。

この手順では、Red Hat Enterprise Linux、Fedora、または CentOS サーバーを使用することを前提としています。この手順のすべてのコマンドをリモートサーバーで実行します。

警告

この手順は、ローカルネットワーク上でのみ実行してください。安全でないサーバーをインターネット上に公開することは、多くのセキュリティ上の問題があります。

前提条件

  • Red Hat OpenShift Local が、リモートサーバーに インストールされ、設定されています。詳細は、「 Installing Red Hat OpenShift Local and Setting up Red Hat OpenShift Local 」を参照してください。
  • Red Hat OpenShift Local は、リモートサーバーで OpenShift プリセットを使用するように設定されています。詳細は、「 選択した事前設定の変更」を 参照してください。
  • ユーザーアカウントにリモートサーバーに対する sudo パーミッションがある。

手順

  1. クラスターを起動します。

    $ crc start

    この手順の間、クラスターが稼働していることを確認してください。

  2. haproxy パッケージおよびその他のユーティリティーをインストールします。

    $ sudo dnf install haproxy /usr/sbin/semanage
  3. クラスターとの通信を許可するようにファイアウォールを変更します。

    $ sudo systemctl enable --now firewalld
    $ sudo firewall-cmd --add-service=http --permanent
    $ sudo firewall-cmd --add-service=https --permanent
    $ sudo firewall-cmd --add-service=kube-apiserver --permanent
    $ sudo firewall-cmd --reload
  4. SELinux の場合、HAProxy が TCP ポート 6443 でリッスンして、このポートで kube-apiserver を提供できるようにします。

    $ sudo semanage port -a -t http_port_t -p tcp 6443
  5. デフォルトの haproxy 設定のバックアップを作成します。

    $ sudo cp /etc/haproxy/haproxy.cfg{,.bak}
  6. クラスターで使用するように haproxy を設定します。

    $ export CRC_IP=$(crc ip)
    $ sudo tee /etc/haproxy/haproxy.cfg &>/dev/null <<EOF
    global
        log /dev/log local0
    
    defaults
        balance roundrobin
        log global
        maxconn 100
        mode tcp
        timeout connect 5s
        timeout client 500s
        timeout server 500s
    
    listen apps
        bind 0.0.0.0:80
        server crcvm $CRC_IP:80 check
    
    listen apps_ssl
        bind 0.0.0.0:443
        server crcvm $CRC_IP:443 check
    
    listen api
        bind 0.0.0.0:6443
        server crcvm $CRC_IP:6443 check
    EOF
  7. haproxy サービスを起動します。

    $ sudo systemctl start haproxy

5.5. リモートの Red Hat OpenShift Local ローカルインスタンスへの接続

dnsmasq を使用して、Red Hat OpenShift Local によって管理される OpenShift Container Platform クラスターを実行しているリモートサーバーにクライアントマシンを接続します。

この手順では、Red Hat Enterprise Linux、Fedora、または CentOS クライアントを使用することを前提としています。この手順のすべてのコマンドをクライアント上で実行します。

重要

ローカルネットワーク上でのみ公開されるサーバーに接続します。

前提条件

手順

  1. dnsmasq パッケージをインストールします。

    $ sudo dnf install dnsmasq
  2. NetworkManager での DNS 解決に対する dnsmasq の使用を有効にします。

    $ sudo tee /etc/NetworkManager/conf.d/use-dnsmasq.conf &>/dev/null <<EOF
    [main]
    dns=dnsmasq
    EOF
  3. Red Hat OpenShift Local の DNS エントリーを dnsmasq 設定に追加します。

    $ sudo tee /etc/NetworkManager/dnsmasq.d/external-crc.conf &>/dev/null <<EOF
    address=/apps-crc.testing/SERVER_IP_ADDRESS
    address=/api.crc.testing/SERVER_IP_ADDRESS
    EOF
    注記

    /etc/NetworkManager/dnsmasq.d/crc.conf の既存のエントリーをコメントアウトします。これらのエントリーは、Red Hat OpenShift Local インスタンスを実行して作成し、リモートクラスターのエントリーと競合します。

  4. NetworkManager サービスを再読み込みします。

    $ sudo systemctl reload NetworkManager
  5. oc を使用して developer ユーザーとしてリモートクラスターにログインします。

    $ oc login -u developer -p developer https://api.crc.testing:6443

    リモートの OpenShift Container Platform Web コンソールは https://console-openshift-console.apps-crc.testing から入手できます。

第6章 管理タスク

6.1. 監視を開始します

Red Hat OpenShift Local は、Red Hat OpenShift Local が一般的なノートブックで実行できるように、デフォルトでクラスタ監視を無効にしています。モニタリングは、Red Hat Hybrid Cloud コンソールにクラスターを一覧表示する役割を担っています。以下の手順で、クラスタのモニタリングを有効にします。

前提条件

  • Red Hat OpenShift Local インスタンスに追加のメモリーを割り当てる必要があります。コア機能には 14 GiB 以上のメモリー(値は 14336)が推奨されます。ワークロードを増やすには、より多くのメモリーが必要です。詳細は、「 インスタンスの設定」を参照し てください。

手順

  1. enable-cluster-monitoring 設定可能プロパティーを true に設定します。

    $ crc config set enable-cluster-monitoring true
  2. インスタンスを起動します。

    $ crc start
    警告

    クラスターモニタリングを無効にできません。監視を削除するには、enable-cluster-monitoring 設定可能プロパティーを false に設定し、既存の Red Hat OpenShift Local インスタンスを削除します。

第7章 Red Hat OpenShift Local のトラブルシューティング

注記

Red Hat OpenShift Local の目的は、開発およびテストの目的で OpenShift Container Platform 環境を提供します。特定の OpenShift アプリケーションのインストール時に生じる問題は、Red Hat OpenShift Local のスコープ外にあります。該当するプロジェクトに、このような問題を報告します。

7.1. OpenShift クラスターへのシェルアクセスの取得

トラブルシューティングまたはデバッグの目的でクラスターにアクセスするには、以下の手順に従います。

注記

OpenShift Container Platform クラスターへの直接アクセスは、通常の使用には必要ではなく、強く推奨されません。

前提条件

手順

  1. oc get nodes コマンドを実行して、目的のノードを特定します。出力は以下のようになります。

    $ oc get nodes
    NAME                 STATUS   ROLES           AGE    VERSION
    crc-shdl4-master-0   Ready    master,worker   7d7h   v1.14.6+7e13ab9a7
  2. oc debug nodes/<node> を実行します。ここでの <node> は直前の手順で出力されるノードの名前です。

7.2. 期限切れの証明書のトラブルシューティング

リリースされた各 crc 実行可能ファイルのシステムバンドルは、リリース後に 30 日後に有効期限が切れます。この有効期限は、OpenShift Container Platform クラスターに埋め込まれた証明書が原因で行われます。crc start コマンドは、必要に応じて証明書の更新プロセスをトリガーします。証明書の更新では、クラスターの起動時間に最大 5 分後に追加できます。

この追加の起動時間、または証明書の更新プロセスで失敗した場合は、以下の手順を使用します。

手順

自動的に更新できない期限切れの証明書エラーを解決するには、以下を実行します。

  1. 最新の Red Hat OpenShift Local リリースをダウンロードし$PATHcrc 実行可能ファイルを設定します。
  2. crc delete コマンドを使用して、証明書エラーでクラスターを削除します。

    $ crc delete
    警告

    crc delete コマンドを実行すると、Red Hat OpenShift Local ローカルインスタンスに保存されているデータが失われます。このコマンドを実行する前に、インスタンスに保存されている必要な情報を保存してください。

  3. 新しいリリースを設定します。

    $ crc setup
  4. 新しいインスタンスを開始します。

    $ crc start

7.3. バンドルバージョンの不一致のトラブルシューティング

作成された Red Hat OpenShift Local インスタンスには、バンドル情報とインスタンスデータが含まれています。新規の Red Hat OpenShift Local リリースの設定時には、バンドル情報およびインスタンスデータは更新されません。この情報は、以前のインスタンスデータのカスタマイズにより更新されません。これにより、crc start コマンドの実行時に エラーが発生します。

$ crc start
...
FATA Bundle 'crc_hyperkit_4.2.8.crcbundle' was requested, but the existing VM is using
'crc_hyperkit_4.2.2.crcbundle'

手順

  1. インスタンスを起動する前に crc delete コマンドを実行します。

    $ crc delete
    警告

    crc delete コマンドを実行すると、Red Hat OpenShift Local ローカルインスタンスに保存されているデータが失われます。このコマンドを実行する前に、インスタンスに保存されている必要な情報を保存してください。

7.4. 不明な問題のトラブルシューティング

クリーンな状態で Red Hat OpenShift Local を再起動することで、ほとんどの問題を解決します。これには、インスタンスの停止、削除、crc setup コマンドによる変更の取り消し、変更の再適用、およびインスタンスの再起動が含まれます。

前提条件

手順

Red Hat OpenShift Local のトラブルシューティングを行うには、以下のステップを実行します。

  1. Red Hat OpenShift Local インスタンスを停止します。

    $ crc stop
  2. Red Hat OpenShift Local インスタンスを削除します。

    $ crc delete
    警告

    crc delete コマンドを実行すると、Red Hat OpenShift Local ローカルインスタンスに保存されているデータが失われます。このコマンドを実行する前に、インスタンスに保存されている必要な情報を保存してください。

  3. crc setup コマンドで残りの変更をクリーンアップします。

    $ crc cleanup
    注記

    crc cleanup コマンドは、既存の Red Hat OpenShift Local コンテナーインスタンスを削除し、crc setup コマンドで作成した DNS エントリーへの変更に戻ります。macOS では、crc cleanup コマンドはシステムトレイも削除します。

  4. 変更を適用するためにホストマシンを設定します。

    $ crc setup
  5. Red Hat OpenShift Local インスタンスを開始します。

    $ crc start
    注記

    クラスターは、要求を提供する前に必要なコンテナーおよび Operator を起動するのに最小 4 分の時間がかかります。

この手順で問題が解決しない場合は、以下の手順を実行します。

  1. 発生した問題のオープン問題を検索します。
  2. 既存の問題が問題に対処しない場合は、問題を作成し~/.crc/crc.log ファイルを作成された問題に割り当てます~/.crc/crc.log ファイルには詳細なデバッグとトラブルシューティング情報があり、発生した問題を診断するのに役立ちます。