Google cloud platform 使用云部署管理器上载SSL证书

Google cloud platform 使用云部署管理器上载SSL证书,google-cloud-platform,Google Cloud Platform,我一直在努力,但是运气不好。下面是我每次尝试时收到的消息 The fingerprint of the deployment is j6t0HcwFHHQifZteb2l3aA== Waiting for update [operation-1553685800030-58511aa341085-accaf31f-b8a2d802]...failed. ERROR: (gcloud.deployment-manager.deployments.update) Error in Operation

我一直在努力,但是运气不好。下面是我每次尝试时收到的消息

The fingerprint of the deployment is j6t0HcwFHHQifZteb2l3aA==
Waiting for update [operation-1553685800030-58511aa341085-accaf31f-b8a2d802]...failed.
ERROR: (gcloud.deployment-manager.deployments.update) Error in Operation [operation-1553685800030-58511aa341085-accaf31f-b8a2d802]: errors:
- code: RESOURCE_ERROR
  location: /deployments/infrastructure/resources/lb-ssl-certificate
  message: '{"ResourceType":"compute.v1.sslCertificate","ResourceErrorCode":"400","ResourceErrorMessage":{"code":400,"errors":[{"domain":"global","message":"The
    SSL certificate could not be parsed.","reason":"sslCertificateCouldNotParseCert"}],"message":"The
    SSL certificate could not be parsed.","statusMessage":"Bad Request","requestPath":"https://www.googleapis.com/compute/v1/projects/xxx/global/sslCertificates","httpMethod":"POST"}}'
下面是我的jinja片段(sslcert template.jinja)

请注意,example.com.crtexample.com.keysslcert template.jinja位于同一位置。我正在使用docker google/cloud sdk来执行此操作。我使用具有项目所有者角色的电子邮件登录

我还使用证书和密钥尝试了gcloud,效果非常好

gcloud compute ssl-certificates create sample --certificate=example.com.crt --private-key=example.com.key
Created [https://www.googleapis.com/compute/v1/projects/xxx/global/sslCertificates/sample].
NAME    CREATION_TIMESTAMP
sample  2019-03-29T20:59:14.371-07:00

经过几次尝试。。我试着在python模板中实现它,并将实际的cert和key设置为值,定义为多行,它只是起到了作用,发布了一个答案,因为从2020-06年开始,这是部署管理器ssl证书在Google中最受欢迎的,即使在结果列表的后面有答案(但在stackoverflow上没有)

部署管理器希望该文件内联在yaml文件中,而不是作为本地文件的路径

也就是说,它应该是这样的:

- name: ssl-cert
  type: compute.v1.sslCertificate
  properties:
    certificate: |
      -----BEGIN CERTIFICATE-----
      MIIFazCCA1OgAwIBAgIUUVkDsK2nWJtToHzFjukeJzPyKaYwDQYJKoZIhvcNAQEL
      BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
      ...
      eDbQMIjIXvZNP6e3D3COn862l+OA/MjWjFVZnaraCpKByc1SBBaD1axQ/MY0jks=
      -----END CERTIFICATE-----
    privateKey: |
      -----BEGIN RSA PRIVATE KEY-----
      MIIJpDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIgqbfXwjdaNICAggA
      MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECCKSeDnJWXINBIIJUHZOCaP6RbbM
      ...
      bru0DNVNlF4pMWzX6QaInsAPJoA63kS+
      -----END RSA PRIVATE KEY-----

我不确定是否有办法将文本文件自动内联到jinja模板中。

似乎您的crt格式错误=sslCertificateCornotParseCert试图使用它检查密钥和crt。@howie,这太奇怪了。我在门户网站上试用了这些证书和密钥,现在一切正常。我的crt在
https://www.sslshopper.com/certificate-decoder.html
我开始思考我的值
证书
值是否正确。我试图输入一个不存在的文件,但它仍然是
sslCertificateCouldNotParseCert
error@howie,我更新了我的问题暂存,
gcloud compute ssl certificates
与我提供的证书和密钥配合得很好。感谢您的回答,但我在一年前用答案更新了我的问题。与您的答案唯一不同的是您使用了jinja,而我使用的是
python
。但还是要感谢您,但我不建议您这样做,因为它会暴露您的SSL凭据
- name: ssl-cert
  type: compute.v1.sslCertificate
  properties:
    certificate: |
      -----BEGIN CERTIFICATE-----
      MIIFazCCA1OgAwIBAgIUUVkDsK2nWJtToHzFjukeJzPyKaYwDQYJKoZIhvcNAQEL
      BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
      ...
      eDbQMIjIXvZNP6e3D3COn862l+OA/MjWjFVZnaraCpKByc1SBBaD1axQ/MY0jks=
      -----END CERTIFICATE-----
    privateKey: |
      -----BEGIN RSA PRIVATE KEY-----
      MIIJpDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIgqbfXwjdaNICAggA
      MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECCKSeDnJWXINBIIJUHZOCaP6RbbM
      ...
      bru0DNVNlF4pMWzX6QaInsAPJoA63kS+
      -----END RSA PRIVATE KEY-----