1. はじめにプライベート化された環境では、顧客のネットワークアーキテクチャや使用されるクラウドプラットフォームが異なり、K8S ネットワークでさまざまな問題が発生する可能性があります。この記事では、このような問題のトラブルシューティング方法とアイデアに焦点を当てており、関連するネットワーク基盤技術については説明しません。 環境説明 k8s ネットワーク コンポーネントはデフォルトで flannel を使用するため、ここで説明するクラスター ネットワークはすべて flannel です。ただし、他の CNI コンポーネントを使用している場合でも、トラブルシューティングのアイデアについてはこの記事を参照できます。 2. 異常なシナリオk8s クラスターネットワークが異常かどうかを判断するにはどうすればよいでしょうか?
以下の方法でトラブルシューティングを行うことができます。いずれかのメソッドの結果が予期しないものである場合、k8s クラスター ネットワークに異常があることが確認されます。 トラブルシューティングの手順
以下の手順に従ってください。 ノード名、podcidr、アドレスを照会して出力します。 このコマンドはすべてのノードで実行する必要があります。デプロイメント マシンで ansible を使用して、上記のコマンドで取得した CIDR アドレスを呼び出し、ping 操作を実行できます。 seq はノードの数に応じて設定されます。 上記の結果から、合計 6 つの K8S ノードがあり、サブネットは 172.27.0 ~ 172.27.5 であることがわかります。 次のシェル スクリプトを使用して、ポッド サブネットをテストします。正常に動作した場合は、「up」と印刷されます。 予期しない結果: 特定のノードで固定 ping 例外が発生した場合、対応するノード間の
これはすべてのノードで実行する必要があり、単一のマシン上で Ansible を使用して呼び出すことができます。 ping 操作は第 3 層操作に属します。一部の環境ではpingが禁止されているため、以下のコマンドで確認できます。 HTTP リクエストを使用して、coredns メトリック インターフェースにアクセスします。ステータス コード 200 は通常の動作を示し、ステータス コード 000 はネットワーク障害を示します。 DNS を使用して kubernetes.default アドレスを照会します。戻りがあれば正常ということになります。 予期しない結果: DNS クエリは接続がタイムアウトしたことを報告します。サーバーにアクセスできず、curl は 000 を報告します。どちらもネットワーク異常が発生している可能性があることを示しています。 3. 異常なシナリオ上記の方法でクラスターノードに異常があることを確認したら、次のアイデアを使用して 1 つずつ確認することができます。
用語集:ip_forwardはルーティング転送機能を表します。 0 の場合は無効になります。 1 に設定すると有効になります。 vxlan のクロスレイヤー 3 機能により、クラスター ノードは、ターゲット ホストが自身のものではないデータ パケットを転送する必要があります。 原因: 展開中に、永続的な効果を確保するために、net.ipv4.ip_forward=1 が /etc/sysctl.conf に追加されます。 問題箇所: クラスターを再起動すると、ポッドに異常があり、ネットワークに接続されていないことがわかります。 tcmdump パケット キャプチャにより、フランネル トラフィックが正常であることがわかります。 処理 ローカル マシンのカーネル パラメータを照会し、すべてのノードで実行します。 Ansible を使用して、デプロイメント マシン上で呼び出すことができます。これは読み取り操作であり、安心して実行できます。 sysctl ロード チェーンを印刷すると、関連するカーネル パラメータが変更されるため、実稼働環境では禁止されています (ip_forward が 0 の場合は使用できます)。 ip_forward を 0 に変更したファイルを見つけて、そのファイルを変更し、カーネル パラメータを再ロードします。例外は認められません。
用語集:vxlan は vlan の拡張プロトコルです。第3層ネットワークを貫通して第2層、つまり大規模な第2層ネットワークを拡張できるオーバーレイネットワークです。デフォルトでは、flannel はカプセル化プロトコルとして vxlan を使用し、ポートは 8472 です。 ポート フィールドを追加し、通信ポートを 8475 に変更します。 変更後、関連するデーモンセット ポッドを再起動する必要があります。 ポートの変更が有効にならない場合は、host-gw を使用できます。イントラネット内のノードがレイヤー 2 で相互接続されている場合は、互換性が高くネットワーク効率の高い host-gw モードを使用できます。 問題が見つからない場合は、パケットをキャプチャすることで問題を特定できます。 たとえば、coredns ネットワークにアクセスできない場合は、curl を使用してテストします。 次に、別のウィンドウを開いてパケットをキャプチャします。 ファイアウォールのトラブルシューティング 用語集: ここでのファイアウォールは、Cenots では firewalld、UOS では UFW と呼ばれる Linux ソフトウェア ファイアウォールを指します。デフォルトのソフトウェア ファイアウォールにより、関連するデータベースがブロックされます。 一般的に、ufw、public、zone はおそらくデフォルトのシステム ファイアウォールです。 Centos7 を例に、検出後に手動でシャットダウンします。 iptables FORWARD 転送チェーンは、ACCEPT ルールの上にある REJECT ルールを追加します。 ルールを削除した後は正常に動作します。 一般的なセキュリティ ソフトウェアのトラブルシューティング。 用語集: Windows 環境と同様に、XC の背景には、Qi'anxin、Sangfor など、Linux 用のさまざまなセキュリティ ソフトウェアもあります。 |
<<: クラウドにおけるアプリケーションの依存関係の管理: 戦略とベスト プラクティス
2014年3月31日の朝、目が覚めると、携帯電話でSina.comにログインし、マレーシア航空MH3...
アプリストアが認証およびレビューのプラットフォームになる可能性があると主張する人もいます。一部の A...
ここ数年、クラウド ネイティブのテクノロジーとコンセプトが広く受け入れられるようになりました。急速に...
先月、ウェブマスターがフレンドホスティングを紹介しました。同社がアジア、特に中国でのユーザー拡大を非...
ウェブサイトのプロモーションや検索エンジン最適化 (SEO) を行う場合、キーワードの選択は非常に重...
itldcはどうですか? itldc のスイスのデータセンターの VPS パフォーマンスはどうですか...
安価な VPS は数多くあり、特に安価なアメリカ製 VPS は市場でよく見られます (安価なアメリカ...
海外メディアの報道によると、FacebookがIPOを開始したというニュースが今朝、Facebook...
Java アプリケーションの場合、Java ヒープは仮想マシンによって管理されるメモリの最大の部分で...
ユーザーエクスペリエンスに関して、多くの友人は、高品質のユーザーエクスペリエンスをどのように構築する...
デジタルトランスフォーメーションの加速に伴い、ビジネスの革新と価値向上を実現するために、クラウドコン...
5月27日、2018年中国国際ビッグデータ博覧会の「ARMサーバー産業エコシステム」フォーラムで、国...
12月8日、恒生銀行は「デジタルインテリジェンス、共生、未来」2022恒生金融技術カンファレンスにお...
毎日QQスペースを閲覧するだけの友人が、突然、A5ウェブマスターネットワークSEO診断チームに、新し...
フロリダのホスティングサービスは安いらしいと言われていますが?クリスシックなどの商品もとても安く販売...