3.9. 集群升级器故障排除
如果您在为安全集群使用旧的安装方法并启用自动更新时遇到问题,您可以尝试对问题进行故障排除。当升级器失败时,集群视图中可以找到以下错误。
3.9.1. 升级器缺少权限 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
症状
集群页面中会显示以下错误:
Upgrader failed to execute PreflightStage of the roll-forward workflow: executing stage "Run preflight checks": preflight check "Kubernetes authorization" reported errors. This usually means that access is denied. Have you configured this Secured Cluster for automatically receiving upgrades?"
流程
- 在点 Download YAML 文件和密钥 之前,确保为安全集群生成的捆绑包启用了将来的升级。
- 如果可能,请删除该安全集群并生成一个新的捆绑包,以确保启用了将来的升级。
如果无法重新创建集群,您可以执行以下操作:
-
确保服务帐户
sensor-upgrader存在于与 Sensor 相同的命名空间中。 -
确保存在 ClusterRoleBinding (默认 name: <
;namespace>:upgrade-sensors),它将cluster-adminClusterRole 赋予sensor-upgrader服务帐户。
-
确保服务帐户
3.9.2. 因为缺少镜像而无法启动 upgrader 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
症状
集群页面中会显示以下错误:
"Upgrade initialization error: The upgrader pods have trouble pulling the new image: Error pulling image: (...) (<image_reference:tag>: not found)"
流程
-
确保 Secured Cluster 可以访问 registry,并拉取镜像 <
image_reference:tag>。 - 确保在安全集群中正确配置了镜像 pull secret。
3.9.3. 升级器因为未知原因无法启动 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
症状
集群页面中会显示以下错误:
"Upgrade initialization error: Pod terminated: (Error)"
流程
- 确保 upgrader 有足够的权限来访问集群对象。如需更多信息,请参阅"Upgrader is missing permissions"。
- 查看 upgrader 日志以了解更多信息。
3.9.3.1. 获取升级器日志 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
运行以下命令可以访问日志:
$ kubectl -n <namespace> logs deploy/sensor-upgrader
其中:
<namespace>- 指定运行 Sensor 的命名空间。
通常,升级器部署只在进行升级时短时间内在集群中运行。稍后它会被删除,因此使用编配器 CLI 访问其日志可能需要适当的时间。