【问题标题】:how to update openshift kube-apiserver component with a new container image?如何使用新的容器映像更新 openshift kube-apiserver 组件?
【发布时间】:2020-12-13 17:30:54
【问题描述】:

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

通过管理operator和设置镜像,可以用新的容器镜像更新console、openshift-apiserver等组件。 例如,要更新 openshift-apiserver 组件,可以执行以下步骤:

  1. 禁用对openshift apiserver operator的管理

#oc patch openshiftapiservers.operator.openshift.io cluster --patch '{ "spec": { "managementState": "Unmanaged" } }' --type=merge

  1. 为 openshift apiserver 部署设置新的容器映像

#oc set image deploy apiserver openshift-apiserver=registry.somecorp.com:5000/ocp4/openshift4:openshfit-apiserver-4.4.4-t1 -n openshift-apiserverb

  1. 检查并等待推出状态

#oc rollout status -w deploy/apiserver -n openshift-apiserver

对于基本的 kube-apiserver 组件,情况有所不同。 首先,禁用相关算子的方法不起作用,kubeapiserver算子似乎不支持“非托管”功能。

#oc patch kubeapiserver.operator.openshift.io cluster --patch '{ "spec": b { "managementState": "Unmanaged" } }' --type=merge KubeAPIServer“集群”无效:spec.managementState: Invalid 值:“”:正文中的 spec.managementState 应该匹配 '^(托管|强制)$'

其次,似乎只是 pod 用于 kube-apiserver,而不是部署。虽然有办法为特定的 pod/容器设置图像,但我不知道如何应用设置。

#oc set image pod 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 的方法?感谢您提供任何信息。

【问题讨论】:

    标签: components openshift kube-apiserver


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2019-05-08
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-14
      • 2018-11-28
      • 1970-01-01
      相关资源
      最近更新 更多