私は、一般的にうまく動作しているk8sを使用してACS Windowsクラスタセットアップを取得しました。私はASP.NET Core webapiとワーカーアプリケーションコンテナを導入しました。これらの2つのコンテナは、ACSでもローカルで正常に動作します。Windowsコンテナからの外部インターネットDNS解決失敗
これらは機能していても機能していますが、外部のインターネットリソースにアクセスしようとすると突然DNS解決エラーが発生することがあります。私は、例外を見ている:
System.Net.Http.WinHttpException:サーバー名またはアドレスは は突然、彼らは罰金解決にアクセスしようとしている
リソースを解決し、することができませんでした解決を止める。その後、不確定な時間(数分、20分、またはそれも数時間後)が再開し、間欠的にクリアされます。これらの外部リソースは、CosmosDB、Azure Queue、Logglyと呼ばれるサードパーティのロギングサービスです(これらはすべて大きなWebプロパティであり、ここでは問題はないことを指摘してください)。また、2つのコンテナが必ずしも同時にDNSを失うわけではないことに注意してください。
Iは、容器内のコマンドシェルを開いてみた:
kubectl EXEC -it {podname} - PowerShellの
そしてサイト要求するPowerShellを使用して:
をinvoke-webrequest -uri www.google.com -outfile test.txt
取得コンテンツテスト。 txt
...うまくいき、google.comにアクセスできます。だから私はこれをどのようにデバッグするのか分かりません。 ACSにk8の既知の問題がありますか?
単純なServer 2016ホストに同じコンテナを配備しても、問題はまったく見られません。だから、それはk8sかACSクラスター自体の周りを回っているようです。私は異なる地域(異なるk8バージョンを使用する)で4〜5回ACSクラスターを再構築して、まったく同じ問題を見ています。
これは私の主なブロッカーです。外部のインターネットアクセスは、明らかに非常に基本的でコアな機能です。私のwebapiとワーカーアプリは、それなしで完全に壊れています。
提案に感謝します。私は確かにIP(ハードのコード)をハードコーディングするつもりはないし、正直言って私は自分でDNSをホストするつもりはない。どちらも私をより大きな問題に悩まされています(また、私は入力を感謝します)。率直に言えば、ACSやWindowsコンテナの人が手助けをする必要があります。あるいは、ACSが私にとってあまりにも早すぎるかもしれません。 – BrettRobi