cert-manager 1.0 เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ†

เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจธเฉ‡ เจคเจœเจฐเจฌเฉ‡เจ•เจพเจฐ, เจฌเฉเฉฑเจงเฉ€เจฎเจพเจจ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐ เจจเฉ‚เฉฐ เจชเฉเฉฑเจ›เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ‰เจน เจชเฉเจฐเจฎเจพเจฃ-เจชเฉฑเจคเจฐ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจฌเจพเจฐเฉ‡ เจ•เฉ€ เจธเฉ‹เจšเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจนเจฐ เจ•เฉ‹เจˆ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจ‰เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจฎเจพเจนเจฐ เจธเจพเจน เจฒเจตเฉ‡เจ—เจพ, เจ‰เจธ เจจเฉ‚เฉฐ เจญเจฐเฉ‹เจธเฉ‡ เจจเจพเจฒ เจœเฉฑเจซเฉ€ เจชเจพเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจฅเฉฑเจ• เจ•เฉ‡ เจ•เจนเฉ‡เจ—เจพ: โ€œเจนเจฐ เจ•เฉ‹เจˆ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ•เฉ‹เจˆ เจธเจฎเจเจฆเจพเจฐ เจตเจฟเจ•เจฒเจช เจจเจนเฉ€เจ‚ เจนเจจเฅค เจธเจพเจกเฉ‡ เจšเฉ‚เจนเฉ‡ เจฐเฉ‹เจ‚เจฆเฉ‡ เจนเจจ, เจšเฉเจญเจฆเฉ‡ เจนเจจ, เจชเจฐ เจ‡เจธ เจ•เฉˆเจ•เจŸเจธ เจจเจพเจฒ เจฐเจนเจฟเจฃเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจจ. เจ…เจธเฉ€เจ‚ เจชเจฟเจ†เจฐ เจ•เจฟเจ‰เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚? เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจชเจฟเจ†เจฐ เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡? เจ•เจฟเจ‰เจ‚เจ•เจฟ เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจฒเจ—เจพเจคเจพเจฐ เจธเจพเจนเจฎเจฃเฉ‡ เจ† เจฐเจนเฉ‡ เจนเจจ เจœเฉ‹ เจจเจตเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ. เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจตเจพเจฐ-เจตเจพเจฐ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ…เจคเฉ‡ เจชเฉเจฐเจพเจฃเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เฉฑเจ• เจธเจพเจœเจผเจฟเจธเจผ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจฎเจนเจพเจจ เจฐเจนเฉฑเจธเจฎเจˆ เจธเจผเจฎเจจเจตเจพเจฆ เจนเฉˆ.

เจชเจฐ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฆเจพ เจฆเจพเจ…เจตเจพ เจนเฉˆ เจ•เจฟ cert-manager 1.0 เจธเจญ เจ•เฉเจ เจฌเจฆเจฒ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจ•เฉ€ เจ…เจธเฉ€เจ‚ เจตเจฟเจธเจผเจตเจพเจธ เจ•เจฐเจพเจ‚เจ—เฉ‡?

cert-manager 1.0 เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ†

เจธเจฐเจŸ-เจฎเฉˆเจจเฉ‡เจœเจฐ เจฎเฉ‚เจฒ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจนเฉˆเฅค เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจฐเฉ‹เจคเจพเจ‚ เจคเฉ‹เจ‚ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจœเจพเจฐเฉ€ เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ: เจ†เจ“ เจเจจเจ•เฉเจฐเจฟเจชเจŸ เจ•เจฐเฉ€เจ, เจนเจพเจธเจผเฉ€เจ•เจพเจฐเจช เจตเจพเจฒเจŸ, เจตเฉ‡เจจเจพเจซเฉ€, เจฆเจธเจคเจ–เจค เจ…เจคเฉ‡ เจธเจตเฉˆ-เจฆเจธเจคเจ–เจค เจ•เฉ€เจคเฉ‡ เจ•เฉเฉฐเจœเฉ€ เจœเฉ‹เฉœเฉ‡เฅค เจ‡เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฎเจฟเจ†เจฆ เจชเฉเฉฑเจ—เจฃ เจฆเฉ€ เจฎเจฟเจคเฉ€ เจคเฉฑเจ• เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจช-เจŸเฉ‚-เจกเฉ‡เจŸ เจฐเฉฑเจ–เจฃ เจฆเฉ€ เจตเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจฆเฉ€ เจฎเจฟเจ†เจฆ เจชเฉเฉฑเจ—เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ‡เฉฑเจ• เจจเจฟเจธเจผเจšเจฟเจค เจธเจฎเฉ‡เจ‚ 'เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจ†เจช เจฐเฉ€เจจเจฟเจŠ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจตเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆเฅค Cert-manager kube-lego 'เจคเฉ‡ เจ†เจงเจพเจฐเจฟเจค เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธ เจจเฉ‡ เจนเฉ‹เจฐ เจธเจฎเจพเจจ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ kube-cert-manager เจคเฉ‹เจ‚ เจ•เฉเจ เจšเจพเจฒ เจตเฉ€ เจตเจฐเจคเฉ‡ เจนเจจเฅค

