Контейнеры Windows Azure ACS Kubernetes задержали доступ к Интернету

Я использовал портал Azure для создания Azure ACS для контейнеров Windows вчера, 4/19/17. Я обнаружил, что всякий раз, когда я внедряю в него, контейнер не может выйти в Интернет в течение 2-3 минут. Я вошел в один из узлов и вручную создал контейнер из того же изображения, и он сразу же может получить доступ к Интернету.

Одно отличие, которое я вижу, состоит в том, что контейнеры, принадлежащие kubernetes, содержат дополнительную прозрачную сеть, в которой простой докерный контейнер имеет только сеть nat.

Это тестовый код, который я запускаю

 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

Кто-нибудь знает, что может быть причиной задержки доступа в интернет из контейнера?

1 ответ

Решение

Это известная проблема, которая отслеживается здесь: https://github.com/Azure/acs-engine/issues/519. Мы тестируем исправление для этой проблемы здесь, но скоро интегрируем в ACS-движок: https://github.com/JiangtianLi/acs-engine/commits/jiangtli-winnat.

Другие вопросы по тегам