0

对于我当前的环境,我创建了一个母校和几个代理(windows 容器)。问题来了:

  1. 当 ssh 进入 master 时,我尝试拉取图像,但结果失败,出现这种现象。我可以知道如何成功提取图像吗? 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

  2. 连接到 Windows 节点需要哪些步骤?

4

1 回答 1

0

我可以知道如何成功提取图像吗?

您正在 Linux 命令行上使用 docker 来拉取 Windows 映像。众所周知,关于 Linux 和 windows 的容器是不同的。问题是您没有将服务器作为 windows/amd 运行,因此系统将返回unknown blob.

根据您的描述,您已经在 Azure 上部署了带有 windows 节点的 ACS。Kubernetes 是一个用来管理容器的工具,所以我们可以使用 k8s 将 IIS 部署到 windows 节点上。
1.创建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.使用kubctl apply命令创建pod,如下所示:

kubectl apply -f iis.json

有关如何使用 k8s 部署 windows IIS 容器的更多信息,请参阅此链接

连接到 Windows 节点需要哪些步骤?

默认情况下,我们应该登录这些节点,我们应该通过 Kubernetes 管理容器,因此 Azure 创建没有公共 IP 地址的节点。

如果要连接 k8s 节点并在其上部署 IIS 容器,我们可以在本地 PC 和 Azure vnet 之间部署点到站点 VPN 。但我不建议这样做,因为这样我们只是将k8s集群工作作为单个VM使用,而容器工作将没有HA,如果容器关闭,k8s集群将不会再创建另一个以保持可用。

于 2017-07-17T09:52:46.233 回答