เจฐเฉ€เจฒเฉ€เจœเจผ เจจเฉ‹เจŸเจธ

เจธเฉฐเจธเจ•เจฐเจฃ 1.0 เจฆเฉ‡ เจจเจพเจฒ, เจ…เจธเฉ€เจ‚ เจชเฉเจฐเจฎเจพเจฃ-เจชเฉฑเจคเจฐ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจคเจฟเฉฐเจจ เจธเจพเจฒเจพเจ‚ เจฒเจˆ เจญเจฐเฉ‹เจธเฉ‡ เจฆเจพ เจšเจฟเฉฐเจจเฉเจน เจฒเจ—เจพเจ‡เจ† เจนเฉˆเฅค เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจฆเฉŒเจฐเจพเจจ, เจ‡เจน เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจ…เจคเฉ‡ เจธเจฅเจฟเจฐเจคเจพ เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฟเจ•เจธเจค เจนเฉ‹เจ‡เจ† เจนเฉˆ, เจชเจฐ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจฎเจพเจœ เจตเจฟเฉฑเจšเฅค เจ…เฉฑเจœ, เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฒเฉ‹เจ• เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ†เจชเจฃเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ•เจฒเฉฑเจธเจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ-เจจเจพเจฒ เจ‡เจธ เจจเฉ‚เฉฐ เจˆเจ•เฉ‹เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจคเจพเจ‡เจจเจพเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจชเจฟเจ›เจฒเฉ€เจ†เจ‚ 16 เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฌเฉฑเจ— เจ เฉ€เจ• เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค เจ…เจคเฉ‡ เจœเฉ‹ เจŸเฉเฉฑเจŸเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€ เจ‰เจน เจŸเฉเฉฑเจŸ เจ—เจฟเจ† เจนเฉˆ. API เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ•เจˆ เจฎเฉเจฒเจพเจ•เจพเจคเจพเจ‚ เจจเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเจพเจฒ เจ‡เจธเจฆเฉ€ เจ—เฉฑเจฒเจฌเจพเจค เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ 1500 เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจฎเฉˆเจ‚เจฌเจฐเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจนเฉ‹เจฐ เจชเฉเฉฑเจฒ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเจพเจฒ GitHub 'เจคเฉ‡ 253 เจฎเฉเฉฑเจฆเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจนเฉˆเฅค

1.0 เจฆเฉ‡ เจœเจพเจฐเฉ€ เจนเฉ‹เจฃ เจฆเฉ‡ เจจเจพเจฒ, เจ…เจธเฉ€เจ‚ เจ…เจงเจฟเจ•เจพเจฐเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจ˜เฉ‹เจธเจผเจฃเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจชเฉเจฐเจฎเจพเจฃ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจ‡เฉฑเจ• เจชเจฐเจฟเจชเฉฑเจ• เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ API เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจฐเฉฑเจ–เจฃ เจฆเจพ เจตเจพเจ…เจฆเจพ เจตเฉ€ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ v1.

เจ‡เจจเฉเจนเจพเจ‚ เจคเจฟเฉฐเจจเจพเจ‚ เจธเจพเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉเจฐเจฎเจพเจฃ-เจชเฉฑเจคเจฐ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจฌเจฃเจพเจ‰เจฃ เจตเจฟเฉฑเจš เจธเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจธเจพเจฐเจฟเจ†เจ‚ เจฆเจพ เจฌเจนเฉเจค เจงเฉฐเจจเจตเจพเจฆ! เจธเฉฐเจธเจ•เจฐเจฃ 1.0 เจจเฉ‚เฉฐ เจ†เจ‰เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจตเฉฑเจกเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจชเจนเจฟเจฒเจพ เจนเฉ‹เจฃ เจฆเจฟเจ“เฅค

