OpenShift で使う方法を紹介します。
cert-managerもありますが、ここでは手作業で行います。
環境
- OpenShift 4.15
Let's Encrypt で証明書を発行
こちらを参照:
OpenShift に証明書を適用
証明書は/etc/letsencrypt/live/自分のドメインディレクトリにあります。
まずは、そこへ移動します。
その後、以下を実行するだけです。
oc create configmap letsencrypt-ca --from-file=ca-bundle.crt=./cert.pem -n openshift-config oc patch proxy/cluster --type=merge --patch='{"spec":{"trustedCA":{"name":"letsencrypt-ca"}}}' oc create secret tls letsencrypt --cert=./fullchain.pem --key=./privkey.pem -n openshift-ingress oc patch ingresscontroller.operator default --type=merge -p '{"spec":{"defaultCertificate": {"name": "letsencrypt"}}}' -n openshift-ingress-operator
うまくいかなかったときは、以下のコマンドで元に戻せます。
oc delete configmap letsencrypt-ca -n openshift-config oc patch proxy/cluster --type=merge --patch='{"spec":{"trustedCA":null}}' oc delete secret letsencrypt -n openshift-ingress oc patch ingresscontroller.operator default --type=merge -p '{"spec":{"defaultCertificate": null}}' -n openshift-ingress-operator
更新
定期的に証明書を交換しないといけないですが、証明書を作ったあとに ConfigMapと Secret を更新すればOK
oc create configmap letsencrypt-ca --from-file=ca-bundle.crt=./cert.pem -n openshift-config --save-config --dry-run=client -o yaml | oc apply -f oc create secret tls letsencrypt --cert=./fullchain.pem --key=./privkey.pem -n openshift-ingress --save-config --dry-run=client -o yaml | oc apply -f