harbor升级报错

  • Choerodon平台版本: 0.23.0

  • 遇到问题的执行步骤:

  • 文档地址:

  • 环境信息(如:节点信息):
    v1.8.1 升级到 1.10

  • 报错日志:
    kubectl logs -f -n kube-system harbor-harbor-core-6cdbc795fc-m96n7

2021-05-18T04:06:06Z [INFO] [/replication/adapter/harbor/adapter.go:40]: the factory for adapter harbor registered
2021-05-18T04:06:06Z [INFO] [/replication/adapter/dockerhub/adapter.go:25]: Factory for adapter docker-hub registered
2021-05-18T04:06:06Z [INFO] [/replication/adapter/huawei/huawei_adapter.go:27]: the factory of Huawei adapter was registered
2021-05-18T04:06:06Z [INFO] [/replication/adapter/googlegcr/adapter.go:29]: the factory for adapter google-gcr registered
2021-05-18T04:06:06Z [INFO] [/replication/adapter/awsecr/adapter.go:47]: the factory for adapter aws-ecr registered
2021-05-18T04:06:06Z [INFO] [/replication/adapter/azurecr/adapter.go:15]: Factory for adapter azure-acr registered
2021-05-18T04:06:06Z [INFO] [/replication/adapter/aliacr/adapter.go:26]: the factory for adapter ali-acr registered
2021-05-18T04:06:06Z [INFO] [/replication/adapter/jfrog/adapter.go:30]: the factory of jfrog artifactory adapter was registered
2021-05-18T04:06:06Z [INFO] [/replication/adapter/quayio/adapter.go:34]: the factory of Quay.io adapter was registered
2021-05-18T04:06:06Z [INFO] [/replication/adapter/helmhub/adapter.go:30]: the factory for adapter helm-hub registered
2021-05-18T04:06:06Z [INFO] [/replication/adapter/gitlab/adapter.go:19]: the factory for adapter gitlab registered
2021-05-18T04:06:06Z [INFO] [/core/controllers/base.go:289]: Config path: /etc/core/app.conf
2021-05-18T04:06:06Z [INFO] [/core/main.go:177]: initializing configurations...
2021-05-18T04:06:06Z [INFO] [/core/config/config.go:100]: key path: /etc/core/key
2021-05-18T04:06:06Z [INFO] [/core/config/config.go:73]: init secret store
2021-05-18T04:06:06Z [INFO] [/core/config/config.go:76]: init project manager based on deploy mode
2021-05-18T04:06:06Z [INFO] [/core/config/config.go:145]: initializing the project manager based on local database...
2021-05-18T04:06:06Z [INFO] [/core/main.go:181]: configurations initialization completed
2021-05-18T04:06:06Z [INFO] [/common/dao/base.go:84]: Registering database: type-PostgreSQL host-harbor-harbor-database port-5432 databse-registry sslmode-"disable"
2021-05-18T04:06:06Z [INFO] [/common/dao/base.go:89]: Register database completed
2021-05-18T04:06:06Z [INFO] [/common/dao/pgsql.go:129]: Upgrading schema for pgsql ...
2021-05-18T04:06:06Z [INFO] [/common/dao/pgsql.go:132]: No change in schema, skip.
2021-05-18T04:06:06Z [INFO] [/core/main.go:83]: User id: 1 already has its encrypted password.
2021-05-18T04:06:06Z [INFO] [/chartserver/cache.go:184]: Enable redis cache for chart caching
2021-05-18T04:06:06Z [INFO] [/chartserver/reverse_proxy.go:58]: New chart server traffic proxy with middlewares
2021-05-18T04:06:06Z [INFO] [/core/api/chart_repository.go:607]: API controller for chart repository server is successfully initialized
2021-05-18T04:06:06Z [INFO] [/common/dao/base.go:64]: initialized clair database
2021-05-18T04:06:06Z [INFO] [/core/main.go:245]: initializing notification...
2021-05-18T04:06:06Z [INFO] [/pkg/notification/notification.go:50]: notification initialization completed
2021-05-18T04:06:06Z [INFO] [/core/main.go:269]: Because SYNC_REGISTRY set false , no need to sync registry
2021-05-18T04:06:06Z [INFO] [/core/main.go:272]: Init proxy
2021-05-18T04:06:06Z [ERROR] [/core/main.go:280]: Failed to parse SYNC_QUOTA: strconv.ParseBool: parsing "": invalid syntax
2021-05-18T04:06:06Z [INFO] [/core/main.go:110]: Start to sync quota data .....
2021-05-18T04:06:06Z [INFO] [/core/api/quota/migrator.go:90]: [Quota-Sync]:: start to ping server ... [chart]
2021-05-18T04:06:06Z [INFO] [/core/api/quota/migrator.go:95]: [Quota-Sync]:: success to ping server ... [chart]
2021-05-18T04:06:06Z [INFO] [/core/api/quota/migrator.go:96]: [Quota-Sync]:: start to dump data from server ... [chart]
2021-05-18T04:06:06Z [INFO] [/chartserver/cache.go:184]: Enable redis cache for chart caching
2021-05-18T04:06:06Z [INFO] [/core/api/quota/chart/chart.go:218]: API controller for chart repository server is successfully initialized
2021-05-18T04:06:06Z [INFO] [/core/api/quota/migrator.go:102]: [Quota-Sync]:: success to dump data from server ... [chart]
2021-05-18T04:06:06Z [INFO] [/core/api/quota/migrator.go:109]: [Quota-Sync]:: start to persist data for server ... [chart]
2021-05-18T04:06:06Z [INFO] [/core/api/quota/migrator.go:114]: [Quota-Sync]:: success to persist data for server ... [chart]
2021-05-18T04:06:06Z [INFO] [/core/api/quota/migrator.go:90]: [Quota-Sync]:: start to ping server ... [registry]
2021-05-18T04:06:06Z [INFO] [/core/api/quota/migrator.go:95]: [Quota-Sync]:: success to ping server ... [registry]
2021-05-18T04:06:06Z [INFO] [/core/api/quota/migrator.go:96]: [Quota-Sync]:: start to dump data from server ... [registry]
  • 这个算是 warn 级别的错误而已,不用理会

    2021-05-18T04:06:06Z [ERROR] [/core/main.go:280]: Failed to parse SYNC_QUOTA: strconv.ParseBool: parsing "": invalid syntax
    
  • 这里也开始了配额数据同步

    2021-05-18T04:06:06Z [INFO] [/core/main.go:110]: Start to sync quota data .....
    

