【问题标题】:Pull image from and connect to the ACS Engine Kubernetes Cluster从 ACS Engine Kubernetes 集群中提取映像并连接到该集群
【发布时间】:2017-07-17 07:42:28
【问题描述】:

对于我目前的环境,我创建了一个母校和几个代理(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 节点需要哪些步骤?

【问题讨论】:

  • 您是否尝试在 windows 节点上部署 IIS?

标签: azure kubernetes azure-container-service


【解决方案1】:

请问如何才能成功拉取图片?

您在 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容器,请参考这个link

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

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

如果你想连接 k8s 节点并在其上部署 IIS 容器,我们可以在本地 PC 和 Azure vnet 之间部署 点到站点 VPN。但我不推荐,因为这样我们只是将k8s集群工作作为一个单独的VM,而容器工作将没有HA,如果容器宕机,k8s集群将不会再创建一个来保持可用。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2019-06-10
  • 1970-01-01
  • 2018-03-19
  • 2020-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-12
相关资源
最近更新 更多