Quantum-Cli 2.6.0

quantum-cli ist ein von Planetary Quantum entwickeltes Werkzeug für Kunden unserer Plattform.

Aktuell bietet quantum-cli bereits Integrationsmöglichkeiten für CI/CD-Pipelines (z.B. mit Jenkins, Drone, Github, Gitlab) unserer Kunden. Unser aktuelles quantum-cli Release fügt zwei weitere Sub-Commands (quantum-cli) ps und (quantum-cli) exec hinzu. Diese Funktionen haben wir auf Wunsch unserer Kunden entwickelt und vereinfachen den täglichen Umgang mit Containern auf der Quantum Plattform deutlich.

quantum-cli ps

„ps“ Zeigt Ihnen laufende Tasks (Container) auf Ihrem Cluster an. So eignet sich die Ausgabe zum Beispiel um einen bestimmten Task (Container) zu finden, oder für schnelles Debuggen/Troubleshooting bei Problemen.

quantum-cli exec

Mit „exec“ steigen Sie direkt in einen Container ein.

Voraussetzung dafür ist, dass im Container eine Shell installiert hat. Und dann ist mit „exec“ zum Beispiel das Ausführen von Datenbankmigration, einfaches Debugging/Troubleshooting und das Livetesten von Änderungen in Containern jeder Zeit möglich.

Alle Filter lassen sich nicht nur über die Flags am jeweiligen Subcommand, –stack und –service, sondern auch über Umgebungsvariablen (QUANTUM_STACK und QUANTUM_SERVICE — sowie die bereits vorhanden QUANTUM_ENDPOINT, QUANTUM_USER und QUANTUM_PASSWORD) steuern. Im Repository-Context  vermeiden Sie damit unnötige Schreibarbeit und kommen schnell zum Ziel: Zugriff auf die für Ihr Projekt laufenden Services und Tasks. Wir empfehlen dafür das Werkzeug direnv.

quantum-cli ps

Der folgende Ausschnitt zeigt alle Services (und Tasks) aus einem Stack („quantum-id-production“). Zu jedem Service wird ein Status angezeigt, ggf. die Task-ID und Slot (welche optional bei exec verwendet werden können). Außerdem stellen wir dar wann der Service zuletzt aktualisiert wurde (oder wann ein Deployment stattfand), sowie das aktuell verwendete Dockerimage. Mit dem Filter –all, können Sie sich außerdem historische Daten zum Service anzeigen lassen.

				
					❯ quantum-cli ps --stack quantum-id-production
■ stack quantum-id-production
  ■ service nginx ──────────────────────────────────────────────────── replicated 1/1
    STATUS   ID       SLOT UPDATED             NODE                     IMAGE
    running  09d223e1    1 2021-09-27 09:40:14 node-00x.*** r.planetary-quantum.com/***-nginx:0.3
  ■ service php ────────────────────────────────────────────────────── replicated 1/1
    STATUS   ID       SLOT UPDATED             NODE                     IMAGE
    running  d294700c    1 2021-09-27 09:40:28 node-00y.*** r.planetary-quantum.com/***id-bothend:0.3
  ■ service redis ──────────────────────────────────────────────────── replicated 1/1
    STATUS   ID       SLOT UPDATED             NODE                     IMAGE
    running  42309ac0    1 2021-09-27 07:12:08 node-00y.*** redis:latest
  ■ service mysql ──────────────────────────────────────────────────── replicated 1/1
    STATUS   ID       SLOT UPDATED             NODE                     IMAGE
    running  7790bfc4    1 2021-09-27 07:12:12 node-00x.*** mysql:5.7
				
			

quantum-cli exec

Der folgende Ausschnitt zeigt eine interaktive Verbindung mit einem MySQL-Container an — z.B. um Abfragen zu inspezieren, Backups durchzuführen oder ähnliches.

				
					❯ quantum-cli exec --stack *** --service mysql
# mysql -u GEHEIM -pSUPER-GEHEIM
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 39060
Server version: 5.7.35 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show processlist;
+-------+--------------+-----------+------+---------+------+----------+------------------+
| Id    | User         | Host      | db   | Command | Time | State    | Info             |
+-------+--------------+-----------+------+---------+------+----------+------------------+
| 39060 | geheim       | localhost | NULL | Query   |    0 | starting | show processlist |
+-------+--------------+-----------+------+---------+------+----------+------------------+
1 row in set (0.00 sec)
				
			

FIN

Wie immer freuen wir uns über Feedback und Anregungen für weitere Features. Bitte sprechen Sie uns an.