我使用minikube练习有关kubernetes的事情
我将docker-registry设为Pod,然后创建docker-registry服务
编辑/etc/docker/daemon.json
{
"insecure-registries":["192.168.99.100:30050"]
}
编辑openssl.conf
[v3_req]
subjectAltName = IP:192.168.99.100
我制作证书
openssl genrsa -out my.crt
openssl req -x509 -new -nodes -key my.key -subj "CN=192.168.99.100:30050" -days 5000 -out my.crt
创建注册表-tls-秘密
kubectl create secret generic registry-tls-secret --from-file=my.crt=my.crt --from-file=my.key=my.key
并创建目录并将my.crt文件复制到目录
/etc/docker/certs.d/192.168.99.100:30050
所以我可以在主机上推拉192.168.99.100:30050/[image]:[tag]
然后我尝试制作世界一流的豆荚
您好世界映像已进入docker-registry(192.168.99.100:30050)
我创建了秘密docker-registry regcred
kubectl create secret docker-registry regcred --docker-server=192.168.99.100:30050 --docker-usernmae=<user-name> --docker-password=<user-password> --docker-email=<user-email>
并编写helloworld-deployment.yaml
...
image: 192.168.99.100:30050/hello-world:v1
...
imagePullSecrets:
-name: regcred
...
最后,我应用helloworld-deployment.yaml 但是我收到一条错误消息
Failed to pull image "192.168.99.100:30050/hello-world:v1": rpc error: code = Unknown desc = Error response from daemon: Get https://192.168.99.100:30050/v2/: x509: certificate signed by unknown authority
我不是我真正想念的东西...请帮助我...
答案 0 :(得分:1)
在证书中存储端口号没有标准,因此证书的公用名不应包含端口。使用CN=192.168.99.100
创建证书,然后重复相同的步骤。有关通用名称的更多信息,请参见here。
确保将证书数据复制到/etc/docker/certs.d/192.168.99.100:30050/ca.crt
。