【发布时间】:2021-02-08 10:26:45
【问题描述】:
我正在使用minikube 和kubectl 为mongo 创建一个RC。而且我使用的是公司的VPN。
通过kubectl create -f ./rc/mongo-rc.yaml 命令创建了RC。
使用kubectl describe pod mongo-5zttk 命令时出现以下 kubernetes 事件:
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 7m18s default-scheduler Successfully assigned default/mongo-5zttk to minikube
Normal Pulling 5m42s (x4 over 7m17s) kubelet, minikube Pulling image "mongo"
Warning Failed 5m40s (x4 over 7m15s) kubelet, minikube Failed to pull image "mongo": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/library/mongo/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fmongo%3Apull&service=registry.docker.io: x509: certificate signed by unknown authority
Warning Failed 5m40s (x4 over 7m15s) kubelet, minikube Error: ErrImagePull
Normal BackOff 5m29s (x6 over 7m15s) kubelet, minikube Back-off pulling image "mongo"
Warning Failed 2m8s (x21 over 7m15s) kubelet, minikube Error: ImagePullBackOff
当我尝试使用curl 访问网址时:
⚡ curl https://registry-1.docker.io/v2/library/mongo/manifests/latest
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"Type":"repository","Class":"","Name":"library/mongo","Action":"pull"}]}]}
我可以成功地从 docker hub 注册表中拉取 mongo:latest 图像。
⚡ docker pull mongo:latest
latest: Pulling from library/mongo
Digest: sha256:efc408845bc917d0b7fd97a8590e9c8d3c314f58cee651bd3030c9cf2ce9032d
Status: Image is up to date for mongo:latest
docker.io/library/mongo:latest
环境信息:
- minikube 版本:v1.14.1
- kubectl
- 客户端版本:v1.18.8
- 服务器版本:v1.19.2
- 操作系统:macOS 10.13.6
我已阅读文档:vpn_and_proxy/#x509-certificate-signed-by-unknown-authority。解决方案是向 IT 部门索取适当的 PEM 文件。如果我无法获取 PEM 文件,有什么解决方案吗?比如使用一些命令标志:--skip-verify-cert?
更新:
mongo-rc.yaml:
apiVersion: v1
kind: ReplicationController
metadata:
name: mongo
spec:
replicas: 1
selector:
app: mongo
template:
metadata:
labels:
app: mongo
spec:
containers:
- name: mongo
image: mongo
ports:
- containerPort: 27017
env:
- name: MONGO_ROOT_PASSWORD
value: "123456"
【问题讨论】:
-
你能提供你提到它必须使用的图像细节的 containerspec 部分吗?
-
@confusedgenius 完成。我包含了 k8s RC 资源 YAML 文件。
-
我在我的设置中尝试了相同的 yaml,它运行良好,我查看了 registry-1.docker.io 的 TLS 证书,它们已正确签名,这可能是 docker pull 对您正常工作的原因好吧。所以我认为错误消息是错误的,它可能是在抱怨您的 kubernetes 证书。您能否确认您是否也收到任何其他图像的此错误消息?
标签: docker ssl kubernetes kubectl minikube