2017-04-20 7 views
0

Ich habe das Azure-Portal verwendet, um eine Azure ACS für Windows-Container gestern 19.04.2017 zu erstellen. Ich finde, dass der Container, wenn ich ihn verwende, das Internet für 2-3 Minuten nicht erreichen kann. Ich habe mich an einem der Knoten angemeldet und manuell einen Container vom selben Image erstellt und es kann sofort auf das Internet zugreifen.Azure ACS Kubernetes Windows Container verzögerten Zugriff auf das Internet

Ein Unterschied, den ich sehe, ist, dass die Kubernetes-eigenen Container ein zusätzliches transparentNet enthalten, wo der einfache Docker-Container nur ein NAT-Netzwerk hat.

Dies ist der Testcode ich

laufen
static void Main(string[] args) 
    { 
     var connectedStopWatch = new Stopwatch(); 
     var disconnectedStopWatch = new Stopwatch(); 
     while (true) 
     { 
      try 
      { 
       using (var wc = new WebClient()) 
       { 
        wc.DownloadString("http://google.com"); 
        connectedStopWatch.Start(); 
       } 
       Console.WriteLine($"Connected for {connectedStopWatch.ElapsedMilliseconds} ms"); 
      } 
      catch (WebException e) 
      { 
       connectedStopWatch.Stop(); 
       disconnectedStopWatch.Start(); 
       Console.WriteLine($"Disconnected for {disconnectedStopWatch.ElapsedMilliseconds} ms"); 
      } 
      Thread.Sleep(5000); 
     } 
    } 

Dockerfile

FROM microsoft/windowsservercore 
COPY ConnectionTest.exe/
ENTRYPOINT ConnectionTest.exe 

Wer weiß, was die Verzögerung verursachen könnte das Internet aus dem Behälter in den Zugriff?

+0

Azure benötigt eine Weile, um die erforderlichen Artefakte einzurichten und zu verteilen, die Sie nicht verwenden, wenn Sie den Container einfach mit Docker starten. –

+0

irgendeine Idee, was diese Artefakte sein würden oder ob es eine Möglichkeit gibt zu sehen, worauf ich warte? Der Cluster selbst läuft seit über einem Tag. –

+0

Beim Start Typ kubectl beschreiben, um zu sehen, welche Ressourcen es zuweist. Dort werden auch Verzögerungen angezeigt. –

Antwort

0

Dies ist ein bekanntes Problem, das hier verfolgt wird: https://github.com/Azure/acs-engine/issues/519. Wir testen hier eine Lösung für dieses Problem, werden aber bald in acs-engine integrieren: https://github.com/JiangtianLi/acs-engine/commits/jiangtli-winnat.

+0

Dieser Fehler scheint immer noch zu existieren. Ich habe einen brandneuen ACS-Windows-Cluster und sehe Verzögerungen bei der ausgehenden Verbindung von meinen Container-Apps. Ich sehe auch regelmäßige Unterbrechungen in Verbindung mit Timeouts oder "System.Net.Http.WinHttpException: der Server-Name oder die Adresse konnte nicht aufgelöst werden". Wie sollte diese Art von Fehler gemeldet werden? – BrettRobi

Verwandte Themen