Kubernetes トラブルシューティングの実践記録

Kubernetes トラブルシューティングの実践記録

[[434523]]

背景

テスト環境でクラスターアラームを受信したら、Kubernetes クラスターにログインしてトラブルシューティングを行います。

障害箇所

ポッドを表示

kube-system node2 上の calico ポッドに異常がないか確認します。

詳細情報を確認すると、node2 にストレージ スペースがなく、cgroup がリークされていることがわかります。

ストレージを表示

サーバーのストレージ情報を表示するには、node2 にログインします。現在はまだ十分なスペースがあります。

クラスターが使用する分散ストレージは Ceph なので、Ceph クラスターのステータスを確認します。

操作する

Ceph の修正

現在、Ceph クラスターに異常があり、ノード 2 の cgroup リークが発生している可能性があります。Ceph クラスターを手動で修復します。

データの不整合とは、オブジェクトのサイズが正しくないか、回復後にレプリカでオブジェクトが失われることを意味します。データの不整合によりスクラブ エラーが発生する可能性があります。

Ceph の保存プロセス中に、特別な理由により、オブジェクト情報のサイズが物理ディスク上の実際のサイズデータと一致しない場合があり、クリーンアップが失敗する可能性もあります。

データの不整合とは、オブジェクトのサイズが正しくないか、回復後にレプリカでオブジェクトが失われることを意味します。データの不整合によりスクラブ エラーが発生する可能性があります。

Ceph の保存プロセス中に、特別な理由により、オブジェクト情報のサイズが物理ディスク上の実際のサイズデータと一致しない場合があり、クリーンアップが失敗する可能性もあります。

図からわかるように、ページ番号 1.7c に問題があり、修復する必要があります。

ページの修正:

  1. ceph pg 修復 1.7c

修復後、しばらく待ってから再度確認し、Ceph クラスターが修復されたことを確認します。

ポッドの修復の実行

異常なポッドを削除します。コントローラーが存在するため、最新の Pod が再度プルアップされます。

ポッドを確認すると、以前と同じです。分析の結果、ノード 2 の cgroup が Ceph の異常によりリークされている可能性があることがわかりました。オンラインで検索して再コンパイルします。

Google で検索してみたところ、問題は基本的に https://github.com/rootsongjc/kubernetes-handbook/issues/313 にある問題と同じであることがわかりました。可能性のある存在は次のとおりです。

  • Kubelet ホストの Linux カーネルが低すぎます - Linux バージョン 3.10.0-862.el7.x86_64
  • これはkmemを無効にすることで解決できます

システムカーネルを確認すると、バージョンが低いことがわかります。

断層の再配置

最後に、runc ロジックはコンテナの起動時にコンテナの kmem アカウンティングをデフォルトでオンにするため、3.10 カーネルでリークが発生する可能性があります。

ここで問題を解決するには、スペースが残っていない状態でサーバーを再起動する必要があります。この問題は、一定期間内に大量の Pod を削除すると発生する可能性があります。

最初のアイデアは、将来のクラスター管理の概要では、ノードを削除してノードを再起動することでサーバーを修復できるというものです。

ノード2のメンテナンス

ノード2をスケジュール不可としてマークする

  1. kubectl コルドン node02

ノード2のポッドを削除する

  1. kubectl ドレイン node02 --delete-local-data --ignore-daemonsets --force  
  • --delete-local-data ローカルデータを削除します。emptyDir も削除されます。
  • --ignore-daemonsets DeamonSet を無視します。そうでない場合、DeamonSet は削除後に自動的に再構築されます。
  • --force force パラメータがない場合、ノード上の ReplicationController、ReplicaSet、DaemonSet、StatefulSet、または Job のみが削除されます。 force パラメータを使用すると、すべての Pod が削除されます。

現在、基本ノード2のすべてのPodは削除されています。

デフォルトの移行と異なるのは、Pod が終了する前に再構築されることです。このときのサービス中断時間 = 再構築時間 + サービス起動時間 + 準備プローブ検出正常時間。 1/1 にサービスが正常に実行されるまでお待ちください。そのため、単一のコピーで移行する場合、サービスの終了は避けられません。

ノード02を再起動

再起動後、node02は修復されました。

node02を復元します。

node02 を復元し、通常どおりスケジュールします。

  1. kubectl の uncordon node02

反射

デプロイされた Kubernetes クラスターのカーネルは後でアップグレードできます。

クラスター内の Pod 例外は、基盤となるストレージまたはその他の理由によって発生する可能性があります。問題を特定し、的を絞って修正する必要があります。

オリジナルリンク: https://juejin.cn/post/6969571897659015205

<<:  今後 10 年間のクラウド コンピューティングの発展には何が期待できるでしょうか?

>>:  エッジコンピューティングは5Gの真の可能性を引き出す鍵

推薦する

ハイブリッドクラウドへの適応、Huolala のデータベースミドルウェア構築への道

リン・ジンJAVAテクノロジーエキスパートLalamove Technology Center のコ...

検討に値するオープンソースのクラウド プラットフォームとツール

多くのクラウド戦略は、独自のプラットフォームとサービスに完全に依存しています。たとえば、現在、AWS...

交通銀行が人工知能+金融のイノベーションを加速するためにInspur AIStationを採用

近い将来、人工知能が銀行業務のやり方を変える可能性があるとすれば、Inspur AIStation ...

2020年上半期のクラウド運用サービス市場規模は100.8億元

12月23日、国際データコーポレーション(IDC)がこのほど発表した「中国クラウド運用サービス市場(...

lisahostはどうですか? 3ネットワークCMIラインの香港VPSの詳細テスト

lisahost は香港の VPS サービスを新たに開始しました。公式発表によると、中国電信は発信ト...

shuhost: 香港専用サーバー 234 元、e3-1230/16g メモリ/240gSSD/30M 帯域幅/3 IPv4

shuhostは今から2月29日まで、香港データセンターの独立サーバーに対して大幅割引キャンペーンを...

Semrush、Ahrefs、Moz の 3 つの SEO ツールのうちどれが優れているでしょうか?

私はこれら 3 つのツールをすべて使用しました。Mozは最も古いツールで、 2004 年にリリース...

タイガースニフの徹底分析:成功する製品はどのように作られるか

Huxiu は設立からまだ半年しか経っていないテクノロジーメディアのウェブサイトです。さまざまな角度...

Baiduホームページにおける個人ウェブサイトの長期ランキングについての簡単な議論

自動車業界のウェブサイトのキーワード最適化ソリューションについてですが、自動車業界のキーワードランキ...

エッジ サービスが企業のレジリエンス戦略に不可欠な 5 つの理由

コンピューティングに関して言えば、エッジ コンピューティングが現在の流行語です。これはなぜでしょうか...

クラウド TCO: クラウドの総所有コストを計算する方法

一定量のクラウド コンピューティングとストレージ容量を購入する場合のコストを計算するのは難しくありま...

ネットワークマーケティングを行う企業はアウトソーシングの罠に注意する必要がある

インターネットマーケティングはますます重要になってきており、インターネット上ではマーケティングが至る...

ハイブリッドクラウドのリスクが心配ですか?霧を払いのける5つのヒント

クラウド プラットフォームは運用の回復力と、非常に必要な在宅勤務ツールを提供するため、組織がこの危機...

H3Cと安徽電信が共同でTianyi Security Brainをリリースし、中小企業向けの統合セキュリティSaaSサービスを提供

最近、「アクティブセキュリティと産業エコシステムの構築」をテーマにした2020 HCS合肥サイバーセ...