我正在按照教程在 Ubuntu 18.04 上通过在 kvm2 虚拟机中设置一个 minikube 服务器来在 kubernetes 中实现 hyperledger fabric。基础操作系统。在某些时候我需要
curl https://dubi/cainfo ,
其中 dubi 是在 /etc/hosts 中定义的主机并指向 minikube 服务器的 IP,但我收到以下错误:
curl: (60) SSL certificate problem: unable to get local issuer certificate
做的时候
curl https://dubi/cainfo -k ,
它按预期工作,我可以看到证书。我想知道是否有办法让 minikube 服务器 tls 可调用?
到目前为止我尝试的是为在 minikube 中运行的 kubernetes 服务编写一个扩展:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: mock-server
spec:
tls:
- secretName: dubi-tls
hosts:
- dubi
rules:
- host: dubi
http:
paths:
- path: /
backend:
serviceName: kubernetes
servicePort: 443 ,
创建一个 tls 密钥
openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout dubi.key -out dubi.crt -subj "/CN=dubi" -days 365,
和
kubectl apply -f kubernetes.yaml
.
不幸的是,这不起作用,我仍然收到上述错误。我尝试做的事情是否有任何错误,或者是否有更好的工作方式来做到这一点?
标准证书 ca--tls 的问题是它只有一个密钥,没有 .crt 条目。使用 openssl 创建一个密钥对,生成一个秘密,告诉 ca-hlf 服务将它们用作证书,然后将证书和密钥添加到 /etc/ssl/certs 和 /etc/ssl/private 就可以了。