私の質問(MSおよび他の人)は、この問題が発生している理由と、Microsoftサポートではなくユーザー/顧客自身がどのような回避策を実装できるのですか?
この問題に関して、明らかに「いくつかの」他の質問がありました。
そして、AKSリポジトリに投稿された複数のGitHubの問題:
さらに、いくつかのTwitterスレッド:
現在の最良の解決策は、ヘルプチケットを投稿して待機するか、AKSクラスターを再作成することです(複数回、指を交差させて、以下を参照してください)。 少なくとも、サポート層に関係なく、AKSをプレビューして、この特定の問題のサポートリクエストの重大度をアップグレードできるようにしてください。
クラスターのスケーリングを試すこともできます(アプリが破損しないことを前提としています)。
上記のGitHubの問題の多くは解決済みとしてクローズされていますが、問題は解決しません。以前は、問題に関するアナウンスドキュメントがありましたが、問題が引き続き発生している場合でも、そのようなステータスの更新は現在利用できません。
他の場所では見たことのないいくつかの新しい情報があるので、これを投稿しています。この問題を回避するためのその他の潜在的なオプションについて、誰かがアイデアを持っているかどうか疑問に思っています。
他の場所で言及されていない最初の部分は、上記のKubectlの「サーバーに接続できません:net/http:TLSハンドシェイクタイムアウト」問題の影響を受けているノード/ vms /インスタンスのリソース使用量です。
影響を受けるクラスター上のノードは次のようになります。
使用率とネットワークioの低下は、ディスク使用率の増加と、問題が発生し始めた期間の両方と強く相関しています。
全体のNode/VM使用率は、実稼働サイトのトラフィック/更新のプッシュなどに関連するいくつかのバンプを伴う、過去30日間のこのチャートの前は一般にフラットです。
上記のポイントまで、同じメトリックをNodeスケールアップしてからダウンした後)(これはたまたま問題を軽減しましたが、常に機能するとは限りません—下部の回答をご覧ください):
CPUとネットワークの「ディップ」に注意してください?ここで、Net/http:TLSの問題が影響を受けましたus — AKSサーバーがKubectlから到達不能であったとき。リクエストに応答しないことに加えて、VM/Node=.
戻るとすぐに(#ノードを1つずつ拡大し、縮小します-回避策の回答を参照)、メトリック(CPUなど)が通常に戻りました-そして、Kubectlから接続できました。これはおそらく、この動作からアラームを作成できることを意味します(そして、Azure DevOps側でこれについて質問する際に問題があります: https://github.com/Azure/AKS/issues/416 )
GitHubのZimmergrenは、ベアボーンを小さなノードで実行するよりも、大きなインスタンスで問題が少ないことを示しています。これは理にかなっており、AKSサーバーがワークロードを分割する方法(次のセクションを参照)がインスタンスのサイズに基づいていることを示している可能性があります。
「ノードのサイズ(例:D2、A4など):) A4以上を実行しているとき、A2を実行している場合よりもクラスターのほうが健全であることがわかりました。残念ながら、サイズの組み合わせやクラスター障害の経験があります)。 ( https://github.com/Azure/AKS/issues/268#issuecomment-375715435 )
その他のクラスターサイズの影響の参照:
より小さなクラスターを担当するAKSサーバーは、より頻繁にヒットする可能性がありますか?
私が他の場所で言及していない次のことは、同じリージョンで複数のクラスターを並べて実行できるという事実です。この場合、1つのクラスター(この場合は本番用)が「net/http:TLSハンドシェイクタイムアウト」でヒットしますもう1つは正常に機能しており、Kubectlを介して通常どおり接続できます(この場合、これは同じステージング環境です)。
ユーザー(上記のZimmergrenなど)は、Nodeサイズがこの問題があなたに影響を与える可能性に影響を与えると感じているようです。また、ノードサイズがサブリージョンの方法に関連している可能性を示しているようです責任はサブリージョンのAKS管理サーバーに割り当てられます。
つまり、異なるクラスターサイズでクラスターを再作成すると、別の管理サーバーに移動する可能性が高くなり、問題が軽減され、複数の再作成が必要になる可能性が低くなります。
AKSクラスターはどちらも米国東部にあります。上記の「生産」クラスターメトリックへの参照として、「ステージング」クラスター(米国東部)のリソース使用率にCPU /ネットワークの大幅な低下はありませんIO — AND増加はありません同じ期間のディスクなどで:
両方のクラスターが同一のイングレス、サービス、ポッド、コンテナーを実行しているため、ユーザーが行っていることによってこの問題が発生することはほとんどありません。
上記の複数のAKS管理サーバーのサブリージョンの責任は、githubで他のユーザーによって記述された動作で意味があります( https://github.com/Azure/AKS/issues/112 )他の人が再作成してもまだ問題がある間に、クラスタを再作成することができます(その後、連絡することができます)。
緊急の場合(つまり、生産サイト...私たちのもののように...管理する必要があります)、次のことができます[〜#〜]おそらく[〜#〜] 別のAKS管理サーバーインスタンス(影響を受けていないインスタンス)にたまたま動作するクラスターを取得するまで再作成しますが、これは発生しない可能性があることに注意してください初めての試み— AKSクラスターの再作成は正確ではありません。
とはいえ...
影響を受けるVMのコンテナ/イングレス/リソースはすべて正常に動作しているようで、稼働時間/リソースの監視(リストされている使用率の異常以外は)上記のグラフ)
この問題が発生する理由と、Microsoftサポート(現在チケットを持っている)ではなく、ユーザー自身がどの回避策を実装できるかを知りたい。アイデアがあれば教えてください。
Azure AKSがプレビュー中であり、この問題のために多くの人がGKEに移行していることを理解しています()。これまでのところ、私のAzureエクスペリエンスはこれまでのところポジティブであり、可能な限りソリューションを提供したいと考えています。
また... GKEは時折同様の問題に直面します。
GKE上のノードをスケーリングすることで問題が解決するかどうかを確認したいと思います。
テストするための興味深いソリューション(私のために働いた)は、クラスター内のノードの数をスケールアップしてからダウンします...
別の方法として、コマンドラインからこれを行うことができます(おそらく)。
az aks scale --name <name-of-cluster> --node-count <new-number-of-nodes> --resource-group <name-of-cluster-resource-group>
それは厄介な問題であり、Webインターフェイスを使用したため、上記が同一であるか機能するかはわかりません
合計で約2分かかりました。クラスターを再作成/構成するよりもはるかに優れた状況の場合(場合によっては複数回...)
Zimmergrenは、スケーリングは真のソリューションではないという良い点をいくつか挙げています。
「クラスターがスケーリング後に一定期間自己修復した場合は時々機能しました。同じエラーで失敗することもありました。この問題に対するソリューションのスケーリングは考えていません。 GAワークロードについては、そのルーチンを信頼しません。確かにそうです。現在のプレビューでは、それは少しワイルドな西(そして予想)であり、クラスターを爆破して、これが継続的に失敗する場合、新しいものを作成します。」( https://github.com/Azure/AKS/issues/268#issuecomment-395299308 )
上記のスケーリングソリューションに出会ったときにサポートチケットを開いていたので、上記の動作についてフィードバック(または推測)を得ることができました。
「ノードの数が「az aks show」と「kubectl get nodes」の間で一致しない状態になった場合、クラスターのスケーリングが役立つ場合があることを知っています。これは似ている可能性があります。」
回避策の参照:
これで問題が解決しない場合は、以下のコメントを投稿してください。問題が発生する頻度、それ自体が解決するかどうか、このソリューションがAzure AKSユーザー全体で機能するかどうかの最新リストを維持しようとするためです。それは皆のために機能しないように)。
ユーザーのスケールアップ/ダウンDID
スケールアップ/ダウンDID
それでもこの問題に悩まされている場合は、aks-help @ service.Microsoft.comにメールを送信してください。
上記の試みが機能しない場合、これがAzureサポートの公式ソリューションであるため、別の回答を追加します。私はしばらくこの問題を経験していないので、これを確認することはできませんが、それは私にとって理にかなっているようです(以前の経験に基づいて)。
このクレジット/ここにあるスレッド全体( https://github.com/Azure/AKS/issues/14#issuecomment-42482869 )
この特定の回避策は、[〜#〜]おそらく[〜#〜]自動化できると思います(確かにAzure側ですが、おそらくコミュニティ側)。
それでもこの問題に悩まされている場合は、aks-help @ service.Microsoft.comにメールを送信してください。
覚えておく必要がある詳細があるため、これを追加しています。元の質問で触れましたが、それは長くなりましたので、ここで再作成に関する特定の詳細を追加しています。
上記の私の最初の質問では、特定のAzureリージョンの責任を分割する複数のAKS Serverインスタンスがあります(考えています)。これらの一部またはすべてがこのバグの影響を受け、Kubectlを介してクラスターに到達できなくなる可能性があります。
つまり、クラスターを再作成し、同じAKSサーバーに何らかの方法で到達すると、おそらく新しいクラスターは[〜#〜] also [〜#〜]到達可能でなくて...
おそらく複数回再作成すると、最終的に他のAKSサーバーのいずれかに新しいクラスターを着陸させることになります(正常に機能しています)。私が知る限り、すべてのAKSサーバーがこの問題に一度に(もしあれば)打撃を受けるという兆候は見られません。
ピンチ状態にあり、再作成が別のAKS管理サーバーに到達する可能性が最も高い(これを確認していません) —新しいクラスターを作成するときに、異なるNodeサイズを選択します(上記の最初の質問のNodeサイズセクションを参照)。
このチケットを開き、Azure DevOpsにNodeサイズが実際にどのクラスターがどのAKS管理サーバーによって管理されるかを決定することに関連するかどうかを尋ねます: https://github.com/ Azure/AKS/issues/416
問題がときどき解決して消えてしまうことを示すユーザーが多いため、サポートが問題のあるAKSサーバーを実際に修正すると推測するのは合理的だと思います(他のユーザーのクラスターが修正される可能性があります-'Self Heal ')個々のユーザーのクラスターを修正するのではなく。
私にとって、上記は同じ問題を経験している他のユーザークラスターを修正するので、おそらくチケットを作成することはおそらく良いことを意味します。これは、この特定の問題のサポート問題の重大度エスカレーションを許可するための引数かもしれません。
これは、Azureサポートがまだ問題を完全に警告する方法をまだ理解していないことを示す適切な指標でもあると思います。その場合、サポートチケットの作成もその目的に役立ちます。
また、Azure DevOpsに、問題について警告するかどうかを尋ねました(CPUとネットワークIOメトリックの変更)に基づいて問題を簡単に視覚化した経験に基づいて: https:// github.com/Azure/AKS/issues/416
NOT(返事がない)の場合は、クラスタを再作成する予定であってもチケットを作成するのは理にかなっています。 Azure DevOpsに、そのクラスター管理サーバー上の他のユーザーの修正につながる問題を認識させます。
私はこれに追加します(フィードバック/アイデアは大歓迎です)
クラスターの1つでこの問題が発生しました。サポートチケットを送信し、5分後にエンジニアがコールして、APIサーバーを再起動してもよいかどうかを尋ねました。 2分後、再び機能しました。
理由は、メッセージングキューのタイムアウトに関するものでした。