Ich habe ein ACS-Windows-Cluster-Setup mit k8s, das im Allgemeinen gut läuft. Ich habe ASP.NET Core Webapi und Worker App Container bereitgestellt. Diese zwei Behälter funktionieren lokal und allgemein in ACS gut. Ich kann sie aus-und zurück skalieren, neue Versionen, etc.Externe Internet-DNS-Auflösungsfehler von Windows-Containern
Sie sind funktional und arbeiten und doch dann plötzlich zu erstellen DNS-Auflösung Fehler beim Versuch, auf externe Internet-Ressourcen zuzugreifen. Ich Ausnahmen zu sehen, darunter:
System.Net.Http.WinHttpException: Der Servername oder Adresse konnte nicht
Die Ressourcen gelöst werden sie versuchen, Entschlossenheit fein zuzugreifen und dann plötzlich höre auf zu lösen. Dann nach einer unbestimmten Zeit (ein paar Minuten, 20 Minuten oder sogar ein paar Stunden, wie es scheint) fangen sie an, sich wieder aufzulösen, ziemlich zeitweise zu löschen. Beachten Sie, dass es sich bei diesen externen Ressourcen um CosmosDB, Azure Queues und einen Logging-Dienst eines Drittanbieters mit dem Namen Loggly handelt (da es sich hierbei um große Web-Eigenschaften handelt, die hier nicht fehlerhaft sind). Beachten Sie auch, dass die beiden Container nicht gleichzeitig DNS verlieren.
Ich habe versucht, ein Befehls-Shell im Innern des Behälter zu öffnen:
kubectl exec -en {podname} - Power
Und dann Powershell mit einer Website zu beantragen:
invoke-webrequest -uri www.google.com -outfile test.txt
Get-Inhaltstest. txt
... und es funktioniert gut, ich kann auf google.com zugreifen. Also habe ich keine Ahnung, wie ich das debuggen soll. Gibt es bekannte Probleme mit k8s bei ACS, die hier auftreten könnten?
Ich habe die gleichen Container auf einem einfachen Server 2016-Host bereitgestellt und sehe das Problem überhaupt nicht. Es scheint sich also entweder um k8s oder den ACS-Cluster selbst zu drehen. Ich habe den ACS-Cluster 4 oder 5 Mal in verschiedenen Regionen (die verschiedene k8s-Versionen verwenden) neu aufgebaut und sehe genau das gleiche Problem.
Dies ist ein großer Blocker für mich. Externer Internetzugang ist offensichtlich sehr einfach und Kernfunktionalität. Meine Webapi und Worker App sind ohne sie komplett kaputt.
Die Vorschläge zu schätzen wissen. Ich werde definitiv keine IP's hart kodieren (Wahnsinn!), Und ehrlich gesagt werde ich DNS auch nicht selbst hosten. Beide treffen mich als Bandaids auf ein viel größeres Problem (und ich schätze den Input!). Ehrlich gesagt, ich brauche die ACS- oder Windows-Container-Jungs, um aufzustehen und zu helfen, oder ich fürchte, ACS könnte für mich zu frisch sein. – BrettRobi