เจฐเฉ€เจฒเฉ€เจœเจผ 1.0 เจ•เจˆ เจคเจฐเจœเฉ€เจนเฉ€ เจ–เฉ‡เจคเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจธเจฅเจฟเจฐ เจฐเฉ€เจฒเฉ€เจœเจผ เจนเฉˆ:

  • v1 API;

  • เจฆเฉ€ เจŸเฉ€เจฎ kubectl cert-manager status, เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจจ เจฒเจˆ;

  • เจจเจตเฉ€เจจเจคเจฎ เจธเจฅเจฟเจฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ;

  • เจธเฉเจงเจพเจฐเจฟเจ† เจฒเฉŒเจ—เจฟเฉฐเจ—;

  • ACME เจธเฉเจงเจพเจฐเฅค

เจ…เฉฑเจชเจ—เฉเจฐเฉ‡เจก เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ…เฉฑเจชเจ—เฉเจฐเฉ‡เจก เจจเฉ‹เจŸเจธ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“เฅค

API v1

เจตเจฐเจœเจจ v0.16 API เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ v1beta1. เจ‡เจธ เจจเฉ‡ เจ•เฉเจ เจขเจพเจ‚เจšเจพเจ—เจค เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ API เจซเฉ€เจฒเจก เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ€ เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจตเจฐเจœเจจ 1.0 เจ‡เฉฑเจ• API เจฆเฉ‡ เจจเจพเจฒ เจ‡เจธ 'เจคเฉ‡ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ v1. เจ‡เจน API เจธเจพเจกเจพ เจชเจนเจฟเจฒเจพ เจธเจฅเจฟเจฐ เจนเฉˆ, เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจ—เจพเจฐเฉฐเจŸเฉ€ เจฆเฉ‡ เจšเฉเฉฑเจ•เฉ‡ เจนเจพเจ‚, เจชเจฐ API เจฆเฉ‡ เจจเจพเจฒ v1 เจ…เจธเฉ€เจ‚ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจธเจพเจฒเจพเจ‚ เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจฌเจฃเจพเจˆ เจฐเฉฑเจ–เจฃ เจฆเจพ เจตเจพเจ…เจฆเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค

เจ•เฉ€เจคเฉ€เจ†เจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ (เจจเฉ‹เจŸ: เจธเจพเจกเฉ‡ เจชเจฐเจฟเจตเจฐเจคเจจ เจธเจพเจงเจจ เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจนเจฐ เจšเฉ€เจœเจผ เจฆเจพ เจงเจฟเจ†เจจ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจจ):

เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ:

  • emailSANs เจนเฉเจฃ เจฌเฉเจฒเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ emailAddresses

  • uriSANs - uris

เจ‡เจน เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจนเฉ‹เจฐ SAN (เจตเจฟเจธเจผเฉ‡ Alt เจจเจพเจฎ,) เจจเจพเจฒ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจœเฉ‹เฉœเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจฒเจ—เจญเจ— เจ…เจจเฉเจตเจพเจฆเจ•) เจฆเฉ‡ เจจเจพเจฒ เจจเจพเจฒ Go API เจฆเฉ‡ เจจเจพเจฒเฅค เจ…เจธเฉ€เจ‚ เจ‡เจธ เจธเจผเจฌเจฆ เจจเฉ‚เฉฐ เจธเจพเจกเฉ‡ API เจคเฉ‹เจ‚ เจนเจŸเจพ เจฐเจนเฉ‡ เจนเจพเจ‚เฅค

เจ…เจชเจกเฉ‡เจŸ

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ Kubernetes 1.16+ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจตเฉˆเฉฑเจฌเจนเฉเฉฑเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจจเจพเจฒ เจคเฉเจธเฉ€เจ‚ API เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจ…เจคเฉ‡ เจธเจนเจฟเจœเฉ‡ เจนเฉ€ เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค v1alpha2, v1alpha3, v1beta1 ะธ v1. เจ‡เจนเจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ, เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจชเฉเจฐเจพเจฃเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเฉ‡ เจœเจพเจ‚ เจฎเฉเฉœ เจคเฉˆเจจเจพเจค เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ API เจฆเฉ‡ เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจตเฉ‹เจ—เฉ‡เฅค เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจกเฉ‡ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจจเฉ‚เฉฐ API เจตเจฟเฉฑเจš เจ…เฉฑเจชเจ—เฉเจฐเฉ‡เจก เจ•เจฐเจจ เจฆเฉ€ เจœเจผเฉ‹เจฐเจฆเจพเจฐ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ v1, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเจฟเจ›เจฒเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจœเจฒเจฆเฉ€ เจนเฉ€ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจ‰เจชเจญเฉ‹เจ—เจคเจพ legacy cert-manager เจฆเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจ•เฉ‹เจฒ เจ…เจœเฉ‡ เจตเฉ€ เจธเจฟเจฐเจซเจผ เจชเจนเฉเฉฐเจš เจนเฉ‹เจตเฉ‡เจ—เฉ€ v1, เจ…เฉฑเจชเจ—เฉเจฐเฉ‡เจก เจ•เจฆเจฎ เจฒเฉฑเจญเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ เจ‡เฉฑเจฅเฉ‡.

