如何使 minikube 服务器支持 tls-curlable?

如何使 minikube 服务器支持 tls-curlable?

我正在按照教程在 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

不幸的是,这不起作用,我仍然收到上述错误。我尝试执行的操作是否存在任何错误,或者是否有更好且有效的方法来执行此操作?

答案1

标准证书 ca--tls 的问题在于它只有一个密钥,而没有 .crt 条目。使用 openssl 创建密钥对,生成一个密钥,告诉 ca-hlf 服务将它们用作证书,并将证书和密钥添加到 /etc/ssl/certs 和 /etc/ssl/private 即可解决问题。

相关内容