Kubernetes シークレットが見つからないため、PVC またはポッドの作成が失敗するのはなぜですか?

仮想プライベートクラウド クラシック・インフラストラクチャー

IBM Cloud Object Storage の Kubernetes シークレットが見つからないか、参照が間違っているため、PVC またはポッドの作成に失敗しました。

PVC を作成するか、PVC をマウントするポッドをデプロイすると、作成またはデプロイメントが失敗します。

PVC の作成が失敗した場合のエラー・メッセージの例:

can't get credentials: can't get secret tsecret-key: secrets "secret-key" not found

ポッドの作成が失敗した場合のエラー・メッセージの例:

persistentvolumeclaim "pvc-3" not found (repeated 3 times)

作成した Kubernetes シークレットがデプロイメント YAML ファイルで正しく参照されていないか、 ibm/ibmc-s3fs タイプに設定されていません。

問題の解決

このタスクには、すべてのプロジェクトに対して、 ライター またはマネージャー IBM Cloud IAM サービスアクセスロールが 必要です。

  1. クラスター内のシークレットをリストして、シークレット・タイプを確認します。 シークレットには、ibm/ibmc-s3fsType として表示される必要があります。

    oc get secrets --all-namespaces
    
  2. シークレットに ibm/ibmc-s3fsタイプとして表示されない場合は、シークレットの再作成します

  3. PVCとポッドのYAML設定ファイルをチェックして、正しいシークレット名を使用したことを確認してください。

  4. シークレットがPVCまたはポッドと同じネームスペースに存在することを確認します。

    oc get secret <secret_name> -n <namespace>
    
  5. シークレット参照を修正したら、PVCまたはポッドを再デプロイし、正常にマウントされることを確認します。

    oc get pvc
    oc get pods