kubectl cert-manager เจธเจฅเจฟเจคเฉ€ เจ•เจฎเจพเจ‚เจก

เจคเฉฑเจ• เจธเจพเจกเฉ‡ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจตเจฟเฉฑเจš เจจเจตเฉ‡เจ‚ เจธเฉเจงเจพเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ kubectl เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจœเจพเจฐเฉ€ เจจเจพ เจ•เจฐเจจ เจจเจพเจฒ เจœเฉเฉœเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆเฅค kubectl cert-manager status เจนเฉเจฃ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจจเจพเจฒ เจ•เฉ€ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจœเจพเจฐเฉ€ เจ•เจฐเจจ เจฆเฉ‡ เจชเฉœเจพเจ… เจจเฉ‚เฉฐ เจตเฉ€ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจคเฉเจธเฉ€เจ‚ เจšเจฒเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ kubectl cert-manager status certificate <ะธะผั-ัะตั€ั‚ะธั„ะธะบะฐั‚ะฐ>, เจœเฉ‹ ACME เจคเฉ‹เจ‚ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ 'เจคเฉ‡ เจฆเจฟเฉฑเจคเฉ‡ เจ—เจ เจจเจพเจฎ เจ…เจคเฉ‡ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจธเจฐเฉ‹เจค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ CertificateRequest, Secret, Issuer, and Order and Challenges เจฆเฉ‡ เจจเจพเจฒ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เจฐเฉ‡เจ—เจพเฅค

เจ‡เฉฑเจ• เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจจเฉ‚เฉฐ เจกเฉ€เจฌเฉฑเจ— เจ•เจฐเจจ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจœเฉ‹ เจ…เจœเฉ‡ เจคเจฟเจ†เจฐ เจจเจนเฉ€เจ‚ เจนเฉˆ:

$ kubectl cert-manager status certificate acme-certificate

Name: acme-certificate
Namespace: default
Created at: 2020-08-21T16:44:13+02:00
Conditions:
  Ready: False, Reason: DoesNotExist, Message: Issuing certificate as Secret does not exist
  Issuing: True, Reason: DoesNotExist, Message: Issuing certificate as Secret does not exist
DNS Names:
- example.com
Events:
  Type    Reason     Age   From          Message
  ----    ------     ----  ----          -------
  Normal  Issuing    18m   cert-manager  Issuing certificate as Secret does not exist
  Normal  Generated  18m   cert-manager  Stored new private key in temporary Secret resource "acme-certificate-tr8b2"
  Normal  Requested  18m   cert-manager  Created new CertificateRequest resource "acme-certificate-qp5dm"
Issuer:
  Name: acme-issuer
  Kind: Issuer
  Conditions:
    Ready: True, Reason: ACMEAccountRegistered, Message: The ACME account was registered with the ACME server
error when finding Secret "acme-tls": secrets "acme-tls" not found
Not Before: <none>
Not After: <none>
Renewal Time: <none>
CertificateRequest:
  Name: acme-certificate-qp5dm
  Namespace: default
  Conditions:
    Ready: False, Reason: Pending, Message: Waiting on certificate issuance from order default/acme-certificate-qp5dm-1319513028: "pending"
  Events:
    Type    Reason        Age   From          Message
    ----    ------        ----  ----          -------
    Normal  OrderCreated  18m   cert-manager  Created Order resource default/acme-certificate-qp5dm-1319513028
Order:
  Name: acme-certificate-qp5dm-1319513028
  State: pending, Reason:
  Authorizations:
    URL: https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/97777571, Identifier: example.com, Initial State: pending, Wildcard: false
