Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 变异Webhook不会调用端点,因为该证书由未知的授权机构签名_Ssl_Kubernetes_Webhooks_Pem_Certificate Authority - Fatal编程技术网

Ssl 变异Webhook不会调用端点,因为该证书由未知的授权机构签名

Ssl 变异Webhook不会调用端点,因为该证书由未知的授权机构签名,ssl,kubernetes,webhooks,pem,certificate-authority,Ssl,Kubernetes,Webhooks,Pem,Certificate Authority,我正在用开发一个API,据我所知,API端点应该是https。API服务器的证书和密钥应该与集群本身的CA进行签名,以避免自签名证书的问题。为此,建议采取以下步骤: 创建密钥-openssl genrsa-out app.key 2048 创建CSR-openssl-req-new-key-app.key-subc”/CN=${CSR\u NAME}“-out app.CSR-config CSR.conf 在kubernetes中创建CSR对象-kubectl Create-f CSR.yam

我正在用开发一个API,据我所知,API端点应该是
https
。API服务器的证书和密钥应该与集群本身的CA进行签名,以避免自签名证书的问题。为此,建议采取以下步骤:

  • 创建密钥-
    openssl genrsa-out app.key 2048
  • 创建CSR-
    openssl-req-new-key-app.key-subc”/CN=${CSR\u NAME}“-out app.CSR-config CSR.conf
  • 在kubernetes中创建CSR对象-
    kubectl Create-f CSR.yaml
  • 批准CSR-
    kubectl证书批准CSR\u名称
  • Extract PEM-
    kubectl get csr app.csr-o jsonpath='{.status.certificate}'| openssl base64-d-A-out app.PEM
  • 注释
    1.
    csr.conf
    包含成功设置csr的详细信息。
    2.
    csr.yaml
    是为kuberenetes类
    CertificateSigningRequest
    编写的
    3.
    csr\u名称
    CertificateSigningRequest
    中定义
    4.
    csr.yaml
    中的
    spec.request
    设置为
    cat app.csr | base64 | tr-d'\n'
    。 5.
    app.pem
    app.key
    用于设置
    https
    端点

    终点肯定是可以到达的,但错误如下:

    发生内部错误:调用webhook“com.me.webhooks.demo”失败:Posthttps://webhook.sidecars.svc:443/mutate?timeout=10s: x509:由未知权限签署的证书 如何绕过由未知机构签署的
    证书
    问题

    参考文献:
    1.

    2.

    它不需要使用集群的CA根进行签名。它只需要匹配webhook配置中的CA包。

    Ok。我们如何确保“匹配”?示例。您可以在第一个示例链接中看到该字段:
    caBundle:${CA_BUNDLE}
    。它们会给您一个命令,为该字段生成一个值。基本上你需要填写你的CA证书。当我升级到api版本
    certificates.k8s.io/v1
    时,我也会遇到同样的错误。你也升级了吗?