IBM Cloud Docs
Red Hat OpenShift の問題のトラブルシューティング

Red Hat OpenShift の問題のトラブルシューティング

このトラブルシューティング情報を使用して、Red Hat® OpenShift® の問題の診断や修正を行ってください。

RHEL サブスクリプション

サブスクリプションに問題が発生した場合は、次のコマンドを使用して照会を実行することができます。

subscription-manager list --available --all

ロード・バランサー

ロード・バランシングが機能していることを確認するには、bastion ノードから次のコマンドを使用します。 結果として一連のヘッダー全体が得られれば、ロード・バランシングは正常に行われています。

wget --no-check-certificate https://api.ocp.dallas.ibm.local:6443

Red Hat CoreOS

SSHでノードに接続する必要はありませんが、必要であれば、バスターノード経由で接続できます。 次の例では、次のコマンドを使用してブートストラップ・サーバーに接続します。

ssh core@192.168.133.9

エラーが発生した場合は、指紋の検査を無効にする以下のコマンドを試してみてください。

ssh -o StrictHostKeyChecking=no core@192.168.133.9

この例では、ログを表示し、読み取り可能にするためにパーミッションを変更するために、バスターノードからコントロールプレーンノードに接続する方法を示しています。 ディレクトリー名は異なる場合があります。

ssh -i /root/.ssh/id_rsa core@192.168.133.12
sudo su
chmod 777 /var/log/pods/b2810e842791d83d48a4684295b7cd01/etcd-member/0.log

この例は、ログを bastionノードにダウンロードしてからジャンプ・サーバーまたはリモート・デバイスにダウンロードすることによって、ログを読み取り可能にして解析できるようにする方法を示しています。 ディレクトリー名は異なる場合があります。

scp -i /root/.ssh/id_rsa core@192.168.133.10:/var/log/pods/b2810e842791d83d48a4684295b7cd01/etcd-member/0.log 0.log

Red Hat OpenShift

ノードとその状況のリストを取得します。

oc get nodes

kubectl を使用する場合は、優先して使用される kubeconfig ファイルは次の順序で決まります。

  • --kubeconfig フラグを使用する (指定した場合)。
  • KUBECONFIG 環境変数を使用する (指定した場合)。
  • $HOME/.kube/config ファイルを使用する。

Red Hat OpenShift インストーラーによって作成された kubeconfig を環境変数にエクスポートするには、以下のコマンドを使用してください。

export KUBECONFIG=/opt/ocpinstall/auth/kubeconfig

デプロイメントの削除

Terraform デプロイメントに問題が発生した場合は、次のコマンドを使用してデプロイメントを削除できます。

terraform destroy

場合によっては、自動化の終了時に Terraform で問題が発生することがあります。 そのような場合は、vCenter を使用し、Terraform 状態ファイルを削除して、手動でデプロイメントを削除する必要があります。

  1. vCenter で、ocp フォルダーとそのコンテンツを削除します。
  2. ocp リソース・グループを削除します。
  3. rm /opt/ocpinstall/installer/upi/vsphere/terraform.tfstate Terraform 状態ファイルを削除します。

これらの手順を実行した後、デプロイメントの問題を解決して、Red Hat OpenShift プラットフォームを再デプロイすることができます。

新しい Ignition ファイルの生成

Ignition ファイルは 24 時間有効です。 以下の手順を実行して、.ign ファイルを生成できます。

  1. 以下のように、古い状態ファイル、構成ファイル、ign ファイルを削除します。

    cd /opt/ocpinstall
    rm -R .openshift_install.log .openshift_install_state.json auth *.ign metadata.json
    
  2. 以下のように Red Hat OpenShift の install-config のバックアップを yaml にコピーします。

    cp install-config.bak install-config.yaml
    openshift-install create ignition-configs --dir=/opt/ocpinstall/
    
  3. bootstrap.ign を nginx ホーム・フォルダーにコピーします。

    cp bootstrap.ign /usr/share/nginx/html
    
  4. terraform.tfvars のプライマリセクション cat master.ign とワーカーセクション cat worker.ign を置き換えます。 nano /opt/ocpinstall/installer/upi/vsphere/terraform.tfvars:

    // Ignition config for the control plane machines. You should copy the contents of the master.ign generated by$
    control_plane_ignition = <<END_OF_MASTER_IGNITION
    <replace with new master.ign>
    END_OF_MASTER_IGNITION
    
    // Ignition config for the compute machines. You should copy the contents of the worker.ign generated by the i$
    compute_ignition = <<END_OF_WORKER_IGNITION
    <replace with new worker.ign>
    END_OF_WORKER_IGNITION
    

Red Hat OpenShift のスナップショットの作成

開発中またはテスト中に、Red Hat OpenShift クラスター VM をいったん停止してから再開することができます。 スナップショットを取る前に、以下の点を考慮する必要があります。

Red Hat OpenShift 4.x クラスターのインストール時に、コントロール・プレーン・ノードで使用するブートストラップ証明書が作成され、kubelet クライアント証明書の証明書署名要求 (CSR) が作成されます (ノードまたは kubelet ごとに 1 つ)。 どのノードでも、この証明書を使用して各 kubelet を識別します。 この証明書は取り消しができないので、クラスターのインストールから 24 時間後という短い有効期限が設定されます。 コントロール・プレーン・ノード以外のすべてのノードには、取り消し可能なサービス・アカウント・トークンがあります。 ブートストラップ証明書が有効なのは、クラスターのインストール後 24 時間に限られます。 最初の 24 時間が経過すると、証明書の有効期限は 30 日ごとに切れます。

コントロール・プレーンにある最初の kubelet の有効期限は 24 時間で、その後に再作成されます。 デプロイメントの直後にスナップショットを取る場合、コントロール・プレーンの kubelet にはまだ 30 日間のクライアント証明書がありません。 その後、紛失したkubeletクライアント証明書の更新ウィンドウにより、クラスターが使用できなくなります。クラスターがバックアップ状態にある場合、ブートストラップ認証情報を使用できないためです。 実際には、インストール後 25 時間以上 Red Hat OpenShift 4 クラスターが実行されていないと、このプロセスをシャットダウンできません。

デプロイメント後に bastion ホストで次のコマンドを実行して、証明書の有効期間を確認できます。

ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no core@192.168.133.10 -- sudo openssl x509 -text -noout -in /var/lib/kubelet/pki/kubelet-client-current.pem

次のコマンドを実行して、出力の証明書の存続期間を確認します。

Warning: Identity file id_rsa_crc not accessible: No such file or directory.
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            6a:73:78:19:f3:1e:8f:0c:a9:51:b8:53:f4:eb:29:8d:49:fa:7e:fd
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN = kube-csr-signer_@1573016574
        Validity
            Not Before: Nov  6 08:22:00 2019 GMT
            Not After : Dec  6 04:57:43 2019 GMT

インストール後のクラスターのシャットダウンに関する詳細は 、「 Red Hat OpenShift 4クラスターのクラスターVMの停止と再開の有効化 」を参照してください。

最初の24時間証明書の更新後、クラスタのスナップショットは、次の30日間の任意の時点で再開できるようになります。 30 日が経過すると、証明書の有効期間によってクラスター・スナップショットが使用できなくなります。