Note:

  • 如果你的harbor仓库中镜像有很多很多,请修大 deployment harbor-harbor-core 存活探针的起始检测值initialDelaySeconds

  • 若因同步时数据库出现报错重启,则跳过额数据同步,修改 configmap harbor-harbor-core 添加变量 SYNC_QUOTA: "false"

helm upgrade harbor c7n/harbor --version 1.5.4     --set persistence.persistentVolumeClaim.trivy.storageClass=nfs-provisioner     --reset-values     -n kube-system
Error: UPGRADE FAILED: error validating "": error validating data: ValidationError(Deployment.spec.template.spec.containers[0]): unknown field "startupProbe" in io.k8s.api.core.v1.Container

升级2.1报错

startupProbe 是 k8s 1.17 之后添加的,可以在 harbor.yaml 添加下面的配置去掉 startupProbe

core:
  startupProbe:
    enabled: false

也可以在升级命令中加上 --set core.startupProbe. enabled=false

helm upgrade harbor c7n/harbor --version 1.5.4 \
    --set persistence.persistentVolumeClaim.trivy.storageClass=nfs-provisioner \
    --set core.startupProbe. enabled=false \
    --reset-values \
    -n c7n-system

自己pull 下来改?

在 harbor.yaml 文件改

哪来的 harbor.yaml 。。。,我的意思 是要 自己 helm pull harbor 然后改吗??