Kuby-core: Krane::FatalDeploymentError: Vorlagenvalidierung fehlgeschlagen

Erstellt am 11. Aug. 2020  ·  13Kommentare  ·  Quelle: getkuby/kuby-core

Beim Ausfahren explodiert der Kran. Dies ist ein Deployment mit v. 0.7.0

KUBY_DOCKER_TAG=latest bundle exec rake kuby:deploy --trace Ich habe das Tag auf Latest gesetzt, um das andere Problem zu umgehen :)

Das bekomme ich:

* Aufruf von kuby:deploy (first_time)* Führen Sie kuby:deploy aus
Globale Ressource, Namespace „my-app-production“ wird validiert
namespace/my-app-production konfiguriert (Probelauf)
Namespace „my-app-production“ bereitstellen
namespace/my-app-production unverändert
[INFO][2020-08-11 09:15:10 +0200]
[INFO][2020-08-11 09:15:10 +0200] --------------------------------- ---Phase 1: Bereitstellung initialisieren-----------------------------------
[INFO][2020-08-11 09:15:11 +0200] Alle erforderlichen Parameter und Dateien sind vorhanden
[INFO][2020-08-11 09:15:11 +0200] Ressourcen entdecken:
[INFO][2020-08-11 09:15:13 +0200] – Bereitstellung/my-app-web
[INFO][2020-08-11 09:15:13 +0200] – Geheimnis/my-app-web-mysql-secret
[INFO][2020-08-11 09:15:13 +0200] – ServiceAccount/my-app-sa
[INFO][2020-08-11 09:15:13 +0200] – ConfigMap/my-app-config
[INFO][2020-08-11 09:15:13 +0200] – Geheimnis/meine-App-Registrierung-geheim
[INFO][2020-08-11 09:15:13 +0200] – Ingress/My-App-Ingress
[INFO][2020-08-11 09:15:13 +0200] – Geheime/Meine-App-Geheimnisse
[INFO][2020-08-11 09:15:13 +0200] – ClusterIssuer/letsencrypt-Produktion
[INFO][2020-08-11 09:15:13 +0200] – MySQL/my-app-web-mysql
[INFO][2020-08-11 09:15:13 +0200] – Geheimnis/my-app-web-mysql-secret
[INFO][2020-08-11 09:15:13 +0200] – MySQL/my-app-web-mysql
[INFO][2020-08-11 09:15:13 +0200] - Service/my-app-svc
[INFO][2020-08-11 09:15:15 +0200]
[INFO][2020-08-11 09:15:15 +0200] --------------------------------- ---------Ergebnis: FEHLER---------------------------------------------------- -----
[FATAL][2020-08-11 09:15:16 +0200] Vorlagenvalidierung fehlgeschlagen
[FATAL][2020-08-11 09:15:16 +0200]
[FATAL][2020-08-11 09:15:16 +0200] Ungültige Vorlage: ClusterIssuer-letsencrypt-production20200811-60914-uybj4y.yml
[FATAL][2020-08-11 09:15:16 +0200] > Fehlermeldung:
[FATAL][2020-08-11 09:15:16 +0200] W0811 09:15:13.103161 60953 helpers.go:535] --dry-run ist veraltet und kann durch --dry-run=client ersetzt werden.
[FATAL][2020-08-11 09:15:16 +0200] Fehler: "/var/folders/9l/3dw7rcl51pq4jfs0kjg99f7c0000gn/T/ClusterIssuer-letsencrypt-production20200811-60914-uybj4y.yml" kann nicht erkannt werden: keine Übereinstimmungen für Art "ClusterIssuer" in Version "cert-manager.io/v1alpha2"
[FATAL][2020-08-11 09:15:16 +0200] > Vorlageninhalt:
[FATAL][2020-08-11 09:15:16 +0200] ---
[FATAL][2020-08-11 09:15:16 +0200] apiVersion: cert-manager.io/v1alpha2
[FATAL][2020-08-11 09:15:16 +0200] Art: ClusterIssuer
[FATAL][2020-08-11 09:15:16 +0200] Metadaten:
[FATAL][2020-08-11 09:15:16 +0200] Name: letsencrypt-production
[FATAL][2020-08-11 09:15:16 +0200] Namensraum: Zertifikatsmanager
[FATAL][2020-08-11 09:15:16 +0200] Spezifikation:
[FATAL][2020-08-11 09:15:16 +0200] Höhepunkt:
[FATAL][2020-08-11 09:15:16 +0200]-Server: https://acme-v02.api.letsencrypt.org/directory
[FATAL][2020-08-11 09:15:16 +0200] E-Mail: [email protected]
[FATAL][2020-08-11 09:15:16 +0200] privateKeySecretRef:
[FATAL][2020-08-11 09:15:16 +0200] Name: letsencrypt-production
[FATAL][2020-08-11 09:15:16 +0200] Löser:
[FATAL][2020-08-11 09:15:16 +0200] - http01:
[FATAL][2020-08-11 09:15:16 +0200] Eindringen:
[FATAL][2020-08-11 09:15:16 +0200] Klasse: nginx
[FATAL][2020-08-11 09:15:16 +0200]
[FATAL][2020-08-11 09:15:16 +0200]
[FATAL][2020-08-11 09:15:16 +0200] Ungültige Vorlage: MySQL-my-app-web-mysql20200811-60914-1rs7vqx.yml
[FATAL][2020-08-11 09:15:16 +0200] > Fehlermeldung:
[FATAL][2020-08-11 09:15:16 +0200] W0811 09:15:13.122295 60956 helpers.go:535] --dry-run ist veraltet und kann durch --dry-run=client ersetzt werden.
[FATAL][2020-08-11 09:15:16 +0200] Fehler: "/var/folders/9l/3dw7rcl51pq4jfs0kjg99f7c0000gn/T/MySQL-my-app-web-mysql20200811-60914-1rs7vqx.yml" kann nicht erkannt werden : keine Übereinstimmungen für Art „MySQL“ in Version „kubedb.com/v1alpha1“
[FATAL][2020-08-11 09:15:16 +0200] > Vorlageninhalt:
[FATAL][2020-08-11 09:15:16 +0200] ---
[FATAL][2020-08-11 09:15:16 +0200] Art: MySQL
[FATAL][2020-08-11 09:15:16 +0200] apiVersion: kubedb.com/v1alpha1
[FATAL][2020-08-11 09:15:16 +0200] Spezifikation:
[FATAL][2020-08-11 09:15:16 +0200] Kündigungsrichtlinie: DoNotTerminate
[FATAL][2020-08-11 09:15:16 +0200] Speichertyp: Langlebig
[FATAL][2020-08-11 09:15:16 +0200] Version: 5.7-v2
[FATAL][2020-08-11 09:15:16 +0200] Speicherung:
[FATAL][2020-08-11 09:15:16 +0200] Zugriffsmodi:
[FATAL][2020-08-11 09:15:16 +0200] – ReadWriteOnce
[FATAL][2020-08-11 09:15:16 +0200] storageClassName: do-block-storage
[FATAL][2020-08-11 09:15:16 +0200] Ressourcen:
[FATAL][2020-08-11 09:15:16 +0200] Anfragen:
[FATAL][2020-08-11 09:15:16 +0200] Speicher: 10Gi
[FATAL][2020-08-11 09:15:16 +0200] databaseSecret:
[FATAL][2020-08-11 09:15:16 +0200] secretName: my-app-web-mysql-secret
[FATAL][2020-08-11 09:15:16 +0200] Metadaten:
[FATAL][2020-08-11 09:15:16 +0200] Name: my-app-web-mysql
[FATAL][2020-08-11 09:15:16 +0200] Namespace: my-app-production
[FATAL][2020-08-11 09:15:16 +0200]
[FATAL][2020-08-11 09:15:16 +0200]
[FATAL][2020-08-11 09:15:16 +0200] Ungültige Vorlage: MySQL-my-app-web-mysql20200811-60914-1na8no.yml
[FATAL][2020-08-11 09:15:16 +0200] > Fehlermeldung:
[FATAL][2020-08-11 09:15:16 +0200] W0811 09:15:14.705164 60971 helpers.go:535] --dry-run ist veraltet und kann durch --dry-run=client ersetzt werden.
[FATAL][2020-08-11 09:15:16 +0200] Fehler: "/var/folders/9l/3dw7rcl51pq4jfs0kjg99f7c0000gn/T/MySQL-my-app-web-mysql20200811-60914-1na8no.yml" kann nicht erkannt werden : keine Übereinstimmungen für Art „MySQL“ in Version „kubedb.com/v1alpha1“
[FATAL][2020-08-11 09:15:16 +0200] > Vorlageninhalt:
[FATAL][2020-08-11 09:15:16 +0200] ---
[FATAL][2020-08-11 09:15:16 +0200] Art: MySQL
[FATAL][2020-08-11 09:15:16 +0200] apiVersion: kubedb.com/v1alpha1
[FATAL][2020-08-11 09:15:16 +0200] Spezifikation:
[FATAL][2020-08-11 09:15:16 +0200] Kündigungsrichtlinie: DoNotTerminate
[FATAL][2020-08-11 09:15:16 +0200] Speichertyp: Langlebig
[FATAL][2020-08-11 09:15:16 +0200] Version: 5.7-v2
[FATAL][2020-08-11 09:15:16 +0200] Speicherung:
[FATAL][2020-08-11 09:15:16 +0200] Zugriffsmodi:
[FATAL][2020-08-11 09:15:16 +0200] – ReadWriteOnce
[FATAL][2020-08-11 09:15:16 +0200] storageClassName: do-block-storage
[FATAL][2020-08-11 09:15:16 +0200] Ressourcen:
[FATAL][2020-08-11 09:15:16 +0200] Anfragen:
[FATAL][2020-08-11 09:15:16 +0200] Speicher: 10Gi
[FATAL][2020-08-11 09:15:16 +0200] databaseSecret:
[FATAL][2020-08-11 09:15:16 +0200] secretName: my-app-web-mysql-secret
[FATAL][2020-08-11 09:15:16 +0200] Metadaten:
[FATAL][2020-08-11 09:15:16 +0200] Name: my-app-web-mysql
[FATAL][2020-08-11 09:15:16 +0200] Namespace: my-app-production
[FATAL][2020-08-11 09:15:16 +0200]
Rechen abgebrochen!
Krane::FatalDeploymentError: Vorlagenvalidierung fehlgeschlagen

