Извлечь изображение из и подключиться к кластеру ACS Engine Kubernetes
Для моей текущей среды я создал один материал и несколько агентов (контейнеры Windows). Здесь возникают вопросы:
Когда ssh в мастер, я пытался вытащить изображение, но оказалось, что не удалось с этим явлением. Могу ли я узнать, как я могу успешно вытащить изображение?
azureuser@k8s-master-0000000-0:~$ docker pull microsoft/iis Using default tag: latest latest: Pulling from microsoft/iis 3889bb8d808b: Retrying in 1 second e29afd68a947: Downloading 4c670d580638: Download complete d9f92ede2908: Download complete ad1e133a7ea1: Download complete e0a8179d5f31: Download complete unknown blob
Какие шаги необходимы для подключения к узлу Windows??
1 ответ
Могу ли я узнать, как можно успешно вытащить изображение?
Вы используете docker в командной строке Linux, чтобы получить образ Windows. Как известно, контейнеры про Linux и Windows разные. Проблема в том, что вы не используете сервер как windows/amd, поэтому система вернется unknown blob
,
Согласно вашему описанию, вы развернули ACS в Azure с узлами Windows. Kubernetes - это инструмент, который используется для управления контейнерами, поэтому мы можем использовать k8 для развертывания IIS на узлах Windows.
1.Create iis.json
файл, как это:
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "iis",
"labels": {
"name": "iis"
}
},
"spec": {
"containers": [
{
"name": "iis",
"image": "nanoserver/iis",
"ports": [
{
"containerPort": 80
}
]
}
],
"nodeSelector": {
"beta.kubernetes.io/os": "windows"
}
}
}
2.Use kubctl apply
Команда для создания стручков, как это:
kubectl apply -f iis.json
Дополнительную информацию о том, как использовать k8s для развертывания контейнера IIS для Windows, см. По этой ссылке.
Какие шаги необходимы для подключения к узлу Windows??
По умолчанию мы не должны входить в эти узлы, мы должны управлять контейнерами через kubernetes, поэтому Azure создает узлы без публичных IP-адресов.
Если вы хотите подключить узел k8s и развернуть на нем контейнер IIS, мы можем развернуть VPN типа " точка-точка" между локальным ПК и виртуальной сетью Azure. Но я бы не рекомендовал это делать, потому что в этом случае мы просто используем работу кластера k8s как одну виртуальную машину, и работа контейнера не будет иметь HA, если контейнер не работает, кластер k8s не создаст другой, чтобы сохранить доступность.