Bare metal (Ansible)
Docker Compose ile aynı tek-host yığını, tek bir Linux host'ta sizin için kurulur ve yönetilir — Docker kurulur, sırlar vault'lanır ve yığın bir systemd servisi olarak çalışır.
Docker Compose ile aynı tek-host yığını, sizin için kurulur ve yönetilir. Komutları elle çalıştırmadan Compose dağıtımını istediğinizde bunu kullanın: playbook Docker'ı kurar, sırlarınızı vault'lar, Compose bundle'ını /opt/orbtrace'e bırakır ve docker compose up -d çalıştıran bir orbtrace.service systemd birimi kaydeder (böylece açılışta yeniden başlar). Compose yolu ile aynı mimari ve aynı tek-host ayak izi — yalnızca tekrarlanabilir, otomatik bir kurulum olarak sunulur. Tek bir Linux host hedefler; çok-makineli bir küme kurucusu değildir.
Önce host ön-koşulları için Kurulum hazırlığı sayfasına bakın. Her şey tek bir makineye iner — playbook yalnızca Docker Compose yığınını otomatikleştirir:
Tek bir Linux host — systemd: orbtrace.service
Veri akışı
Playbook aynı Compose yığınını — uygulama, Doris, Postgres ve Valkey — tek host üzerinde ayağa kaldırır ve orbtrace.service olarak çalıştırır. Ayrı çalıştırdığınız tek parça, telemetrinizi Doris'e yazan Collector'dır; uygulama bunu geri okuyup arayüzü :8080 üzerinde sunar.
Tüm Doris bu tek host'ta çalıştığı için, onu hacminize göre boyutlandırın — Kapasite planlama hesaplayıcısı, tek-host bir dağıtımın ihtiyaç duyduğu CPU/bellek/diski verir.
- 1
Host'u hazırlayın
Kontrol makinenizden SSH erişimi olan bir Linux host (Debian/Ubuntu 22.04+ veya RHEL/Rocky 9+) ve ön-koşullardaki 8 GB+ RAM.
- 2
Playbook'u bundle'dan açın
Ansible playbook'u, Nivorbit'in verdiği dağıtım bundle'ının içinde gelir (pull token'ınızla birlikte):
tar xzf orbtrace-2.1.0.tar.gz && cd orbtrace-2.1.0/ansible ansible-galaxy collection install -r requirements.yml cp inventory.example.ini inventory.ini $EDITOR inventory.iniHedef host'unuzu
inventory.ini'ye koyun. Örnek dosya açıklamalıdır. Tek seferlikansible-galaxyadımı, playbook'un host'ughcr.io'ya giriş yaptırmak için kullandığıcommunity.dockerkoleksiyonunu kurar; böylece özel imaj çalışma sırasında çekilir. - 3
Değişkenleri ayarlayın ve şifreleyin
Açıklamalı değişken şablonunu kopyalayın, doldurun, sonra Ansible Vault ile şifreleyin. Playbook'un ön-kontrolü placeholder sırlarla çalışmayı reddeder:
cp group_vars/all.example.yml group_vars/all.yml $EDITOR group_vars/all.yml ansible-vault encrypt group_vars/all.ymlorbtrace_ghcr_usernameveorbtrace_ghcr_token(registry pull token'ınız) ileorbtrace_postgres_passworddeğerlerini girin.orbtrace_doris_passwordboş kalsın — pakete dahil Doris, root hesabını parolasız çalıştırır ve buraya yazılan bir değer ilk açılışı bozar.orbtrace_license_key'i yalnızca ücretsiz COMMUNITY sürümünü aştıysanız ekleyin. - 4
Playbook'u çalıştırın
ansible-playbook -i inventory.ini site.yml --ask-vault-passIdempotent — yeniden çalıştırmak güvenli.
- 5
Sağlık kontrolü
curl http://<host>:8080/actuator/health{"status":"UP"}bekleyin. İlk giriş'e devam edin.
Playbook neyi kurar
Çalışma idempotenttir ve host'u şu durumda bırakır:
| Host'ta | Nedir |
|---|---|
| Docker Engine + Compose eklentisi | Docker'ın resmi deposundan kurulur (zaten varsa orbtrace_install_docker: false ile atlayın) |
/opt/orbtrace/ | Dağıtım bundle'ı; yığın onun compose/ alt-dizininden çalışır |
.env | Vault'lanmış değişkenlerinizden render edilir — asla versiyona alınmaz |
orbtrace.service (systemd) | docker compose up -d çalıştıran ve yığını açılışta başlatan bir birim |
| Kernel sysctl'leri | vm.max_map_count, swap kapalı — host'ta ayarlanan Doris ön-koşulları |
Değişken referansı
Bunları group_vars/all.yml'de (vault-şifreli) ayarlayın. Ön-kontrol, placeholder sırlarla çalışmayı reddeder.
| Değişken | Zorunlu mu? | Nedir |
|---|---|---|
orbtrace_ghcr_username / orbtrace_ghcr_token | evet (online) | Nivorbit registry pull kimlik bilgileriniz |
orbtrace_postgres_password | evet | Pakete dahil veritabanı için Postgres parolası |
orbtrace_doris_password | boş bırakın | Pakete dahil Doris root'u parolasızdır — bir değer ilk açılışı bozar |
orbtrace_bootstrap_admin_username | önerilir | Admin'iniz olacak e-posta (bkz. Kimlik doğrulama) |
orbtrace_license_key | opsiyonel | .orblic token; boş = ücretsiz COMMUNITY sürümü (Lisanslama) |
orbtrace_secret_kek | önerilir | Admin panelinden saklanan AI-sağlayıcı anahtarlarını beklemede şifreler |
orbtrace_airgapped | offline için | true, imajları çekmek yerine bundle'ın tar'larından yükler (Air-gapped kurulum) |
Pakete dahil group_vars/all.example.yml her değişkeni satır içinde belgeler.
Day-2 operasyonları
Her şey host'ta normal bir systemd servisi ve Compose projesi olarak çalışır:
sudo systemctl status orbtrace # ayakta mı?
sudo systemctl restart orbtrace # tüm yığını yeniden başlat
sudo journalctl -u orbtrace -f # canlı loglar (compose çıktısı)
cd /opt/orbtrace/compose
sudo docker compose ps # container-başına görünümYükseltme: yeni bundle'ı kontrol makinenizde açın, group_vars/all.yml'de orbtrace_version'ı yükseltin ve ansible-playbook site.yml'i yeniden çalıştırın. Playbook yığını değiştirir ve servisi yeniden başlatır; uygulama bir sonraki açılışta yeni Doris şema migration'larını uygular. Önce yedek alın (aşağıda).
Tek bir host için üretim notları
- Verinizin yaşadığı yer. Postgres ve Doris bu host'ta Docker adlandırılmış volume'larına (
/var/lib/docker/volumesaltında) yazar. Tek kopya budur — bu host arıza alanıdır, dolayısıyla onu makine dışına yedekleyin. - Her yükseltmeden önce yedek alın. Gecelik bir
docker exec orbtrace-postgres pg_dump …ve uzak/nesne depolamaya bir DorisBACKUP SNAPSHOTzamanlayın (ayrıntılar kurulum-sonrası kontrol listesinde). Migration'lar yalnızca ileri yönlüdür, dolayısıyla bir yedek sizin geri-alma yönteminizdir. - TLS + firewall. Uygulamanın önüne pakete dahil Caddy'i (
orbtrace_compose_profiles: [edge], 80/443 yayınlar) ya da kendi ters proxy'nizi koyun; kullanıcılara yalnızca 8080'i (ya da 443'ü) açın ve Doris'in 8030/9030'unu loopback'te tutun. - HA'ya mı ya da tek host'un ötesine ölçeklenmeye mi ihtiyacınız var? Bu yol yapamaz — tek host arıza alanıdır. Kubernetes (Helm) yoluna geçin.
Telemetrinizi bağlayın — bir OTel Collector kurun ya da doris exporter'ını mevcut OTel pipeline'ınıza ekleyin (Entegrasyon desenleri) — sonra kurulum-sonrası kontrol listesi ile bitirin.