首页 > 解决方案 > 自动缩放后 Docker Hub 上的 Azure AKS 机密中的 Kubernetes 丢失

问题描述

我正在使用 Autoscaler 处理 Kubernetes on Azure (AKS) 上的一些问题,以及从 Docker Hub 中提取图像的秘密。
我在启用 3 个节点(初始集群状态)的同时在我的应用程序命名空间中创建了密钥。

kubectl create secret docker-registry mysecret --docker-server=https://index.docker.io/v1/ --docker-username=<docker_id> --docker-password=<docker_password> -n mynamespace

在指定图像 URL 后,我使用 imagePullSecrets 选项部署我的应用程序。

      imagePullSecrets:
        - name: mysecret

部署应用程序后,我创建了自动缩放规则。

kubectl autoscale deployment mydeployment --cpu-percent=50 --min=1 --max=20 -n mynamespace

所有新的 pod 都会正确拉取镜像。但是,在自动部署新的 Kubernetes 节点时,所有需要基于 DockerHub 的镜像的新 pod 都无法启动。

Failed to pull image "mydocherhubaccount/myimage:mytag": rpc error: code = Unknown desc = Error response from daemon: pull access denied for mydocherhubaccount/myimage:mytag, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

我在这里有什么遗漏吗?我等了 15 分钟并重新创建了 pod,但没有帮助。

我在 Azure AKS 上使用 Kubernetes 1.15.5。集群是使用以下命令创建的。

az aks create -g myresourcegroup -n mynamespace --location eastus --kubernetes-version 1.15.5 --node-count 3 --node-osdisk-size 100 --node-vm-size Standard_D4_v3 --enable-vmss --enable-cluster-autoscaler --min-count 3 --max-count 5

我感谢提供的任何帮助。它真的让我被困在这里。

标签: kubernetesdockerhubazure-aks

解决方案


推荐阅读