kubernetes - 自动缩放后 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
我感谢提供的任何帮助。它真的让我被困在这里。
解决方案
推荐阅读
- c++ - 使用对象作为类的构造函数的参数时出错
- pm2 - PM2 无论如何都拒绝询问 SSH 密钥密码?
- java - Spring boot + JavaFX:如何在 start() 方法之后异步运行任务
- node.js - 使用express node.js,在函数中调用函数并在路由器中导出和要求,并在路由器中渲染时交给ejs
- sqlite - 将数组传输到 SQLite 中,反之亦然,无需循环,尤其是在 ActionScript3 中
- python - 通过数组内对象的两个值过滤 mongoengine/mongodb-query 中的项目
- amazon-s3 - 如何向 S3.upload() 请求添加“授权”标头?
- javascript - 如何仅对 JavaScript 中的前 3 个字符和最后一个字符进行分组(例如 123456789 => 123 45678 9)
- google-data-studio - 为什么在使用服务帐户访问底层 bigquery 数据时,社区连接器的“数据凭据”不能为空?
- python - 波函数 Python 上的曲柄 Nicolson 方法