エッジノードを管理するときに、接続やアップグレードの失敗などの問題が発生する可能性があります。 このトピックでは、エッジノードに関するよくある質問に対する回答を示します。
エッジノード接続の障害を処理する方法?
スクリプトの実行失敗に対処する方法を次の表に示します。 次の表に問題が記載されていない場合は、ノードの診断情報を収集して
チケットを起票してサポートセンターにお問い合わせくださいしてサポートセンターにお問い合わせください。 エッジノードの診断情報を収集する方法の詳細については、ACK Edgeクラスター内のノードに関する診断情報を収集するにはどうすればよいですか。 このトピックのセクション。エラーメッセージ | 原因の失敗 | 推奨ソリューション |
os XXXのサポート解除 | エッジノードのオペレーティングシステムバージョンはサポートされていません。 | サポートされているオペレーティングシステムのバージョンの詳細については、「エッジノードの追加」をご参照ください。 |
無効なnodeName | ノード名が無効です。 |
|
ノードルートがサービス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のインストールに失敗しました。 |
|
エラー実行フェーズのポストチェック: 条件を待ってタイムアウト | システムコンポーネントの起動に失敗しました。 |
|
ACK edgeクラスターをアップグレードするときにエッジノードのアップグレードに失敗した場合はどうすればよいですか。
エッジノードプールの更新時に、[このノードはアップグレードに成功しました]
メッセージが返されない場合は、次の表に示すソリューションを参照して問題のトラブルシューティングを行います。
エラーメッセージ | 原因の失敗 | 推奨ソリューション |
edgeadmバージョンxxxxがクラスターバージョンと一致しない | アップグレードツールのバージョンがクラスターのバージョンと一致していません。 |
|
ノードはすでにxxxにアップグレードされています | ノードのバージョンは、既に所望のバージョンに更新されている。 | ノード上の特定のコンポーネントがアップグレードされていない場合は、ログとを保持します。 サポートのためにチケットを起票してください。 |
kubeletターゲットバージョンxxxxがクラスターバージョンxxxxと一致しません | kubeletのバージョンがクラスターの制御プレーンのバージョンと一致していません。 |
|
パラメーターcurrentVersion cann't null | edgeadmの以前のバージョンが使用されます。 |
|
アップグレードkubeletはフェーズインストールで失敗し、以前の状態に回復します。 エラー実行フェーズのアップグレード: xxxx | クラスターのアップグレードに失敗し、以前の状態に自動的にロールバックされました。 ノードのステータスは影響を受けません。 | ログとを保持する サポートのためにチケットを起票してください。 |
フェーズインストールでkubeletのアップグレードに失敗し、以前の状態に回復 回復kubelet失敗, err: xxx エラー実行フェーズのアップグレード: xxxx | クラスターのアップグレードに失敗し、以前の状態に自動的にロールバックされました。 ノードのステータスが影響を受けます。 | ログとを保持する サポートのためにチケットを起票してください。 |
ACK Edgeクラスター内のノードに関する診断情報を収集するにはどうすればよいですか。
ACK Edgeクラスター内のノードで例外が発生した場合は、次の手順を実行して、データ分析のためにノードに関する診断情報を収集します。
ACK Edgeクラスターの異常なノードにログインします。
次のコマンドを実行して、診断スクリプトをダウンロードします。
curl -o /usr/local/bin/diagnose_edge_node.sh https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/diagnose/diagnose_k8s.sh
次のコマンドを実行して、診断スクリプトを実行可能にします。
chmod u+x /usr/local/bin/diagnose_edge_node.sh
次のコマンドを実行して、指定したディレクトリに切り替えます。
cd /usr/local/bin/
次のコマンドを実行して、診断スクリプトを実行します。
./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.
ll
コマンドを実行して、diagnoste_1578310147.tar. gz
という名前の診断レポートが存在することを確認します。