Как запустить контейнеры Windows на локальных Kubernetes? - PullRequest
0 голосов
/ 15 мая 2019

У меня есть .Net Framework и .NetCore Containers, и я хотел бы запустить их в Kubernetes. У меня установлен Docker Desktop для Windows и Kubernetes с ним. Как я могу запустить эти контейнеры Windows в Kubernetes? В этой документации указано, как создать узел Windows в Kubernetes, но это очень запутанно. Я нахожусь на машине с Windows и вижу там команды, основанные на Linux (и не упоминание о том, какая ОС вам нужна для запуска всех этих систем). Я на Windows 10 Pro Machine. Есть ли способ запустить эти контейнеры в Kubernetes?

Когда я пытаюсь создать модуль с контейнерами Windows, происходит сбой со следующим сообщением об ошибке "Не удалось получить изображение 'imagename'; ошибка rpc: code = Unknown desc = Образ операционной системы 'windows' не может использоваться на этой платформе «

1 Ответ

0 голосов
/ 16 мая 2019

Добро пожаловать в StackOverflow Srinath

Насколько мне известно, вы не можете запускать контейнеры Windows в локальной версии Kubernetes в данный момент. Когда вы включаете опцию Kubernetes в вашей установке Docker Desktop для Windows, кластер Kubernetes просто запускается внутри виртуальной машины Linux (только с собственными контейнерами Docker Runtime для Linux) на гипервизоре Hyper-V.

Другое решение для вас - это использовать, например, управляемую версию Kubernetes с узлами Windows от любого из популярных облачных провайдеров. Я думаю, что сравнительно легко запустить Azure (если у вас нет подписки Azure, создайте бесплатную пробную учетную запись, действительную в течение 12 месяцев).

Я бы предложил вам использовать старый способ запуска Kubernetes в Azure, службе, называемой службой контейнеров Azure, или ACS, по одной причине я убедился, что она хорошо работает с контейнерами Windows, особенно в целях тестирования ( Я не смог добиться того же с его преемником, названным AKS ):

Выполните следующие команды в Azure Cloud Shell, и ваш кластер будет готов к использованию через несколько минут.

az group create --name azEvalRG --location eastus
az acs create -g azEvalRG -n k8s-based-win -d k8s-based-win --windows --agent-count 1 -u azureuser --admin-password 'YourSecretPwd1234$' -t kubernetes --location eastus
...