Challenges:
- Name: acme-certificate-qp5dm-1319513028-1825664779, Type: DNS-01, Token: J-lOZ39yNDQLZTtP_ZyrYojDqjutMAJOxCL1AkOEZWw, Key: U_W3gGV2KWgIUonlO2me3rvvEOTrfTb-L5s0V1TJMCw, State: pending, Reason: error getting clouddns service account: secret "clouddns-accoun" not found, Processing: true, Presented: false

เจ•เจฎเจพเจ‚เจก เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเฉ€เจ†เจ‚ เจธเจฎเฉฑเจ—เจฐเฉ€เจ†เจ‚ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจœเจพเจฃเจจ เจตเจฟเฉฑเจš เจตเฉ€ เจฎเจฆเจฆ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค Letsencrypt เจฆเฉเจ†เจฐเจพ เจœเจพเจฐเฉ€ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฒเจˆ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจ‰เจฆเจพเจนเจฐเจจ:

$ kubectl cert-manager status certificate example
Name: example
[...]
Secret:
  Name: example
  Issuer Country: US
  Issuer Organisation: Let's Encrypt
  Issuer Common Name: Let's Encrypt Authority X3
  Key Usage: Digital Signature, Key Encipherment
  Extended Key Usages: Server Authentication, Client Authentication
  Public Key Algorithm: RSA
  Signature Algorithm: SHA256-RSA
  Subject Key ID: 65081d98a9870764590829b88c53240571997862
  Authority Key ID: a84a6a63047dddbae6d139b7a64565eff3a8eca1
  Serial Number: 0462ffaa887ea17797e0057ca81d7ba2a6fb
  Events:  <none>
Not Before: 2020-06-02T04:29:56+02:00
Not After: 2020-08-31T04:29:56+02:00
Renewal Time: 2020-08-01T04:29:56+02:00
[...]

เจจเจตเฉ€เจจเจคเจฎ เจธเจฅเจฟเจฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ

เจธเจฐเจŸ-เจฎเฉˆเจจเฉ‡เจœเจฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเฉ€เจ†เจฐเจกเฉ€ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจชเจนเจฟเจฒเฉ‡ เจฒเฉ‹เจ•เจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเฉ€เฅค เจ‡เจน, เจ…เจคเฉ‡ 1.11 เจคเฉฑเจ• เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจฒเจˆ เจธเจพเจกเฉ‡ เจธเจฎเจฐเจฅเจจ เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจตเจฟเจฐเจพเจธเจค เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ apiextensions.k8s.io/v1beta1 เจธเจพเจกเฉ‡ CRDs เจฒเจˆ เจตเฉ€ admissionregistration.k8s.io/v1beta1 เจธเจพเจกเฉ‡ เจตเฉˆเจฌเจนเฉเฉฑเจ• เจฒเจˆเฅค เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉเจฃ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจตเจฐเจœเจจ 1.22 เจคเฉ‹เจ‚ Kubernetes เจตเจฟเฉฑเจš เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจธเจพเจกเฉ‡ 1.0 เจฆเฉ‡ เจจเจพเจฒ เจ…เจธเฉ€เจ‚ เจนเฉเจฃ เจชเฉ‚เจฐเจพ เจธเจฎเจฐเจฅเจจ เจชเฉ‡เจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ apiextensions.k8s.io/v1 ะธ admissionregistration.k8s.io/v1 เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ 1.16 (เจœเจฟเฉฑเจฅเฉ‡ เจ‰เจน เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ) เจ…เจคเฉ‡ เจจเจตเฉ‡เจ‚ เจฒเจˆเฅค เจชเจฟเจ›เจฒเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจฆเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจธเจฎเจฐเจฅเจจ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจพเจ‚ v1beta1 เจธเจพเจกเฉ‡ เจตเจฟเฉฑเจš legacy เจธเฉฐเจธเจ•เจฐเจฃ.

เจธเฉเจงเจพเจฐเจฟเจ† เจฒเฉŒเจ—เจฟเฉฐเจ—