Alle 13 Kommentare

Offenbar kennt Ihr Cluster die Objekte ClusterIssuer oder MySQL nicht. Haben Sie vor der Bereitstellung rake kuby:setup ausgeführt?

Ahhh, diesen Schritt der Anleitung verpasst! Danke!

@traels konntest du die Dinge zum Laufen bringen?

Entschuldigung - vergessen, mich bei Ihnen zu melden!
Ich habe es geschafft, kuby:setup auszuführen - dann ist mein Cluster auf Digital Ocean abgestürzt, also denke ich, dass ich jetzt einen neuen Kubernetes-Cluster erstellen muss, um es erneut zu versuchen. In der Hoffnung, nächste Woche etwas mehr Zeit zum Spielen zu haben.

@traels oh verdammt, wow! Was ist passiert, wenn ich fragen darf?

Weiß nicht - Kuby sagte nur, dass Kubernetes nicht reagiert. Versucht, auf DO neu zu starten, aber das hat nicht geholfen.

Hmm, interessant. Ich habe definitiv Hänger gesehen, als ich versuchte, mit DOKS-Clustern zu kommunizieren. Es repariert sich normalerweise in einer Stunde oder so. Ziemlich beschissene Erfahrung, vielleicht wäre Linode besser?

Heute früh aufgestanden - und jetzt funktioniert mein Cluster, und die Bereitstellung war ein Erfolg :)
... nächste Ausgabe, wie behandelt man Rails-Assets im Docker? mein gesamtes Vermögen fehlt

