从 secret 创建 OpenShift TLS 路由
Create OpenShift TLS route from secret
我想知道(以及如何做)从包含我的证书和密钥(或 JAVA 密钥库)或 2 个秘密的秘密在 OpenShift 中创建一个安全的 (tls) 路由(1 个带有证书,另一个带有密钥)这样我就不需要将它们都直接写在“'route.yaml'”文件中,而只需引用它们......
更新:
看起来不可能。除非我确实直通吊舱...
看这里---> https://access.redhat.com/solutions/1582583
不过,我不希望它成为最终答案,因为我认为这应该得到支持。
有人可以告诉我其他情况吗?请!
不幸的是,据我所知,它无法将证书配置为 route
中的 secret
。如果您只想使用 yaml
文件以外的其他方式创建 route
对象,则可以使用以下 CLI 配置 route
。
oc create route edge --service=frontend \
--cert=${MASTER_CONFIG_DIR}/ca.crt \
--key=${MASTER_CONFIG_DIR}/ca.key \
--ca-cert=${MASTER_CONFIG_DIR}/ca.crt \
--hostname=www.example.com
希望对你有帮助:^)
我的 RFE 被 RedHat 关闭了,因为它应该是 OpenShift4 的要求。
与此同时,我开始使用 tls secrets 并直接在我的容器中管理 TLS 终止,而不是在路由上。
事情是这样的。 TLS
有一个秘密类型
oc create secret tls mytlsSecret --cert= --key=
希望对您有所帮助!
根据 https://github.com/openshift/origin/issues/2162 的说法,此功能不会很快出现在 OpenShift 中。
可以在不共享证书和私钥的情况下使用 TLS 处理路由模板。
- 在 TLS secret 中存储 CA 证书、服务器证书和服务器私钥
- oc 获取 tls.key/tls.crt/ca.crt 文件的秘密
- 在路由模板中设置:
- TLS_PRIVATE_KEY/TLS_CERTIFICATE/CA_CERTIFICATE 参数
- tls.key: ${TLS_PRIVATE_KEY}, tls.certificate: ${TLS_CERTIFICATE}, tls.caCertificate: ${CA_CERTIFICATE}
- oc 进程模板与 -p "TLS_PRIVATE_KEY=$(cat tls.key)" -p "TLS_CERTIFICATE=$(cat tls.crt)" -p " CA_CERTIFICATE=$(cat ca.crt)"
Cert Utils Operator is Ability to populate route certificates的功能之一。
假设您有路由 myroute
和秘密 mysecret
:
$ oc annotate route/myroute cert-utils-operator.redhat-cop.io/certs-from-secret=mysecret
运营商随后将负责使用来自秘密的 certificate/key/ca 证书更新路由。
我想知道(以及如何做)从包含我的证书和密钥(或 JAVA 密钥库)或 2 个秘密的秘密在 OpenShift 中创建一个安全的 (tls) 路由(1 个带有证书,另一个带有密钥)这样我就不需要将它们都直接写在“'route.yaml'”文件中,而只需引用它们......
更新:
看起来不可能。除非我确实直通吊舱... 看这里---> https://access.redhat.com/solutions/1582583
不过,我不希望它成为最终答案,因为我认为这应该得到支持。
有人可以告诉我其他情况吗?请!
不幸的是,据我所知,它无法将证书配置为 route
中的 secret
。如果您只想使用 yaml
文件以外的其他方式创建 route
对象,则可以使用以下 CLI 配置 route
。
oc create route edge --service=frontend \
--cert=${MASTER_CONFIG_DIR}/ca.crt \
--key=${MASTER_CONFIG_DIR}/ca.key \
--ca-cert=${MASTER_CONFIG_DIR}/ca.crt \
--hostname=www.example.com
希望对你有帮助:^)
我的 RFE 被 RedHat 关闭了,因为它应该是 OpenShift4 的要求。 与此同时,我开始使用 tls secrets 并直接在我的容器中管理 TLS 终止,而不是在路由上。
事情是这样的。 TLS
有一个秘密类型oc create secret tls mytlsSecret --cert= --key=
希望对您有所帮助!
根据 https://github.com/openshift/origin/issues/2162 的说法,此功能不会很快出现在 OpenShift 中。
可以在不共享证书和私钥的情况下使用 TLS 处理路由模板。
- 在 TLS secret 中存储 CA 证书、服务器证书和服务器私钥
- oc 获取 tls.key/tls.crt/ca.crt 文件的秘密
- 在路由模板中设置:
- TLS_PRIVATE_KEY/TLS_CERTIFICATE/CA_CERTIFICATE 参数
- tls.key: ${TLS_PRIVATE_KEY}, tls.certificate: ${TLS_CERTIFICATE}, tls.caCertificate: ${CA_CERTIFICATE}
- oc 进程模板与 -p "TLS_PRIVATE_KEY=$(cat tls.key)" -p "TLS_CERTIFICATE=$(cat tls.crt)" -p " CA_CERTIFICATE=$(cat ca.crt)"
Cert Utils Operator is Ability to populate route certificates的功能之一。
假设您有路由 myroute
和秘密 mysecret
:
$ oc annotate route/myroute cert-utils-operator.redhat-cop.io/certs-from-secret=mysecret
运营商随后将负责使用来自秘密的 certificate/key/ca 证书更新路由。