4.5. 配置证书轮转
配置证书轮转参数以替换现有证书。
4.5.1. 配置证书轮转 复制链接链接已复制到粘贴板!
您可以在 web 控制台中的 OpenShift Virtualization 安装过程中,或者在安装 HyperConverged 自定义资源(CR)后完成此操作。
先决条件
-
已安装 OpenShift CLI(
oc)。
流程
运行以下命令打开
HyperConvergedCR:oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnvCopy to Clipboard Copied! Toggle word wrap Toggle overflow 按照以下示例所示,编辑
spec.certConfig字段。要避免系统过载,请确保所有值都大于或等于 10 分钟。将所有值显示为符合 golangParseDuration格式的字符串。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ca.renewBefore的值必须小于或等于ca.duration的值。 -
server.duration的值必须小于或等于ca.duration的值。 -
server.renewBefore的值必须小于或等于server.duration的值。
-
运行以下命令,将更新应用到
HyperConvergedCR:oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc apply -f kubevirt-hyperconverged.yaml
$ oc apply -f kubevirt-hyperconverged.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.2. 证书轮转参数故障排除 复制链接链接已复制到粘贴板!
删除 HyperConverged 自定义资源(CR)中的一个或多个 certConfig 值会导致 certConfig 值恢复到默认值。
如果默认值与以下条件之一冲突,您会收到错误消息:
-
ca.renewBefore的值必须小于或等于ca.duration的值。 -
server.duration的值必须小于或等于ca.duration的值。 -
server.renewBefore的值必须小于或等于server.duration的值。
例如,如果您删除了 server.duration 值,则默认值 24h0m0s 大于 ca.duration 的值,这与指定条件冲突:
这会生成以下出错信息:
error: hyperconvergeds.hco.kubevirt.io "kubevirt-hyperconverged" could not be patched: admission webhook "validate-hco.kubevirt.io" denied the request: spec.certConfig: ca.duration is smaller than server.duration
error: hyperconvergeds.hco.kubevirt.io "kubevirt-hyperconverged" could not be patched: admission webhook "validate-hco.kubevirt.io" denied the request: spec.certConfig: ca.duration is smaller than server.duration
错误消息仅提及第一个冲突。在继续操作前,请查看所有 certConfig 值。