如何使用新的容器映像更新openshift kube-apiserver组件?

时间:2020-08-25 03:53:28

标签: components openshift kube-apiserver

Openshift提供了更新方式,可以实时更新整个平台。而我(也许还有其他人)只需要更新一些特定组件。

可以通过管理操作员并相应地设置映像来用新的容器映像更新控制台,openshift-apiserver等组件。 例如,要更新openshift-apiserver组件,请执行以下步骤:

  1. 禁用openshift apiserver运算符的管理

#oc补丁openshiftapiservers.operator.openshift.io群集--patch'{“ spec”:{“ managementState”:“ Unmanaged”}}'--type = merge

  1. 为openshift apiserver设置新的提示图像

#oc设置映像部署apiserver openshift-apiserver = registry.somecorp.com:5000 / ocp4 / openshift4:openshfit-apiserver-4.4.4-t1 -n openshift-apiserverb

  1. 检查并等待发布状态

#oc推出状态-w deploy / apiserver -n openshift-apiserver

对于基本的kube-apiserver组件,情况有所不同。 首先,禁用相关运算符的方法无效,看来kubeapiserver运算符不支持“非托管”功能。

#oc补丁kubeapiserver.operator.openshift.io群集--patch'{“ spec”:b {“ managementState”:“ Unmanaged”}}'--type = merge KubeAPIServer“群集”无效:spec.managementState:无效 值:“”:主体中的spec.managementState应该匹配 '^(Managed | Force)$'

第二,似乎没有部署,而是将pod用作kube-apiserver。虽然可以为特定的容器/容器设置图像,但我不知道如何应用该设置。

#oc设置映像容器kube-apiserver-master-0 kube-apiserver = registry.somecorp.com:5000 / ocp4 / openshift4:hyperkube-t1 -n openshift-kube-apiserver b pod / kube-apiserver-master-0图片已更新

是否有人可以帮助我找到一种在openshift系统中手动更新kube-apiserver的方法?感谢您提供任何信息。

1 个答案:

答案 0 :(得分:0)

使用此处描述的选项A(https://github.com/openshift/enhancements/blob/master/enhancements/operator-dev-doc.md),可以为正在运行的集群真正更新kube-apiserver组件。