
In diesem Jahr haben wir uns ambitionierte Ziele zur Verbesserung des Produkts gesetzt.
Einige Aufgaben erfordern eine gründliche Vorbereitung, für die wir Rückmeldungen von Nutzern sammeln: Wir laden Entwickler, Systemadministratoren, Teamleiter und Kubernetes-Spezialisten in unser Büro ein.
In einigen Fällen geben wir Server als Gegenleistung für Feedback heraus, wie es zum Beispiel bei der Fall war. Unsere Chats sind sehr aktiv mit Diskussionen über UI/UX, und wir haben einen umfangreichen Backlog an Schulungsartikeln sowie große Pläne zur Verbesserung des Benutzererlebnisses.
Die meisten Änderungen erfordern viele Stunden von Entwicklern, aber Marktplatz das ist eine ganz andere Geschichte. Mit dem Erscheinen von Snapshots haben wir die Möglichkeit erhalten, externe Systemadministratoren einzubeziehen, die ein Image vorbereiten können, sodass wir es buchstäblich innerhalb eines Tages in den Marktplatz aufnehmen können.
Wie Sie zu RUVDS beitragen können und was Sie dafür erhalten, werden wir am Beispiel unseres neuen Images zeigen, das von unserem Kunden —
vorbereitet wurde: So entstand die Gitlab-Vorlage auf CentOS 8.
Für die Installation von Gitlab wählte Jura einen Server mit 8 GB RAM und 2 CPU-Kernen (es sind auch 4 GB und 1 CPU möglich, aber in diesem Fall müsste eine Swap-Datei verwendet werden, was die Leistung von Gitlab erheblich mindert.

Stellen wir sicher, dass die notwendigen Pakete für die Installation von Gitlab installiert sind:
sudo dnf install -y curl policycoreutilsÖffnen wir die Zugänge zu den Ports 80 und 443:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalldFügen wir das Gitlab-Repository hinzu:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
Wenn der Server einen konfigurierten DNS-Namen hat, kann Gitlab damit installiert werden. Wenn das Präfix https:// angegeben wird, generiert Gitlab automatisch Lets Encrypt-Zertifikate.
In unserem Fall, da wir ein Vorlagen-Image erstellt haben, hat Jura die Vorlage-Adresse festgelegt (die später problemlos geändert werden kann):
sudo EXTERNAL_URL="http://0.0.0.0" dnf install -y gitlab-ee
Nach dieser Installation können wir überprüfen, ob die Gitlab-Dienste laufen, indem wir auf
http://vps_ip_address/
das System auffordert, ein anfängliches Passwort für das Administratorkonto root festzulegen.
An dieser Stelle machen wir einen Snapshot des Servers, und anschließend werden wir mit dessen Hilfe konfigurieren.

Und das war's!
Bonus: Wir werden erzählen, was Interessantes gemacht werden kann, wenn man mit GitLab.
Überwachung von GitLab mit Grafana
Vor drei Jahren hat das GitLab-Team ein Überwachungssystem eingeführt, um eine große Anzahl von Metriken im Zusammenhang mit den GitLab-Diensten zu verwalten.
Seitdem liefert GitLab sein Installationspaket zusammen mit Prometheus aus, um seinen Nutzern die Möglichkeiten der Überwachung durch Prometheus zu bieten.
Prometheus ist eine Open-Source (Apache 2.0) Zeitreihe-Datenbank, die in Go geschrieben wurde und ursprünglich bei SoundCloud entwickelt wurde. Anders ausgedrückt, es speichert Ihre Metriken. Ein interessantes Merkmal von Prometheus ist, dass es die Metriken selbst von einer festgelegten Reihe von Diensten abruft (Pull). Dadurch können keine Warteschlangen oder ähnliches blockiert werden, was bedeutet, dass die Überwachung niemals zum Engpass des Systems wird. Außerdem bietet das Projekt bewusst keine horizontale Skalierung oder hohe Verfügbarkeit an.
Vor etwas mehr als einem Jahr kam das GitLab-Team zu dem Schluss, dass Metriken ohne Dashboards nicht sehr hilfreich sind. Daher integrierten sie Grafana mit konfigurierten Dashboards, um ihren Nutzern zu helfen, Daten zu visualisieren, ohne Grafana manuell installieren zu müssen.
Seit Version 12.0 ist Grafana in GitLab integriert, standardmäßig mit SSO konfiguriert, und .
Es gibt zwei verschiedene Teile der Integration von GitLab mit Prometheus:
- Monitoring von GitLab (Omnibus)
- Monitoring einzelner GitLab-Anwendungen im Kubernetes-Cluster
Wie man es nutzt
„Omnibus“ ist der Name, den GitLab für sein Hauptinstallationspaket verwendet.

Wie man Grafana konfiguriert
Der Login mit Benutzername und Passwort in Grafana ist standardmäßig deaktiviert (nur SSO-Login ist erlaubt). Wenn jedoch ein Zugriff auf ein Konto mit Administratorrechten oder die Möglichkeit eines Logins mit Benutzername und Passwort erforderlich ist, muss dies in der Konfigurationsdatei von GitLab /etc/gitlab/gitlab.rb erlaubt werden, indem die entsprechende Zeile bearbeitet wird:
grafana['disable_login_form'] = false
Und führen Sie die Neukonfiguration von GitLab durch, um die Änderungen anzuwenden:
sudo gitlab-ctl reconfigure
Falls Sie GitLab mit unserer virtuellen Maschinenvorlage aus unserem Marketplace gestartet haben, müssen Sie der Server-URL zuweisen, indem Sie die entsprechende Zeile in /etc/gitlab/gitlab.rb ändern:
external_url = 'http://gitlab.meinedomain.de'
Führen Sie die Neukonfiguration aus:
sudo gitlab-ctl reconfigureUnd ändern Sie die Redirect-URI für Grafana entsprechend in
Admin-Bereich > Anwendungen > GitLab Grafana

Bei der ersten Anmeldung mit SSO fordert GitLab die Erlaubnis zur Authentifizierung bei Grafana an.

Metriken
In Grafana sind vorgefertigte Dashboards der Hauptdienste unter der Kategorie GitLab Omnibus konfiguriert und verfügbar.

Dashboard Übersicht

Dashboard Service Platform Metrics
- Übersicht — Dashboard, das den Zustand der Dienste, Warteschlangen und die Ressourcennutzung des Servers zeigt.
- Gitaly — Überwachung des Dienstes, der RPC-Zugriff auf GitLab-Repositories bereitstellt.
- NGINX VTS — Statistiken über den Verkehr der Dienste und HTTP-Codes bei Anfragen.
- PostgreSQL — Statistiken zur Verfügbarkeit und Belastung der PostgreSQL-Datenbank.
- Praefect — Überwachung der Speicherbelastung mit hoher Verfügbarkeit von Praefect.
- Rails App — Übersichtsdashboard für Rails-Anwendungen.
- Redis — Überwachung der Last auf dem Redis-Dienst.
- Registry — Überwachung des Image-Registers.
- Service-Plattform-Metriken — die Dienstleistungsmetriken zeigen die Ressourcenauslastung durch GitLab, die Verfügbarkeit von Diensten, die Anzahl der RPC-Anfragen und die Anzahl der Fehler an.
Die Integration ist ziemlich komplex, und GitLab-Nutzer haben die Möglichkeit, die visualisierten Metriken von GitLab direkt out-of-the-box zu analysieren.
Bei GitLab wird die Unterstützung und Aktualisierung der Dashboards von einem speziellen Team übernommen, und laut Ben Kochie, SRE-Ingenieur bei GitLab, sind die Standardkonfigurationen und die vorbereiteten Dashboards für die meisten Nutzer geeignet.
Und nun das Wichtigste: Lass uns gemeinsam einen Marktplatz schaffen.
Wir möchten der gesamten Community von Habr die Möglichkeit bieten, am Aufbau des Marktplatzes teilzunehmen. Es gibt drei Optionen, wie Sie mitmachen können:
Bereiten Sie das Image selbst vor und erhalten Sie 3000 Rubel aufs Konto.
Wenn Sie bereit sind, sofort loszulegen und das fehlende Image selbst zu erstellen, gutschreiben wir Ihnen 3000 Rubel auf Ihr internes Guthaben – Sie können es für Server ausgeben.
So erstellen Sie Ihr eigenes Image:
- Erstellen Sie ein Konto bei uns auf
- Teilen Sie dem Support mit, dass Sie versuchen, Images zu erstellen und zu testen
- Wir gutschreiben Ihnen 3000 Rubel und aktivieren die Möglichkeit, Snapshots zu erstellen
- Bestellen Sie einen virtuellen Server mit einem sauberen Betriebssystem
- Installieren Sie Software auf diesem VPS und konfigurieren Sie sie
- Erstellen Sie eine Anleitung oder ein Skript für die Bereitstellung der Software
- Erstellen Sie einen Snapshot für den konfigurierten Server
- Bestellen Sie einen neuen virtuellen Server, indem Sie im Dropdown-Menü den zuvor erstellten Snapshot als 'Servervorlage' auswählen
- Wenn der Server erfolgreich erstellt wurde, übergeben Sie die Materialien aus Schritt 6 an den technischen Support
- Bei einem Fehler können Sie den Support nach dem Grund fragen und die Konfiguration erneut durchführen
Für Geschäftsinhaber: Bieten Sie Ihre Software an
Wenn Sie Softwareentwickler sind, die auf VPS bereitgestellt und verwendet wird, können wir Sie in den Marktplatz aufnehmen. Damit können wir Ihnen helfen, neue Kunden, Traffic und Bekanntheit zu gewinnen.
Schlagen Sie uns einfach ein Image in den Kommentaren vor.
Schreiben Sie, welches Software-Setup Sie mit einem Klick für virtuelle Maschinen bereitstellen möchten?
Was fehlt Ihnen im RUVDS-Marktplatz?
Was sollte jeder respektable Hosting-Anbieter unbedingt in seinen Marktplatz aufnehmen?
Nur registrierte Benutzer können an der Umfrage teilnehmen. Sind Sie an Contour interessiert?
Welche Images sollten wir am besten zuerst in den Marktplatz aufnehmen?
50,0%LEMP10
15,0%Drupal3
10,0%Joomla2
5,0%Dokku1
0,0%PacVim0
0,0%Runcloud0
5,0%code-server1
15,0%Ghost3
5,0%WikiJs1
0,0%Discourse0
0,0%Rstudio0
5,0%OpenCart1
35,0%Django7
40,0%Laravel8
20,0%Ruby on Rails4
55,0%NodeJs11
20 Benutzer haben abgestimmt. 12 Benutzer haben sich enthalten.
Quelle: habr.com
