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?"
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-admin
ClusterRole 赋予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)"
"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)"
"Upgrade initialization error: Pod terminated: (Error)"
流程
- 确保 upgrader 有足够的权限来访问集群对象。如需更多信息,请参阅"Upgrader is missing permissions"。
- 查看 upgrader 日志以了解更多信息。
3.9.3.1. 获取升级器日志 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
运行以下命令可以访问日志:
kubectl -n <namespace> logs deploy/sensor-upgrader
$ kubectl -n <namespace> logs deploy/sensor-upgrader
- 1
- 对于
<namespace
>,指定运行 Sensor 的命名空间。
通常,升级器部署只在进行升级时短时间内在集群中运行。稍后它会被删除,因此使用编配器 CLI 访问其日志可能需要适当的时间。