Stiamo aggiornando il marketplace: raccontaci come meglio?
Quest’anno ci siamo posti obiettivi ambiziosi per migliorare il prodotto.
Alcuni compiti richiedono una preparazione seria, per la quale raccogliamo feedback dagli utenti: invitiamo in ufficio sviluppatori, amministratori di sistema, team leader e specialisti Kubernetes.
In alcuni, rilasciamo server in risposta al feedback, come è avvenuto con gli studenti di Blurred Education. Abbiamo chat molto impegnative in cui si parla di UI/UX, di un arretrato di articoli didattici per il libro di consultazione e di grandi progetti per migliorare l'esperienza dell'utente.
La maggior parte delle modifiche richiedono molte ore di sviluppo, ma mercato - una storia completamente diversa. Con l'avvento degli snapshot, abbiamo l'opportunità di attrarre amministratori di sistema esterni che possono preparare un'immagine in modo da poterla inserire nel mercato letteralmente in un giorno.
Come contribuire mercato Mostreremo RUVDS e cosa comporterà utilizzando l'esempio della nostra nuova immagine preparata dal nostro cliente takezi - GitLab
Come creare un modello Gitlab su Centos 8
Per installare Gitlab, Yura ha scelto un server con 8 GB di RAM e 2 core della CPU (sono possibili 4 GB e 1 CPU, ma in questo caso dovrai utilizzare un file di scambio e le prestazioni di Gitlab in questo caso sono notevolmente inferiori.
Assicuriamoci che siano installati i pacchetti necessari per l'installazione di Gitlab:
Se il server ha un nome DNS configurato, Gitlab può essere installato utilizzandolo. Se specifichi il prefisso https://, Gitlab genererà automaticamente i certificati Lets Encrypt.
Nel nostro caso, perché Stavamo creando un modello per una macchina virtuale, quindi Yura ha impostato un indirizzo modello (che potrà poi essere modificato in futuro senza problemi):
Successivamente, puoi verificare che i servizi Gitlab funzionino andando su
http://vps_ip_address/
il sistema ti chiederà di impostare una password iniziale per l'account amministratore root.
In questa fase, faremo uno snapshot del server e poi lo configureremo utilizzandolo.
Eppure!
Bonus: ti diremo quali cose interessanti puoi fare espandendo virtuale con immagine GitLab.
Monitoraggio di Gitlab utilizzando Grafana
Tre anni fa, il team Gitlab ha implementato un sistema di monitoraggio per gestire un numero enorme di parametri relativi ai servizi Gitlab.
Da allora, Gitlab ha iniziato a fornire il proprio pacchetto di installazione con Prometheus per consentire ai propri utenti di sfruttare le funzionalità di monitoraggio fornite da Prometheus.
Prometheus è un DBMS di serie temporali aperto (Apache 2.0) scritto in Go e originariamente sviluppato su SoundCloud. In altre parole, questa cosa memorizza le tue metriche. Una caratteristica interessante di Prometheus è che esso stesso estrae parametri da un dato insieme di servizi (esegue un pull). Per questo motivo, Prometheus non può essere intasato da code o qualcosa del genere, il che significa che il monitoraggio non diventerà mai un collo di bottiglia del sistema. Il progetto è interessante anche perché fondamentalmente non offre né scalabilità orizzontale né elevata disponibilità.
Poco più di un anno fa, il team Gitlab ha concluso che i parametri non sono molto convenienti senza dashboard. Quindi hanno integrato Grafana con dashboard personalizzate per aiutare gli utenti a visualizzare i dati senza dover installare Grafana manualmente.
Dalla versione 12.0, Gitlab ha integrato Grafana, configurato con SSO per impostazione predefinita, e disponibile a questo URL.
Esistono due parti diverse dell'integrazione Gitlab con Prometheus:
Monitoraggio GitLab (Omnibus)
Monitoraggio delle singole applicazioni GitLab in un cluster Kubernetes
Come usarlo
"Omnibus" è ciò che GitLab chiama il suo pacchetto di installazione principale.
Come impostare Grafana
Il login e la password di Grafana sono disabilitati per impostazione predefinita (è consentito solo il login SSO), ma se è necessario accedere a un account con diritti di amministratore o poter accedere con nome utente e password, è necessario abilitarlo nella configurazione di Gitlab file /etc/gitlab/gitlab .rb modificando la riga corrispondente:
grafana['disable_login_form'] = false
E riconfigura Gitlab per applicare le modifiche:
sudo gitlab-ctl reconfigure
Se hai avviato Gitlab utilizzando il nostro modello di macchina virtuale dal nostro marketplace, devi assegnare il tuo URL al server modificando la riga corrispondente in /etc/gitlab/gitlab.rb:
external_url = 'http://gitlab.mydomain.ru'
Eseguire la riconfigurazione:
sudo gitlab-ctl reconfigure
E modifica di conseguenza l'URI di reindirizzamento per Grafana
Area Amministrazione > Applicazioni > GitLab Grafana
La prima volta che accedi utilizzando SSO, Gitlab chiederà l'autorizzazione per autorizzare l'accesso a Grafana.
Metrica
In Grafana i dashboard già pronti dei principali servizi sono configurati e disponibili nella categoria Gitlab Omnibus.
Panoramica del dashboard
Dashboard delle metriche della piattaforma di servizio
Panoramica: una dashboard panoramica che mostra lo stato dei servizi, delle code e dell'utilizzo delle risorse del server
Gitaly: monitoraggio del servizio che fornisce l'accesso RPC ai repository Gitlab
NGINX VTS: statistiche sul traffico del servizio e codici HTTP per richiesta
PostgreSQL: statistiche sulla disponibilità e sul carico sul database PostgreSQL
Praefect: monitoraggio del carico di archiviazione con alta disponibilità Praefect
App Rails: dashboard panoramica per le applicazioni Rails
Redis: monitoraggio del carico sul servizio Redis
Registro: monitoraggio del registro delle immagini
Metriche della piattaforma di servizio: metriche del servizio che mostrano l'utilizzo delle risorse da parte di Gitlab, la disponibilità del servizio, il numero di richieste RPC e il numero di errori.
L'integrazione è abbastanza completa e gli utenti Gitlab hanno la possibilità di analizzare le metriche Gitlab visualizzate immediatamente.
In Gitlab, un team separato è responsabile della manutenzione e dell'aggiornamento dei dashboard e, secondo Ben Kochie, ingegnere SRE presso Gitlab, le impostazioni predefinite e i dashboard preparati si adatteranno alla maggior parte degli utenti.
E ora la cosa principale: creiamo insieme un mercato
Vogliamo invitare l'intera comunità Habr a partecipare alla creazione del mercato. Ci sono tre opzioni su come puoi iscriverti:
Prepara tu stesso l'immagine e ottieni 3000 rubli sul tuo saldo
Se sei pronto per precipitarti immediatamente in battaglia e creare l'immagine che ti manca, ti accrediteremo 3000 rubli sul tuo saldo interno, che potrai spendere sui server.
Fai sapere al supporto che creerai e testerai le immagini
Ti accrediteremo 3000 rubli e abiliteremo la possibilità di creare istantanee
Ordina un server virtuale con un sistema operativo pulito
Installa il software su questo VPS e configuralo
Scrivere istruzioni o script per la distribuzione del software
Crea uno snapshot per il server configurato
Ordina un nuovo server virtuale selezionando lo snapshot precedentemente creato nell'elenco a discesa "Modello server".
Se il server viene creato correttamente, trasferire i materiali ricevuti nella fase 6 al supporto tecnico
Se si verifica un errore, è possibile verificare il motivo con l'assistenza e ripetere la configurazione
Per gli imprenditori: offri il tuo software
Se sei uno sviluppatore di software distribuito e utilizzato su VPS, possiamo includerti nel marketplace. Ecco come possiamo aiutarti a portare nuovi clienti, traffico e notorietà. Scrivici
Suggeriscici semplicemente un'immagine nei commenti
Scrivi con quale software vorresti poter implementare macchine virtuali in un clic?
Cosa ti manca nel mercato RUVDS?
Cosa dovrebbe includere nel proprio marketplace ogni società di hosting che si rispetti?
Solo gli utenti registrati possono partecipare al sondaggio. AccediPer favore.
Quali immagini dovremmo includere per prime nel marketplace?
50,0%LEMP10
15,0%Drupal3
10,0%Joomla2
5,0%Dokku1
0,0%PacVim0
0,0%Runcloud0
5,0%server-codice1
15,0%Ghost3
5,0%WikiJs1
0,0%Discorso0
0,0%Rstudio0
5,0%OpenCart1
35,0%Django7
40,0%Laravel8
20,0%Ruby on Rails4
55,0%NodoJs11
20 utenti hanno votato. 12 utenti si sono astenuti.