Kubesphere whizard-telemetry
Use when installing or configuring the WizTelemetry Platform Service extension for KubeSphere, which provides the common APIServer backend services for all WizTelemetry observability extensions
git clone https://github.com/kubesphere/kubesphere
T=$(mktemp -d) && git clone --depth=1 https://github.com/kubesphere/kubesphere "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/whizard-telemetry" ~/.claude/skills/kubesphere-kubesphere-whizard-telemetry && rm -rf "$T"
skills/whizard-telemetry/SKILL.mdWizTelemetry Platform Service
Overview
WizTelemetry Platform Service is a common service for all observability extensions of KubeSphere's WizTelemetry Observability Platform. It provides a common APIServer for all observability extensions, offering backend platform services for Logging, Auditing, Events, Notifications, Tracing, and more.
When to Use
- Installing or configuring the WizTelemetry Platform Service extension
- Managing API services for observability extensions
- Configuring OpenSearch connections for various data types
- Enabling Global Observability monitoring
Architecture
Components
| Component | Description | Default |
|---|---|---|
| whizard-telemetry-apiserver | Common APIServer for all observability extensions | 1 replica |
| wiz-telemetry-console | Web console for WizTelemetry | 1 replica |
Dependencies
The WizTelemetry Platform Service does not have hard dependencies on other components. All APIs can be enabled/disabled based on the deployed extensions:
- Optional: OpenSearch - Required only when enabling logging, auditing, events, notification history, or traffic APIs
- Optional: Prometheus - Required only when enabling monitoring API
- Optional: Notification Manager - Required only when enabling notification API
- Optional: KubeSphere Observability (Whizard) - Required only when enabling global observability
Configuration should be added incrementally as you deploy additional observability extensions (e.g., WhizardLogging, WhizardAuditing, WhizardEvents, WhizardNotification).
Installation
Prerequisites
Step 1: Get latest version
kubectl get extensionversions -n kubesphere-system -l kubesphere.io/extension-ref=whizard-telemetry -o jsonpath='{range .items[*]}{.spec.version}{"\n"}{end}' | sort -V | tail -1
Step 2: Generate config
Run the helper script in the skill's scripts directory:
cd whizard-telemetry && ./scripts/generate-config.sh
This script will:
- Check which observability extensions are installed (whizard-logging, whizard-auditing, whizard-events, whizard-notification, whizard-monitoring, whizard-alerting)
- Check if vector extension is installed
- Output the config section only (between ---CONFIG_START--- and ---CONFIG_END---)
Step 3: Create InstallPlan
Use the generated config to create the InstallPlan:
apiVersion: kubesphere.io/v1alpha1 kind: InstallPlan metadata: name: whizard-telemetry namespace: kubesphere-system spec: extension: name: whizard-telemetry version: <VERSION> # From Step 1 enabled: true upgradeStrategy: Manual config: | <CONFIG_FROM_STEP_2>
⚠️ CRITICAL: InstallPlan
MUST be metadata.name
. DO NOT use any other name.whizard-telemetry
Configuration from Other Extensions
The whizard-telemetry configuration is automatically generated based on which observability extensions are installed. You do NOT need to manually configure it - it will be generated when you install the corresponding extensions.
How it works:
- When you install whizard-logging, whizard-auditing, whizard-events, etc., the system automatically generates the corresponding whizard-telemetry config
- OpenSearch endpoint and credentials are obtained from the vector extension's secret
Configuration Parameters
The
whizard-telemetry.config section is automatically generated by the helper script based on installed extensions. You do not need to manually configure it.
Image Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| string | kubesphere/whizard-telemetry-apiserver | API server image |
| string | latest | API server image tag |
| string | kubesphere/wiz-telemetry-console | Console image |
| string | 2.1.0 | Console image tag |
Scheduling Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| object | {} | Node selector |
| list | [] | Tolerations |
| object | {} | Affinity |
| object | {} | Node selector |
| list | [] | Tolerations |
| object | {} | Affinity |
Extension Operations
Check Extension Status
# View extension installation status kubectl get installplan -n kubesphere-system -l extension.kubesphere.io/name=whizard-telemetry # View extension version kubectl get extensionversions -n kubesphere-system whizard-telemetry
Check Pod Status
# View API server pods kubectl get pods -n extension-whizard-telemetry -l app=whizard-telemetry-apiserver # View console pods kubectl get pods -n extension-whizard-telemetry -l app=wiz-telemetry-console
View Logs
# View API server logs kubectl logs -n extension-whizard-telemetry -l app=whizard-telemetry-apiserver --tail=100 # View console logs kubectl logs -n extension-whizard-telemetry -l app=wiz-telemetry-console --tail=100
Uninstall Extension
# Delete the InstallPlan to uninstall kubectl delete installplan -n kubesphere-system whizard-telemetry
Update Configuration
When new observability extensions are installed or uninstalled (e.g., whizard-logging, whizard-events, whizard-auditing), you need to update the whizard-telemetry config.
Step 1: Generate new config
cd whizard-telemetry && ./scripts/generate-config.sh
This script will check installed extensions and generate the complete config.
Step 2: Update InstallPlan
# Get the generated config (between ---CONFIG_START--- and ---CONFIG_END---) # Then patch the InstallPlan: kubectl get installplan whizard-telemetry -n kubesphere-system -o yaml > /tmp/whizard-telemetry.yaml # Edit the file and update the config section, then apply: kubectl apply -f /tmp/whizard-telemetry.yaml
Note: The config is automatically generated based on installed extensions. After installing new extensions (logging, events, auditing, notification, etc.), always regenerate and apply the config.
Troubleshooting
Check API Server Health
# Check API server endpoints kubectl get endpoints -n extension-whizard-telemetry whizard-telemetry-apiserver # Check API server service kubectl get svc -n extension-whizard-telemetry whizard-telemetry-apiserver
View Configuration
# View current configuration kubectl get installplan -n kubesphere-system whizard-telemetry -o yaml # View configmap kubectl get configmap -n extension-whizard-telemetry whizard-telemetry-config -o yaml