Orbtrace

Helm ile kurun

Registry'ye kimlik doğrulayın, chart değerlerini düzenleyin, helm install çalıştırın ve doğrulayın — veri depolarınız hazır olduğunda Orbtrace için adım adım Helm kurulumu.

Veri depolarınız yerindeyken — Postgres/Valkey ve Doris — durumsuz uygulamayı OCI Helm chart'ı ile kurun.

OpenShift / OKD mi kullanıyorsunuz? Bu sayfayı değil, OpenShift sayfasını izleyin

Bu sayfa düz Kubernetes akışıdır; düz bir helm install OpenShift'te başarısız olur. OpenShift sayfası kendi kendine yeterlidir — kurulumun tamamını uçtan uca anlatır (node ayarları, Doris, registry, values, overlay ile kurulum, giriş). Orada bu sayfaya ihtiyacınız yok.

  1. 1

    Ön koşullar

    Bir Kubernetes kümesi ve Helm 3.8+ (OCI chart'lar için). SSD destekli volume'lara sahip varsayılan bir StorageClass'ın var olduğunu doğrulayın — yoksa gömülü Postgres/Valkey PVC'leri sonsuza dek Pending kalır:

    kubectl get storageclass    # biri (default) işaretli olmalı

    Önce Doris'i kurun. Chart, Doris'i hiçbir zaman kurmaz ve Orbtrace pod'u birine erişene kadar un-Ready kalır. Kurulumdan önce Doris kurulumu'nu izleyin ve doris.host için FQDN'ini not edin.

  2. 2

    Registry'ye kimlik doğrulayın

    Chart ve image özel (private) GHCR paketleridir. Müşteriye-özel token'la giriş yapın, sonra chart'ın kullanacağı bir imagePullSecret oluşturun. <token> ve <username> aşağıda birden fazla yerde geçiyor — çalıştırmadan önce hepsini değiştirin:

    echo "<token>" | helm registry login ghcr.io -u <username> --password-stdin
    kubectl create namespace orbtrace
    kubectl -n orbtrace create secret docker-registry ghcr \
      --docker-server=ghcr.io --docker-username=<username> --docker-password=<token>

    helm registry login, Helm CLI'yi chart'ı çekmek için doğrular; Secret + global.imagePullSecrets (sonraki adım) ise çalışma zamanı pod'larının image'ı çekmesini sağlar. Air-gapped mı? GHCR image'larını ve OCI chart'ını dahili registry'nize aynalayın ve global.imageRegistry'yi ona yönlendirin — bkz. Air-gapped çalışma.

  3. 3

    Chart'ı alın ve override'larınızı yazın

    Chart'ı çekip açın ki boyutlandırma preset'leri ve OpenShift overlay'i yerelde olsun (helm show values yalnızca varsayılan values.yaml'ı basar; values-small/medium/large.yaml ya da values-openshift.yaml dosyalarını veremez — bu yüzden açarsınız):

    helm pull oci://ghcr.io/nivorbit/charts/orbtrace --version 2.1.0 --untar

    Tüm values.yamlkopyalamazsınız. ./orbtrace'i kurduğunuzda Helm zaten chart'ın kendi values.yaml'ını taban olarak uygular — siz yalnızca değiştirdiğiniz birkaç anahtarı içeren küçük bir my-values.yaml yazıp üstüne katmanlarsınız (4. adım). Dosyayı açtığınız orbtrace/ dizininin yanında, en azından şunlarla oluşturun:

    my-values.yaml
    global:
      imagePullSecrets: [{ name: ghcr }] # 2. adımdaki secret
    orbtrace:
      # JWT imzalama için burada bir değer gerekmez — uygulama RSA anahtarlarını kendisi yönetir.
      ingress:
        hosts: [demo.orbtrace.com] # dış host adlarınız; HTTPS için orbtrace.ingress.tls
        # Uygulamanın OAuth2 URL'leri bu host'tan otomatik türer — ingress
        # yolunda ayrı frontendUrl/backendUrl gerekmez.
        # OPENSHIFT'TE bu bloğu tamamen atlayın: overlay, Ingress yerine Route
        # koyar — bunun yerine openshift.route.host verin (custom host OAuth2
        # URL'lerini de otomatik türetir; OpenShift sayfasına bakın).
      # Giriş kutudan çıktığı gibi çalışır: üretilmiş bir parolayla bir
      # break-glass yerel admin oluşturulur (parolayı <release>-bootstrap-admin
      # Secret'ından okuyun; ilk girişte yeni parola zorunludur). Üretim için
      # SSO'yu orbtrace.oidc.* ile bağlayın. Aşağıdaki "Giriş" bölümüne bakın.
    # Doris — referans operator DorisCluster ile varsayılanlar zaten eşleşir;
    # çoğu kurulumda burada HİÇBİR doris.* anahtarı gerekmez. Yalnızca sizde
    # farklı olanları açın (bkz. Doris kurulumu):
    # doris:
    #   host: <doris-fe-host-unuz> # VM / yönetilen FE, ya da varsayılan-dışı operator adları
    #   password: <doris-root-parolası> # yalnızca Doris'inizin root parolası varsa — taze kurulumda yoktur
    #   # Tek-BE Doris mi (değerlendirme)? Aşağıdaki İKİ satırı da açın, yoksa
    #   # uygulama boot'ta durur ("replication num … available backend num is 1").
    #   # Asla üretimde — bkz. Doris kurulumu sayfasındaki Replikasyon faktörü.
    #   allowSingleReplica: true
    #   profile: { replicationNum: 1 }
    postgres:
      password: <postgres-parolası> # zorunlu — boşken chart kurulumu reddeder; gömülü Postgres, ya da harici için postgres.*

    Ekleyebileceğiniz diğer anahtarlar: orbtrace.licenseKey (boş = ücretsiz COMMUNITY — Lisanslama), orbtrace.oidc.* (SSO sağlayıcılarınız), orbtrace.ai.* (RCA/Replay için AI), doris.profile.activeProfile (small / medium / large). Mevcut her anahtar ve varsayılanı, referans için açtığınız orbtrace/values.yaml'dadır — yalnızca override ettiklerinizi my-values.yaml'a kopyalayın, böylece bir upgrade sizi eski bir varsayılana kilitlemez.

  4. 4

    Kurun

    Bu komutu chart'ı açtığınız dizinde çalıştırın (3. adım) — ./orbtrace ve -f yolları oraya görelidir. (Sırayla) boyutlandırma preset'inizi, sonra override'larınızı katmanlarsınız; sonraki -f kazanır, yani my-values.yaml preset'i ezer:

    # Boyutlandırma preset'i: values-small | values-medium | values-large
    helm install orbtrace ./orbtrace -n orbtrace \
      -f orbtrace/values-small.yaml \
      -f my-values.yaml

    OpenShift'te bu komut farklıdır (values-openshift.yaml overlay'i en son -f olarak katmanlanır) — bunun yerine OpenShift sayfasındaki komutu kullanın.

  5. 5

    Pod'ları bekleyin

    kubectl -n orbtrace get pods -w

    Tüm pod'lar ~3 dakika içinde Running'e ulaşıp readiness'tan geçmeli. Orbtrace pod'u, Doris'e erişene kadar un-Ready kalır (şemayı port'u açmadan önce uygular) — bu yüzden önce harici Doris'inizin ayakta olduğundan emin olun. Başarıyı uygulama log'unda doğrulayın:

    kubectl -n orbtrace logs -f deploy/orbtrace-app -c orbtrace
    # şunu gördüğünüzde hazır: [doris-migration] complete

    Un-Ready takılı kalan bir pod neredeyse her zaman erişilemeyen bir Doris'tir (ya da Postgres) ya da BE sayınızın karşılayamadığı bir replikasyon faktörüdür (uygulama tabloları doris.profile.replicationNum — varsayılan 2 — ile oluşturur, bu da ≥2 canlı BE ister) — host/parolayı ve replikasyon faktörünü Doris kurulumu'na karşı yeniden kontrol edin.

  6. 6

    DNS'i ingress'e yönlendirin

    Host adınızdan, chart'ın açtığı Ingress (ya da LoadBalancer) adresine bir DNS kaydı ekleyin. İlk giriş'e devam edin.

