ArgoCD从v2.3.0升级至v2.4.0后点击资源出现缓存错误求助
解决ArgoCD v2.4.0升级后资源详情缓存错误问题
问题描述
测试环境(tst environment)将ArgoCD从v2.3.0升级至v2.4.0后,可正常登录并查看应用列表,但点击应用内的Pod、Deployment等资源时,无法显示详情,弹出错误:
ARGOCD- Cache error (Unable to load data: error getting cached app state: cache: key is missing)
可行解决方案
- 重启ArgoCD应用控制器
缓存错误多因升级后旧缓存数据不兼容导致,重启控制器会清理旧缓存并重建:kubectl rollout restart deployment argocd-application-controller -n argocd - 清理ArgoCD Redis缓存
若重启控制器无效,可直接清理Redis缓存(注意:会清除所有ArgoCD缓存数据,需确认无业务影响):- 进入Redis Pod:
kubectl exec -it $(kubectl get pods -n argocd -l app.kubernetes.io/name=redis -o name) -n argocd -- redis-cli - 执行清空缓存命令:
FLUSHALL - 退出Redis Shell后,重启所有ArgoCD组件确保生效:
kubectl rollout restart deployment -n argocd argocd-server argocd-application-controller argocd-repo-server
- 进入Redis Pod:
- 检查ArgoCD组件版本一致性
确认所有ArgoCD组件(server、controller、repo-server等)均已升级至v2.4.0,避免版本不一致引发的缓存兼容问题:kubectl get pods -n argocd -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.containers[0].image}{"\n"}'
补充说明
该问题属于ArgoCD跨版本升级时的缓存兼容性问题,v2.3.x到v2.4.x的缓存存储结构存在变更,旧缓存未被自动清理会触发此错误。
内容的提问来源于stack exchange,提问作者Sherzod
相关产品推荐
相关产品推荐

