$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
配置证书轮换参数以替换现有证书。
您可以在 OpenShift Virtualization 安装期间在 Web 控制台中进行此操作,或者在安装后在HyperConverged
自定义资源 (CR) 中进行此操作。
运行以下命令打开HyperConverged
CR
$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
按以下示例所示编辑spec.certConfig
字段。为避免系统过载,请确保所有值都大于或等于 10 分钟。所有值都应表达为符合golang ParseDuration
格式的字符串。
apiVersion: hco.kubevirt.io/v1beta1
kind: HyperConverged
metadata:
name: kubevirt-hyperconverged
namespace: openshift-cnv
spec:
certConfig:
ca:
duration: 48h0m0s
renewBefore: 24h0m0s (1)
server:
duration: 24h0m0s (2)
renewBefore: 12h0m0s (3)
1 | ca.renewBefore 的值必须小于或等于ca.duration 的值。 |
2 | server.duration 的值必须小于或等于ca.duration 的值。 |
3 | server.renewBefore 的值必须小于或等于server.duration 的值。 |
将 YAML 文件应用到您的集群。
删除一个或多个certConfig
值会导致它们恢复为默认值,除非默认值与以下条件之一冲突
ca.renewBefore
的值必须小于或等于ca.duration
的值。
server.duration
的值必须小于或等于ca.duration
的值。
server.renewBefore
的值必须小于或等于server.duration
的值。
如果默认值与这些条件冲突,您将收到错误消息。
如果您在以下示例中删除server.duration
值,则默认值24h0m0s
将大于ca.duration
的值,这与指定的条件冲突。
certConfig:
ca:
duration: 4h0m0s
renewBefore: 1h0m0s
server:
duration: 4h0m0s
renewBefore: 4h0m0s
这将导致以下错误消息
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 值。