对于我目前的环境,我创建了一个mater和几个代理(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节点需要哪些步骤?
答案 0 :(得分:0)
我可以知道如何成功提取图像吗?
您正在Linux命令行上使用docker来拉取窗口图像。众所周知,关于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集群将不会创建另一个以保持可用。