เจ‡เจธ เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจฒเฉŒเจ—เจฟเฉฐเจ— เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจนเฉˆ klog/v2, Kubernetes 1.19 เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจนเจฐเฉ‡เจ• เจœเจฐเจจเจฒ เจฆเฉ€ เจธเจฎเฉ€เจ–เจฟเจ† เจตเฉ€ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจฒเจฟเจ–เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ‡เจน เจ‰เจšเจฟเจค เจชเฉฑเจงเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจธเจพเจจเฉ‚เฉฐ เจ‡เจธ เจฆเฉเจ†เจฐเจพ เจฎเจพเจฐเจ—เจฆเจฐเจธเจผเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจคเฉ‹เจ‚ เจฎเจพเจฐเจ—เจฆเจฐเจธเจผเจจ. เจ‡เฉฑเจฅเฉ‡ เจชเฉฐเจœ เจนเจจ (เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ›เฉ‡, เจฒเจ—เจญเจ— เจ…เจจเฉเจตเจพเจฆเจ•) เจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจฃ เจตเจพเจฒเฉ‡ เจฒเฉŒเจ—เจฟเฉฐเจ— เจชเฉฑเจงเจฐ Error (เจฒเฉˆเจตเจฒ 0), เจœเฉ‹ เจธเจฟเจฐเจซ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจ—เจฒเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจฟเฉฐเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจจเจพเจฒ เจ–เจคเจฎ เจนเฉเฉฐเจฆเจพ เจนเฉˆ Trace (เจชเฉฑเจงเจฐ 5) เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจœเจพเจฃเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เจพ เจ•เจฟ เจ•เฉ€ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจ‡เจธ เจคเจฌเจฆเฉ€เจฒเฉ€ เจจเจพเจฒ, เจ…เจธเฉ€เจ‚ เจฒเฉŒเจ—เจธ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจ˜เจŸเจพ เจฆเจฟเฉฑเจคเฉ€ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ-เจฎเฉˆเจจเฉ‡เจœเจฐ เจšเจฒเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจกเฉ€เจฌเฉฑเจ— เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจธเฉฐเจ•เฉ‡เจค: เจชเฉเจฐเจฎเจพเจฃ-เจชเฉฑเจคเจฐ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจชเฉฑเจงเจฐ 2 'เจคเฉ‡ เจšเฉฑเจฒเจฆเจพ เจนเฉˆ (Info), เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจตเจฐเจค เจ•เฉ‡ เจ“เจตเจฐเจฐเจพเจˆเจก เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ global.logLevel เจนเฉˆเจฒเจฎเจšเจพเจฐเจŸ เจตเจฟเฉฑเจš.

เจจเฉ‹เจŸ: เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจจเจฟเจชเจŸเจพเจฐเจพ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจฒเจพเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃเจพ เจ†เจ–เจฐเฉ€ เจ‰เจชเจพเจ… เจนเฉˆเฅค เจตเจงเฉ‡เจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฒเจˆ เจธเจพเจกเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ‹ เจฒเฉ€เจกเจฐเจธเจผเจฟเจช.

เจธเฉฐเจชเจพเจฆเจ• เจฆเฉ‡ เจเจจ.เจฌเฉ€.: เจ‡เจธ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจœเจพเจฃเจจ เจฒเจˆ เจ•เจฟ เจ‡เจน เจธเจญ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเฉ‡ เจนเฉเฉฑเจก เจนเฉ‡เจ  เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจญเจฟเจ†เจธ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจ…เจงเจฟเจ†เจชเจ•เจพเจ‚ เจคเฉ‹เจ‚ เจ•เฉ€เจฎเจคเฉ€ เจธเจฒเจพเจน เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹, เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจ—เฉเจฃเจตเฉฑเจคเจพ เจคเจ•เจจเฉ€เจ•เฉ€ เจธเจนเจพเจ‡เจคเจพ เจธเจนเจพเจ‡เจคเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹, เจคเฉเจธเฉ€เจ‚ เจ”เจจเจฒเจพเจˆเจจ เจ‡เฉฐเจŸเฉˆเจ‚เจธเจฟเจต เจตเจฟเฉฑเจš เจนเจฟเฉฑเจธเจพ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฌเฉ‡เจธ, เจœเฉ‹ เจ•เจฟ เจธเจคเฉฐเจฌเจฐ 28-30 เจจเฉ‚เฉฐ เจ†เจฏเฉ‹เจœเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฎเฉˆเจ—เจพเจœเจฟเจธ เจฆเจพ เจ†เจฏเฉ‹เจœเจจ 14-16 เจ…เจ•เจคเฉ‚เจฌเจฐ เจจเฉ‚เฉฐ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

ACME เจธเฉเจงเจพเจฐ