Hmm, das ist merkwürdig ... Assets sollten in das Docker-Image kompiliert werden. Oh, aber ich wette, nichts dient ihnen! Können Sie versuchen, config.public_file_server.enabled = true in Ihrer production.rb festzulegen? Das sollte die Dinge beheben. Ich werde auch einen Fehler melden, da das wahrscheinlich sofort funktionieren sollte :)

Auf Kubernetes stellen die Leute also Assets mit dem Ruby-Webserver bereit?

Nein, aber das ist die schnellste Lösung, die mir eingefallen ist, hehe. Kuby sollte eine bessere Option haben, aber es wird etwas Arbeit erfordern.

Ich sollte etwas erweitern: Die meisten Leute mit Rails-Apps jeglicher Größenordnung neigen dazu, statische Assets von einem CDN bereitzustellen. Der Ursprung dieser Assets ist normalerweise so etwas wie ein S3-Bucket, könnte aber auch die Rails-App selbst sein. Da das CDN in 99 % der Fälle die Assets bereitstellt, sollte die anfängliche Abfrage der Rails-App die Leistung nicht allzu sehr beeinträchtigen.

Gestern ein Problem eingereicht, um dies zu verfolgen: https://github.com/getkuby/kuby-core/issues/12

Kuby v0.8.0 wird mit einem voll funktionsfähigen Asset-Server (nginx) geliefert, sodass die App selbst keine Assets mehr bereitstellen muss :)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

hovancik picture hovancik  ·  5Kommentare

kingdonb picture kingdonb  ·  6Kommentare

alexcoplan picture alexcoplan  ·  3Kommentare

gavinhughes picture gavinhughes  ·  3Kommentare

vangberg picture vangberg  ·  3Kommentare