الانتقال إلى المحتوى الرئيسي
إصدار مخطط Helm 2.xتوثّق هذه الصفحة مخطط Helm المستند إلى المخططات الفرعية بالإصدار v2.x. إذا كنت لا تزال تستخدم مخطط v1.x ذي القوالب المضمّنة، فراجع خيارات النشر باستخدام Helm (v1.x). للاطلاع على خطوات الترحيل، راجع دليل الترقية.
يغطي هذا الدليل خيارات النشر المتقدمة لـ ClickStack باستخدام Helm. وللتثبيت الأساسي، راجع دليل النشر الرئيسي باستخدام Helm.

نظرة عامة

يدعم مخطط Helm الخاص بـ ClickStack عدة إعدادات للنشر:
  • المكدس الكامل (الافتراضي) — جميع المكوّنات مضمنة وتُدار بواسطة المشغّلات
  • ClickHouse خارجي — استخدام عنقود ClickHouse موجود
  • OTel collector خارجي — استخدام بنية OTel التحتية الحالية
  • النشر بالحد الأدنى — HyperDX فقط، مع تبعيات خارجية

ClickHouse خارجي

إذا كان لديك عنقود ClickHouse قائم بالفعل (بما في ذلك ClickHouse Cloud)، فيمكنك تعطيل ClickHouse المضمّن والاتصال بالمثيل الخارجي لديك.

الخيار 1: إعداد مضمن (للتطوير/الاختبار)

استخدم هذا الأسلوب للاختبار السريع أو في البيئات غير الإنتاجية. قدِّم تفاصيل الاتصال عبر hyperdx.config وhyperdx.secrets:
# values-external-clickhouse.yaml
clickhouse:
  enabled: false  # Disable the operator-managed ClickHouse

hyperdx:
  secrets:
    CLICKHOUSE_PASSWORD: "your-password"
    CLICKHOUSE_APP_PASSWORD: "your-password"

  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]
ثبّت باستخدام هذا الإعداد:
helm install my-clickstack clickstack/clickstack -f values-external-clickhouse.yaml

الخيار 2: Secret الخارجي (موصى به لبيئات الإنتاج)

في عمليات النشر في بيئات الإنتاج، إذا كنت تريد إبقاء بيانات الاعتماد منفصلة عن إعدادات Helm:

أنشئ ملفات الإعداد الخاصة بك

# Create connections.json
cat <<EOF > connections.json
[
  {
    "name": "Production ClickHouse",
    "host": "https://your-production-clickhouse.com",
    "port": 8123,
    "username": "hyperdx_user",
    "password": "your-secure-password"
  }
]
EOF

# Create sources.json
cat <<EOF > sources.json
[
  {
    "from": {
      "databaseName": "default",
      "tableName": "otel_logs"
    },
    "kind": "log",
    "name": "Logs",
    "connection": "Production ClickHouse",
    "timestampValueExpression": "TimestampTime",
    "displayedTimestampValueExpression": "Timestamp",
    "implicitColumnExpression": "Body",
    "serviceNameExpression": "ServiceName",
    "bodyExpression": "Body",
    "eventAttributesExpression": "LogAttributes",
    "resourceAttributesExpression": "ResourceAttributes",
    "severityTextExpression": "SeverityText",
    "traceIdExpression": "TraceId",
    "spanIdExpression": "SpanId"
  },
  {
    "from": {
      "databaseName": "default",
      "tableName": "otel_traces"
    },
    "kind": "trace",
    "name": "Traces",
    "connection": "Production ClickHouse",
    "timestampValueExpression": "Timestamp",
    "displayedTimestampValueExpression": "Timestamp",
    "implicitColumnExpression": "SpanName",
    "serviceNameExpression": "ServiceName",
    "traceIdExpression": "TraceId",
    "spanIdExpression": "SpanId",
    "durationExpression": "Duration"
  }
]
EOF

أنشئ Kubernetes secret

kubectl create secret generic hyperdx-external-config \
  --from-file=connections.json=connections.json \
  --from-file=sources.json=sources.json

# Clean up local files
rm connections.json sources.json

تهيئة Helm لاستخدام Secret

# values-external-clickhouse-secret.yaml
clickhouse:
  enabled: false

hyperdx:
  useExistingConfigSecret: true
  existingConfigSecret: "hyperdx-external-config"
  existingConfigConnectionsKey: "connections.json"
  existingConfigSourcesKey: "sources.json"
helm install my-clickstack clickstack/clickstack -f values-external-clickhouse-secret.yaml

استخدام ClickHouse Cloud

أما بالنسبة إلى ClickHouse Cloud تحديدًا:
# values-clickhouse-cloud.yaml
clickhouse:
  enabled: false

hyperdx:
  secrets:
    CLICKHOUSE_PASSWORD: "your-cloud-password"
    CLICKHOUSE_APP_PASSWORD: "your-cloud-password"

  useExistingConfigSecret: true
  existingConfigSecret: "clickhouse-cloud-config"
  existingConfigConnectionsKey: "connections.json"
  existingConfigSourcesKey: "sources.json"

OTel collector خارجي

إذا كانت لديك بنية تحتية حالية لـ OTel collector، فعطّل المخطط الفرعي:
# values-external-otel.yaml
otel-collector:
  enabled: false  # Disable the subchart OTEL collector

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"
helm install my-clickstack clickstack/clickstack -f values-external-otel.yaml
للاطلاع على إتاحة نقاط نهاية OTEL collector عبر Ingress، راجع تهيئة Ingress.

النشر بالحد الأدنى

بالنسبة للمؤسسات التي لديها بنية تحتية قائمة، انشر HyperDX فقط:
# values-minimal.yaml
clickhouse:
  enabled: false

otel-collector:
  enabled: false

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"

  # Option 1: Inline (for testing)
  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]

  # Option 2: External secret (production)
  # useExistingConfigSecret: true
  # existingConfigSecret: "my-external-config"
  # existingConfigConnectionsKey: "connections.json"
  # existingConfigSourcesKey: "sources.json"
helm install my-clickstack clickstack/clickstack -f values-minimal.yaml

الخطوات التالية

آخر تعديل في ٢٥ يونيو ٢٠٢٦