เจธเจฐเจŸ-เจฎเฉˆเจจเฉ‡เจœเจฐ เจฆเฉ€ เจธเจญ เจคเฉ‹เจ‚ เจ†เจฎ เจตเจฐเจคเฉ‹เจ‚ เจธเจผเจพเจ‡เจฆ ACME เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ Let's Encrypt เจคเฉ‹เจ‚ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจœเจพเจฐเฉ€ เจ•เจฐเจจ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆเฅค เจธเฉฐเจธเจ•เจฐเจฃ 1.0 เจธเจพเจกเฉ‡ ACME เจœเจพเจฐเฉ€เจ•เจฐเจคเจพ เจตเจฟเฉฑเจš เจฆเฉ‹ เจ›เฉ‹เจŸเฉ‡ เจชเจฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเฉเจงเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฒเจˆ เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจซเฉ€เจกเจฌเฉˆเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆเฅค

เจ–เจพเจคเจพ เจ•เฉเฉฐเจœเฉ€ เจฌเจฃเจพเจ‰เจฃ เจจเฉ‚เฉฐ เจ…เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจตเฉฑเจกเฉ€ เจฎเจพเจคเจฐเจพ เจตเจฟเฉฑเจš ACME เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เจฒเฉฑเจธเจŸเจฐเจพเจ‚ 'เจคเฉ‡ เจ‡เฉฑเจ•เฉ‹ เจ–เจพเจคเฉ‡ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹, เจ‡เจธเจฒเจˆ เจคเฉเจนเจพเจกเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจœเจพเจฐเฉ€ เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจชเจพเจฌเฉฐเจฆเฉ€เจ†เจ‚ เจ‰เจนเจจเจพเจ‚ เจธเจพเจฐเจฟเจ†เจ‚ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจนเฉ‹เจฃเจ—เฉ€เจ†เจ‚เฅค เจตเจฟเฉฑเจš เจจเจฟเจฐเจฆเจฟเจธเจผเจŸ เจ—เฉเจชเจค เจฆเฉ€ เจจเจ•เจฒ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจธเจฐเจŸ-เจฎเฉˆเจจเฉ‡เจœเจฐ เจตเจฟเฉฑเจš เจ‡เจน เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเฉฐเจญเจต เจธเฉ€ privateKeySecretRef. เจ‡เจน เจตเจฐเจคเฉ‹เจ‚ เจฆเจพ เจฎเจพเจฎเจฒเจพ เจ•เจพเจซเจผเฉ€ เจฌเฉฑเจ˜เฉ€ เจธเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจชเฉเจฐเจฎเจพเจฃ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจจเฉ‡ เจฎเจฆเจฆเจ—เจพเจฐ เจฌเจฃเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€ เจ…เจคเฉ‡ เจ–เฉเจธเจผเฉ€ เจจเจพเจฒ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจ–เจพเจคเจพ เจ•เฉเฉฐเจœเฉ€ เจฌเจฃเจพเจˆ, เจœเฉ‡เจ•เจฐ เจ‡เจน เจ‡เฉฑเจ• เจจเจนเฉ€เจ‚ เจฒเฉฑเจญเฉ€เฅค เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจœเฉ‹เฉœเจฟเจ† เจนเฉˆ disableAccountKeyGenerationเจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจตเจฟเจ•เจฒเจช เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธ เจตเจฟเจตเจนเจพเจฐ เจคเฉ‹เจ‚ เจฌเจšเจพเจ‰เจฃ เจฒเจˆ true - เจชเฉเจฐเจฎเจพเจฃ-เจชเฉฑเจคเจฐ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจ•เฉ‹เจˆ เจ•เฉเฉฐเจœเฉ€ เจจเจนเฉ€เจ‚ เจฌเจฃเจพเจเจ—เจพ เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจšเฉ‡เจคเจพเจตเจจเฉ€ เจฆเฉ‡เจตเฉ‡เจ—เจพ เจ•เจฟ เจ‡เจธ เจจเฉ‚เฉฐ เจ–เจพเจคเจพ เจ•เฉเฉฐเจœเฉ€ เจชเฉเจฐเจฆเจพเจจ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค

apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: letsencrypt
spec:
  acme:
    privateKeySecretRef:
      name: example-issuer-account-key
    disableAccountKeyGeneration: false

เจคเจฐเจœเฉ€เจนเฉ€ เจšเฉ‡เจจ

