すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:エッジノードの問題を診断する

最終更新日:Nov 17, 2024

エッジノードを管理するときに、接続やアップグレードの失敗などの問題が発生する可能性があります。 このトピックでは、エッジノードに関するよくある質問に対する回答を示します。

エッジノード接続の障害を処理する方法?

スクリプトの実行失敗に対処する方法を次の表に示します。 次の表に問題が記載されていない場合は、ノードの診断情報を収集して

チケットを起票してサポートセンターにお問い合わせくださいしてサポートセンターにお問い合わせください。 エッジノードの診断情報を収集する方法の詳細については、ACK Edgeクラスター内のノードに関する診断情報を収集するにはどうすればよいですか。 このトピックのセクション。

エラーメッセージ

原因の失敗

推奨ソリューション

os XXXのサポート解除

エッジノードのオペレーティングシステムバージョンはサポートされていません。

サポートされているオペレーティングシステムのバージョンの詳細については、「エッジノードの追加」をご参照ください。

無効なnodeName

ノード名が無効です。

  • ノード名には、小文字、ハイフン (-) 、およびピリオド (.) を使用できます。

  • ノード名は1 ~ 253文字である必要があります。

  • ノード名をlocalhostで始めることはできません。

ノードルートがサービスcidrと重複する

ノードのルートが、クラスターのポッドCIDRブロックまたはサービスCIDRブロックと競合します。

クラスターを再作成し、ポッドCIDRブロックまたはサービスCIDRブロックを再構成します。 これらのCIDRブロックがノードのNameServerアドレスおよびルートと競合しないようにしてください。

レスポンスエラーmsg: TOKEN_EXPIRED

ノードをクラウドに接続するためのトークンの有効期限が切れました。

  • ノードをクラウドに接続するための別のスクリプトを生成します。

  • ノードのシステムクロックが正常かどうかを確認します。

XXXという名前のノードが既にクラスタに存在している

この名前のノードはすでにクラスターに存在します。

同じ名前の既存のノードをクラスターから削除します。

エラー実行フェーズjoin-node: failed to get cluster info: failed to get cluster-info configmap, Get "https:// xx.xxx.xx.xx:6443/api/v1/namespaces/kube-public/configmaps/cluster-info": tcp. xxx.xx.xx:6443: i/oタイムアウト

クラスター情報の取得に失敗しました。

edgeadmがエッジノードに接続する場合、edgeadmはIPアドレスを使用してAPIサーバーにアクセスする必要があります。 APIサーバーのSLBインスタンスに設定されたアクセス制御リスト (ACL) ルールがIPアドレスをブロックしているかどうかを確認します。

エラー実行フェーズの参加ノード: エッジハブのインストールに失敗しました: ファイル /tmp/edge-hubを /usr/bin/edge-hubにコピー失敗: オープン /usr/bin/edge-hub: テキストファイル使用中 | 40009 | 40009

ノード上に既にedge-hubのバイナリファイルが存在するため、edge-hubのインストールに失敗しました。

edgeadm resetコマンドを実行してノード上のデータをクリアし、ノード接続スクリプトを再度実行します。

エラー実行フェーズのポストチェック: 条件を待ってタイムアウト

システムコンポーネントの起動に失敗しました。

  1. edgeadmツールを再度ダウンロードし、edgeadm resetコマンドを実行してツールを再インストールします。 edgeadmの最新バージョンが使用されていることを確認してください。

  2. エッジノードが関連するパブリックアドレスに期待どおりにアクセスできるかどうかを確認します。 パブリックアドレスの詳細については、「エッジノードのエンドポイントとIPルーティングの設定」をご参照ください。

  3. ノードとに関する診断情報を収集する

    チケットを起票してください。 診断情報を収集する方法の詳細については、ACK Edgeクラスター内のノードに関する診断情報を収集するにはどうすればよいですか。 このトピックのセクション。

ACK edgeクラスターをアップグレードするときにエッジノードのアップグレードに失敗した場合はどうすればよいですか。

エッジノードプールの更新時に、[このノードはアップグレードに成功しました] メッセージが返されない場合は、次の表に示すソリューションを参照して問題のトラブルシューティングを行います。

エラーメッセージ

原因の失敗

推奨ソリューション

edgeadmバージョンxxxxがクラスターバージョンと一致しない

アップグレードツールのバージョンがクラスターのバージョンと一致していません。

  1. クラスターの制御プレーンがアップグレードされているかどうかを確認します。

  2. TARGET_CLUSTER_VERSIONパラメーターが正しく指定されているかどうかを確認します。

ノードはすでにxxxにアップグレードされています

ノードのバージョンは、既に所望のバージョンに更新されている。

ノード上の特定のコンポーネントがアップグレードされていない場合は、ログとを保持します。

サポートのためにチケットを起票してください。

kubeletターゲットバージョンxxxxがクラスターバージョンxxxxと一致しません

kubeletのバージョンがクラスターの制御プレーンのバージョンと一致していません。

  1. kubelet-versionパラメーターが指定されている場合は、パラメーターの値がクラスターのコントロールプレーンのバージョンと一致しているかどうかを確認します。

  2. このパラメーターが空の場合、

    サポートのためにチケットを起票してください。

パラメーターcurrentVersion cann't null

edgeadmの以前のバージョンが使用されます。

  1. 最新バージョンのedgeadmが使用されているか確認してください。

  2. クラスターをKubernetes 1.18から1.20に、またはKubernetes 1.20から1.22に更新できます。

アップグレードkubeletはフェーズインストールで失敗し、以前の状態に回復します。

エラー実行フェーズのアップグレード: xxxx

クラスターのアップグレードに失敗し、以前の状態に自動的にロールバックされました。 ノードのステータスは影響を受けません。

ログとを保持する

サポートのためにチケットを起票してください。

フェーズインストールでkubeletのアップグレードに失敗し、以前の状態に回復

回復kubelet失敗, err: xxx

エラー実行フェーズのアップグレード: xxxx

クラスターのアップグレードに失敗し、以前の状態に自動的にロールバックされました。 ノードのステータスが影響を受けます。

ログとを保持する

サポートのためにチケットを起票してください。

ACK Edgeクラスター内のノードに関する診断情報を収集するにはどうすればよいですか。

ACK Edgeクラスター内のノードで例外が発生した場合は、次の手順を実行して、データ分析のためにノードに関する診断情報を収集します。

  1. ACK Edgeクラスターの異常なノードにログインします。

  2. 次のコマンドを実行して、診断スクリプトをダウンロードします。

    curl -o /usr/local/bin/diagnose_edge_node.sh https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/diagnose/diagnose_k8s.sh
  3. 次のコマンドを実行して、診断スクリプトを実行可能にします。

    chmod u+x /usr/local/bin/diagnose_edge_node.sh
  4. 次のコマンドを実行して、指定したディレクトリに切り替えます。

    cd /usr/local/bin/
  5. 次のコマンドを実行して、診断スクリプトを実行します。

    ./diagnose_edge_node.sh

    期待される出力: 診断スクリプトを実行するたびに、異なる名前のファイルが生成されます。 この例では、ログファイルの名前はdiagnoste_1578310147.tar. gzです。

    ......
    + echo 'please get diagnose_1578310147.tar.gz for diagnostics'
    please get diagnose_1578310147.tar.gz for diagnostics
    + echo 'Submit the file named diagnose_1578310147.tar.gz to request technical support.'
    Submit the file named diagnose_1578310147.tar.gz to request technical support.
  6. llコマンドを実行して、diagnoste_1578310147.tar. gzという名前の診断レポートが存在することを確認します。