3.9. クラスターアップグレーダのトラブルシューティング
セキュアクラスターの従来のインストール方法を使用し、自動更新を有効にするときに問題が発生した場合は、問題のトラブルシューティングを試すことができます。アップグレーダーが失敗すると、クラスタービューに次のエラーが表示されます。
3.9.1. アップグレーダーに権限が足りない
現象
クラスターページに次のエラーが表示されます。
Upgrader failed to execute PreflightStage of the roll-forward workflow: executing stage "Run preflight checks": preflight check "Kubernetes authorization" reported errors. This usually means that access is denied. Have you configured this Secured Cluster for automatically receiving upgrades?"
手順
- Download YAML file and keys をクリックする前に、セキュアクラスターのバンドルが今後のアップグレードを有効にした状態で生成されていることを確認してください。
- 可能であれば、そのセキュアクラスターを削除し、今後のアップグレードが有効になるように新しいバンドルを生成してください。
クラスターを再作成できない場合は、次のアクションを実行できます。
-
サービスアカウント
sensor-upgrader
が Sensor と同じ namespace に存在することを確認します。 -
cluster-admin
ClusterRole をsensors-upgrader
サービスアカウントに付与する ClusterRoleBinding (デフォルト名:<namespace>:upgrade-sensors
) が存在することを確認します。
-
サービスアカウント
3.9.2. イメージがないため、アップグレーダーを開始できない
現象
クラスターページに次のエラーが表示されます。
"Upgrade initialization error: The upgrader pods have trouble pulling the new image: Error pulling image: (...) (<image_reference:tag>: not found)"
手順
-
セキュアクラスターがレジストリーにアクセスし、イメージ
<image_reference:tag>
をプルできることを確認します。 - セキュアクラスターでイメージプルシークレットが正しく設定されていることを確認します。
3.9.3. 不明な理由によりアップグレーダーを起動できない
現象
クラスターページに次のエラーが表示されます。
"Upgrade initialization error: Pod terminated: (Error)"
手順
- アップグレーダーに、クラスターオブジェクトにアクセスする権限があることを確認します。詳細は、「Upgrader is missing permissions」を参照してください。
- 詳細は、アップグレーダーログを確認してください。
3.9.3.1. アップグレーダーログの取得
次のコマンドを実行するとログにアクセスできます。
$ kubectl -n <namespace> logs deploy/sensor-upgrader 1
- 1
<namespace>
には、Sensor が実行されている namespace を指定します。
通常、アップグレーダーのデプロイメントは、アップグレードの実行中にクラスター内で短時間のみ実行されます。これは後で削除されるため、適切なタイミングでオーケストレーター CLI を使用してログにアクセスする必要があります。