29 เจธเจคเฉฐเจฌเจฐ เจ†เจ“ เจเจจเจ•เฉเจฐเจฟเจชเจŸ เจ•เจฐเฉ€เจ เจชเจพเจธ เจ•เจฐเฉ‡เจ—เจพ เจคเฉเจนเจพเจกเฉ‡ เจ†เจชเจฃเฉ‡ เจฐเฉ‚เจŸ CA เจจเฉ‚เฉฐ ISRG Root. เจ•เฉเจฐเจพเจธ-เจนเจธเจคเจพเจ–เจฐเจฟเจค เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเฉเจ†เจฐเจพ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจœเจพเจตเฉ‡เจ—เจพ Identrust. เจ‡เจธ เจคเจฌเจฆเฉ€เจฒเฉ€ เจฒเจˆ เจชเฉเจฐเจฎเจพเจฃ-เจชเฉเจฐเจฌเฉฐเจงเจ• เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‡เจธ เจฎเจฟเจคเฉ€ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจพเจฐเฉ‡ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚ เจจเจตเฉ‡เจ‚ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจจเจตเฉ‡เจ‚ เจฐเฉ‚เจŸ CA เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจ—เฉ‡เฅค

เจšเจฒเฉ‹ เจ‡เจธ CA เจจเจพเจฒ เจชเฉเจฐเจฎเจพเจฃ เจชเฉฑเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เจจเจ•เฉเจฐเจฟเจชเจŸ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ ACME เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• "เจตเจฟเจ•เจฒเจชเจ• เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจšเฉ‡เจจ" เจตเจœเฉ‹เจ‚ เจชเฉ‡เจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจธเจฐเจŸ-เจฎเฉˆเจจเฉ‡เจœเจฐ เจฆเฉ‡ เจ‡เจธ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš, เจœเจพเจฐเฉ€เจ•เจฐเจคเจพ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจ‡เจนเจจเจพเจ‚ เจšเฉ‡เจจเจพเจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจธเฉˆเจŸ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉˆเฅค เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจตเจฟเฉฑเจš preferredChain เจคเฉเจธเฉ€เจ‚ เจตเจฐเจคเฉ‹เจ‚ เจตเจฟเฉฑเจš CA เจฆเจพ เจจเจพเจฎ เจฆเฉฑเจธ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจฟเจธ เจจเจพเจฒ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจœเฉ‡เจ•เจฐ เจฌเฉ‡เจจเจคเฉ€ เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเจพ เจ‡เฉฑเจ• CA เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ‰เจชเจฒเจฌเจง เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจœเจพเจฐเฉ€ เจ•เจฐเฉ‡เจ—เจพเฅค เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ เจ‡เจน เจคเจฐเจœเฉ€เจนเฉ€ เจตเจฟเจ•เจฒเจช เจนเฉˆ, เจœเฉ‡เจ•เจฐ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเจฆเจพ, เจคเจพเจ‚ เจ‡เฉฑเจ• เจกเจฟเจซเฉŒเจฒเจŸ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจเจ—เจพ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ ACME เจœเจพเจฐเฉ€เจ•เจฐเจคเจพ เจตเจพเจฒเฉ‡ เจชเจพเจธเฉ‡ เจคเฉ‹เจ‚ เจตเจฟเจ•เจฒเจชเจฟเจ• เจšเฉ‡เจจ เจจเฉ‚เฉฐ เจฎเจฟเจŸเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจตเฉ€ เจ†เจชเจฃเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจจเฉ‚เฉฐ เจฐเฉ€เจจเจฟเจŠ เจ•เจฐเฉ‹เจ—เฉ‡เฅค

เจ…เฉฑเจœ เจนเฉ€ เจคเฉเจธเฉ€เจ‚ เจฆเจธเจคเจ–เจค เจ•เฉ€เจคเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ ISRG Root, เจ‡เจธ เจฒเจˆ:

apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: letsencrypt
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    preferredChain: "ISRG Root X1"

เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจšเฉ‡เจจ เจจเฉ‚เฉฐ เจ›เฉฑเจกเจฃเจพ เจชเจธเฉฐเจฆ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ IdenTrust - เจ‡เจธ เจตเจฟเจ•เจฒเจช เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹ DST Root CA X3:

apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: letsencrypt
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    preferredChain: "DST Root CA X3"

เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ เจ‡เจธ เจฐเฉ‚เจŸ CA เจจเฉ‚เฉฐ เจœเจฒเจฆเฉ€ เจนเฉ€ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจ†เจ“ เจเจจเจ•เฉเจฐเจฟเจชเจŸ เจ‡เจธ เจšเฉ‡เจจ เจจเฉ‚เฉฐ 29 เจธเจคเฉฐเจฌเจฐ, 2021 เจคเฉฑเจ• เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ เจฐเฉฑเจ–เฉ‡เจ—เฉ€เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