クラスタマスターのアップグレードに関する問題の解決:「移行中」エラー

IBM Cloud で発生する「 Cannot complete cluster master upgrade because there is a migration in progress 」エラーのトラブルシューティングと解決方法について学びましょう。

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

マスターのアップグレード中に以下のエラー・メッセージが表示されます。

Cannot complete cluster master upgrade because there is a migration in progress

クラスター・マスターをアップグレードしようとしていますが、一部のリソースが以前の更新からまだマイグレーション中でした。

たとえば、これが IBM Cloud Kubernetes Service バージョン 1.31 から 1.32 へのマスター更新であった場合、Tigera Operatorは、以前の IBM Cloud Kubernetes Service バージョン 1.30 から 1.31 への更新からの移行をまだ完了していません。

この問題を解決するには、最初に待機する時間を長くしてください。 クラスターが大きいほど、マイグレーションの完了に時間がかかります。 マイグレーションが完了するまで、マスターが正常に更新された後、ノードごとに約 100 秒かかります。 複数のアクションを実行するには、タイガラ・オペレーターが必要であり、ノード間でポッドのスピンアップとスピンダウンを行うことができます。

しかし、マイグレーションが滞っている可能性があります。 calico-typha ポッドと calico-node ポッドが kube-system 名前空間から削除され、 calico-system 名前空間に作成されたかどうかを確認します。 それらのリソースが移動されていない場合は、1 つ以上のワーカー・ノードに問題がある可能性があります。

マイグレーションのトラブルシューティングを行うには、以下の手順

  1. ワーカー・ノードの状況を確認します。

    kubectl get nodes
    

    NotReady 状態や SchedulingDisabled 状態など、 Ready 状態ではないワーカー・ノードが表示される場合、マイグレーションが停止している可能性があります。

    NotReady 次に例を示します。

    NAME            STATUS   ROLES    AGE    VERSION
    10.177.112.32   NotReady <none>   2d2h   v1.30.0+IKS
    10.177.112.50   Ready    <none>   2d2h   v1.30.0+IKS
    10.177.112.52   Ready    <none>   2d2h   v1.30.0+IKS
    

    SchedulingDisabled 次に例を示します。

    NAME             STATUS                     ROLES    AGE   VERSION
    10.177.112.32   Ready,SchedulingDisabled   <none>   95m   v1.30.0+IKS
    10.177.112.50   Ready                      <none>   95m   v1.30.0+IKS
    10.177.112.52   Ready                      <none>   95m   v1.30.0+IKS
    
  2. 問題のワーカー・ノードの場合は、 リブート または 再ロード します。

結果:

ワーカー・ノードが正常である場合、 calico-typha ポッドと calico-node ポッドは、 kube-system 名前空間でのスケールダウンと calico-system 名前空間でのスケールアップを再開できます。

マイグレーションの完了を確認するには、以下のようにします。

  1. calico-typha デプロイメントが kube-system 名前空間に存在しなくなっていることを確認します。

    kubectl get deployment calico-typha -n kube-system
    

    結果:

    Error from server (NotFound): deployments.apps "calico-typha" not found
    
  2. projectcalico.org/operator-node-migration ラベルを持つノードがないことを確認します。

    kubectl get nodes -l projectcalico.org/operator-node-migration
    

    結果:

    No resources found
    
  3. それでもマイグレーションが停止する場合は、問題のあるノードを 置換 または 削除 してください。 詳しくは、 ワーカー・ノードのデバッグ を参照してください。

マイグレーションが完了したことを確認したら、 IBM Cloud Kubernetes Service バージョン 1.30へのマスターの更新に進みます。