Flux创建HelmRelease时无法找到已存在的OCI源问题
问题:Flux创建HelmRelease时提示OCI源找不到(实际已存在)
问题详情
使用GCP Artifact Registry作为Helm Chart仓库,已成功创建OCI源regapp-repo(状态显示就绪),但执行Flux创建HelmRelease命令时出现context deadline exceeded错误,事件日志提示HelmRepository.source.toolkit.fluxcd.io "regapp-repo" not found,但该源实际存在。
创建OCI源的命令
flux create source oci regapp-repo \ --url=oci://us-central1-docker.pkg.dev/XXXXXX/regapp-helm-charts/regapp-chart \ --tag=0.1.0 \ --interval=10m \ --namespace=development \ --secret-ref=artifact-registry
源状态日志(执行flux get sources all -A)
NAMESPACE NAME REVISION SUSPENDED READY MESSAGE development ocirepository/regapp-repo 0.1.0@sha256:fbb4b784 False True stored artifact for digest '0.1.0@sha256:fbb4b784'
创建HelmRelease的命令(错误版本)
flux create hr regapp-release \ --interval=10m \ --source=HelmRepository/regapp-repo.development \ --chart=regapp-chart \ --chart-version="0.1.0" \ --namespace=development
报错信息
✗ client rate limiter Wait returned an error: context deadline exceeded
事件日志(执行kubectl get events -n development --field-selector type=Warning)
LAST SEEN TYPE REASON OBJECT MESSAGE 13h Warning SourceUnavailable helmchart/development-regapp-release failed to get source: HelmRepository.source.toolkit.fluxcd.io "regapp-repo" not found
解决方法
问题核心是HelmRelease命令中--source参数的资源类型指定错误:你创建的是OCI源(对应资源类型OCIRepository),但命令里写的是HelmRepository,Flux找不到对应类型的资源,最终触发超时错误。
修正后的HelmRelease创建命令:
flux create hr regapp-release \ --interval=10m \ --source=OCIRepository/regapp-repo.development \ --chart=regapp-chart \ --chart-version="0.1.0" \ --namespace=development
补充说明
- Flux中不同源类型对应不同的资源标识符:OCI源用
OCIRepository,传统HTTP Helm仓库用HelmRepository - 如果HelmRelease和OCI源在同一命名空间,
--source可以简化为OCIRepository/regapp-repo
内容的提问来源于stack exchange,提问作者Gedrimas
相关产品推荐
相关产品推荐