Giriş — break-glass admin (ve dış URL'iniz)

  1. İlk girişiniz. Chart, kuruluma özel üretilmiş bir parolayla bir break-glass yerel admin oluşturur (asla ortak bir varsayılan değil — o kritik bir zafiyet olurdu). Parolayı okuyun, admin@orbtrace.local ile girin; oturum verilmeden önce yeni bir parola belirlemeniz zorunludur:
    kubectl -n orbtrace get secret orbtrace-bootstrap-admin \
      -o jsonpath='{.data.password}' | base64 -d
    Üretim için SSO'yu bağlayın (orbtrace.oidc.*Kimlik doğrulama); yerel admin'i break-glass olarak tutun ya da orbtrace.bootstrapAdmin.enabled=false ile kapatın.
  2. Dış URL'iniz. OAuth2 tarayıcıyı uygulamanın public URL'ine yönlendirir. Chart bunu orbtrace.ingress.hosts'unuzdan (ya da openshift.route.host) otomatik türetir — yani ingress yolu kendiliğinden çalışır. Bunun yerine tarayıcı localhost:8080/oauth2/authorize'da ("This site can't be reached") kalırsa, URL çözülmemiştir (tipik olarak otomatik üretilen bir OpenShift Route host'u) — orbtrace.frontendUrl + orbtrace.backendUrl'i public URL'inize ayarlayın. Adım adım kurtarma komutları OpenShift sayfasında.

Tenant başına bir namespace

Orbtrace'in yerleşik çok-tenant'lığı yoktur. İki ekibe kendi izole örneklerini vermek için iki namespace'te iki Helm release çalıştırın. Her release tamamen bağımsızdır.

Sıradaki: Portlar ve erişim, sonra telemetriyi bağlayın — yeni bir OTel Collector ya da mevcut pipeline'ınızda dorisexporter (Entegrasyon desenleri) — ve kurulum-sonrası kontrol listesi.