$ oc -n knative-serving create secret generic custom-secret --from-file=<secret_name>.crt=<path_to_certificate>
如果 Knative Serving 控制器可以访问容器注册表,则在创建服务版本时,Knative Serving 会将镜像标签解析为摘要。这被称为标签到摘要解析,有助于为部署提供一致性。
要使控制器能够访问 OpenShift Container Platform 上的容器注册表,必须创建一个密钥,然后配置控制器自定义证书。可以通过修改KnativeServing
自定义资源 (CR) 中的controller-custom-certs
规范来配置控制器自定义证书。密钥必须位于与KnativeServing
CR 相同的命名空间中。
如果KnativeServing
CR 中不包含密钥,则此设置默认为使用公钥基础设施 (PKI)。使用 PKI 时,集群范围的证书会使用config-service-sa
配置映射自动注入到 Knative Serving 控制器中。OpenShift Serverless 运算符使用集群范围的证书填充config-service-sa
配置映射,并将配置映射作为卷安装到控制器中。
如果controller-custom-certs
规范使用Secret
类型,则密钥将作为密钥卷安装。Knative 组件直接使用密钥,假设密钥具有所需的证书。
您拥有 OpenShift Container Platform 上的集群管理员权限,或者您拥有 Red Hat OpenShift Service on AWS 或 OpenShift Dedicated 上的集群或专用管理员权限。
您已在集群上安装了 OpenShift Serverless 运算符和 Knative Serving。
创建密钥
$ oc -n knative-serving create secret generic custom-secret --from-file=<secret_name>.crt=<path_to_certificate>
配置KnativeServing
自定义资源 (CR) 中的controller-custom-certs
规范以使用Secret
类型
apiVersion: operator.knative.dev/v1beta1
kind: KnativeServing
metadata:
name: knative-serving
namespace: knative-serving
spec:
controller-custom-certs:
name: custom-secret
type: Secret