7.5.5 获得签名证书

现在可以创建以下证书资源,该资源指定所需的证书。为了使用Issuer获取证书,我们必须在与Issuer相同的命名空间中创建Certif icate资源,因为Issuer是命名空间资源,如本例所示。如果我们想要跨多个命名空间重用签名密钥对,那么就可以使用一个集群ClusterIssuer。

首先通过以下命令为域名myexample.com创建证书,其中可以通过引用ClusterIssuer类型的颁发者Issuer;默认情况下使用只适用于命名空间的Issuer:


kubectl apply -f - << EOF
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
  name: myexample-certificate
  namespace: default
spec:
  secretName: istio-myexample-customingressgateway-certs
  issuerRef:
    name: ca-issuer
    kind: Issuer
  commonName: myexample.com
  organization:
  - MyExample CA
  dnsNames:
  - myexample.com
  - www.myexample.com 
EOF

记下secretName,因为接下来的步骤会需要引用它。

创建证书资源后,cert-manager将尝试使用颁发者ca-issuer获取证书,如果成功,证书将存储在与证书资源相同的命名空间(default)中的Secret资源istio-myexample-customingressgateway-certs里。