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

نظرة عامة

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

ClickHouse خارجي

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

الخيار 1: التهيئة المضمّنة (للتطوير/الاختبار)

استخدم هذا الأسلوب للاختبار السريع أو في البيئات غير الإنتاجية:
# values-external-clickhouse.yaml
clickhouse:
  enabled: false  # Disable the built-in ClickHouse

otel:
  clickhouseEndpoint: "tcp://your-clickhouse-server:9000"
  clickhousePrometheusEndpoint: "http://your-clickhouse-server:9363"  # Optional

hyperdx:
  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

إنشاء Secret Kubernetes

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

otel:
  clickhouseEndpoint: "tcp://your-clickhouse-server:9000"
  clickhousePrometheusEndpoint: "http://your-clickhouse-server:9363"

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

Using ClickHouse Cloud

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

otel:
  clickhouseEndpoint: "tcp://your-cloud-instance.clickhouse.cloud:9440?secure=true"

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

OTel collector خارجي

إذا كانت لديك بالفعل بنية تحتية لـ OTel collector:
# values-external-otel.yaml
otel:
  enabled: false  # Disable the built-in OTEL collector

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

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

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

otel:
  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

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

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