Что я пытаюсь сделать
Я пытаюсь развернуть обновление для рулевой диаграммы на моем кластере k8s (GKE) с использованием конвейера CI / CD (Google Container Builder), но получаю ошибку.
Что я использую
Google Cloud SDK 195.0.0
Версия кластера GKE: v1.9.6-gke.0
kubectl v1.8.6
Я использую этот строитель: https://github.com/GoogleCloudPlatform/cloud-builders-community/tree/master/helm
Я запускаю сборку так:
gcloud container builds submit . --config=cloudbuild.yaml --substitutions=TAG_NAME=v0.1.8
Вот раздел cloudbuild.yaml, который вызывает эту ошибку:
- name: 'gcr.io/$PROJECT_ID/helm'
args:
- upgrade
- mmh-user
- ./mmh-users-0.1.7.tgz
- --reuse-values
- --set
- image.tag=${TAG_NAME}
env:
- 'CLOUDSDK_COMPUTE_ZONE=northamerica-northeast1-a'
- 'CLOUDSDK_CONTAINER_CLUSTER=mycluster'
Ошибка, которую я получаю на этом шаге:
Starting Step #17
Step #17: Already have image (with digest): gcr.io/myproject-2018/helm
Step #17: Running: helm init --client-only
Step #17: $HELM_HOME has been configured at /builder/home/.helm.
Step #17: Not installing Tiller due to 'client-only' flag having been set
Step #17: Happy Helming!
Step #17: Running: helm repo update
Step #17: Hang tight while we grab the latest from your chart repositories...
Step #17: ...Skip local chart repository
Step #17: ...Successfully got an update from the "stable" chart repository
Step #17: Update Complete. ⎈ Happy Helming!⎈
Step #17: Running: helm upgrade mmh-user ./mmh-users-0.1.7.tgz --reuse-values --set image.tag=v0.1.8
Step #17: Error: UPGRADE FAILED: failed to create patch: failed to get versionedObject: unable to convert unstructured object to extensions/v1beta1, Kind=Ingress: unrecognized type: string
Finished Step #17
Что я пытался сделать, чтобы найти причину / решение:
- Когда я запускаю эту команду (
helm upgrade mmh-user ./mmh-users-0.1.7.tgz --reuse-values --set image.tag=v0.1.8
) с моего ноутбука, никаких проблем.
- Я попытался уменьшить cloudbuild.yaml, чтобы он содержал только шаги, необходимые для обновления руля, та же ошибка.
- Ci / cd может нормально выполнять шаги helm lint и package. Не удалось выполнить только шаг обновления.
- Я проверил версию Helm 2.8.2 как на моем ноутбуке, так и на ci / cd.
- Когда я использую --debug --dry-run, он не сообщает об ошибках и показывает то, что кажется допустимым yaml, даже вблизи входа
Какие-нибудь подсказки относительно того, что еще я мог сделать, чтобы найти причину / решение?