我正在尝试构建一个应用程序,但当我尝试创建部署时,容器在创建阶段失败,错误为:
"docker.pkg.github.com/XXXXX/XXXXXX/XXXXXXXXXXXX:latest": rpc error: code = NotFound desc = failed to pull and unpack image "docker.pkg.github.com/XXXXX/XXXXXXX/XXXXXXXXXX:latest": failed to copy: httpReaderSeeker: failed open: content at https://docker.pkg.github.com/v2/XXXXXXX/XXXXXX/XXXXXXX/manifests/sha........ not found: not found
我完全遵循了本教程:https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
我在Cloudshell和我的本地机器上都尝试了kubectl,同一个问题:
然后,我在本地机器上尝试了minikube,并使用YAML进行部署,创建的部署没有任何问题。此外,docker pull
也在工作。我想这不应该是github凭据的问题。
我真的不明白为什么kubernetes在azure和minikube上表现得如此不同。如果您能提供有关如何排除故障和解决此问题的帮助,我们将不胜感激。
仅供参考,我使用下面的shell cmd在Azure上创建资源,想知道我是否错过了任何步骤:
az group create
--name $RESOURCE_GROUP
--location $REGION_NAME
az network vnet create
--resource-group $RESOURCE_GROUP
--location $REGION_NAME
--name $VNET_NAME
--address-prefixes 10.0.0.0/8
--subnet-name $SUBNET_NAME
--subnet-prefixes 10.240.0.0/16
SUBNET_ID=$(az network vnet subnet show
--resource-group $RESOURCE_GROUP
--vnet-name $VNET_NAME
--name $SUBNET_NAME
--query id -o tsv)
VERSION=$(az aks get-versions
--location $REGION_NAME
--query 'orchestrators[?!isPreview] | [-1].orchestratorVersion'
--output tsv)
az aks create
--resource-group $RESOURCE_GROUP
--name $AKS_CLUSTER_NAME
--vm-set-type VirtualMachineScaleSets
--node-count 1
--load-balancer-sku standard
--location $REGION_NAME
--kubernetes-version $VERSION
--network-plugin azure
--vnet-subnet-id $SUBNET_ID
--service-cidr 10.2.0.0/24
--dns-service-ip 10.2.0.10
--docker-bridge-address 172.17.0.1/16
--generate-ssh-keys
echo 'xxxxxxx' | docker login https://docker.pkg.github.com -u xxxxxxx --password-stdin
失败是因为最新版本的AKS(1.20或更高版本(已弃用docker作为容器运行时(请改用ContainerD(。在我切换到1.18的旧版本后,问题解决了。