Upgrade the Collector for Kubernetes and other updates 🔗
Collector for Kubernetes のアップグレード 🔗
The installer script uses one of the supported package managers to install the Collector. When you update the Collector using the official packages, configuration files are never overridden. If you need to update the configuration after an update, edit them manually before backward compatibility is dropped.
Collector for Kubernetesをアップグレードするには、以下のコマンドを実行します:
フラグ
--reuse-values
を使用して、Collector のインストール時または使用時に設定した設定値を保持します:
helm upgrade splunk-otel-collector splunk-otel-collector-chart/splunk-otel-collector
--reuse-values
アップグレード中に以前の設定を上書きするには、
--values config.yaml
を使用します:
helm upgrade splunk-otel-collector --values config.yaml splunk-otel-collector-chart/splunk-otel-collector --reuse-values
Read more in the official Helm upgrade options documentation.
Upgrade guidelines 🔗
Apply the following changes to the Collector configuration files for specific version upgrades. For more details refer to Helm chart upgrade guidelines in GitHub.
From 0.113.0 to 0.116.0 🔗
Custom resource definition (CRD) configuration has been modified.
Before v0.110.0 CRDs were deployed via a
crds/
directory (upstream default).From v0.110.0 to v1.113.0 CRDs were deployed using Helm templates (upstream default), which had reported issues.
From v0.116.0 and higher, you must explicitly configure your preferred CRD deployment method or deploy the CRDs manually to avoid potential issues. You can deploy CRDs via a
crds/
directory again by enabling a newly added value.
New users 🔗
If you’re a new user deploy CRDs via the crds/
directory. For a fresh installation use the following Helm values:
operatorcrds:
install: true
operator:
enabled: true
To install the chart run:
helm install <release-name> splunk-otel-collector-chart/splunk-otel-collector --set operatorcrds.install=true,operator. enabled=true <extra_args>
Current users 🔗
You might need to migrate if using operator.enabled=true
.
If you’re using versions 0.110.0 to 1.113.0, CRDs are likely deployed via Helm templates. To migrate to the recommended crds/
directory deployment:
Delete the existing chart running
helm delete <release-name>
Verify if the following CRDs are present and delete them if necessary:
kubectl get crds | grep opentelemetry kubectl delete crd opentelemetrycollectors.opentelemetry.io kubectl delete crd opampbridges.opentelemetry.io kubectl delete crd instrumentations.opentelemetry.io
Reinstall the chart with the updated configuration:
helm install <release-name> splunk-otel-collector --set operatorcrds.install=true,operator.enabled=true <extra_args>
Current users maintaining legacy templates 🔗
If you’re using chart versions 0.110.0 to 1.113.0 and prefer to continue deploying CRDs via Helm templates (not recommended), use the following values:
operator:
enabled: true
operator:
crds:
create: true
注意
This method might cause race conditions during installation or upgrades.
From 0.105.5 to 0.108.0 🔗
注釈
If you have no customizations under .Values.operator.instrumentation.spec.*
no migration is required.
The Helm chart configuration for operator auto-instrumentation has been simplified, and the values previously under .Values.operator.instrumentation.spec.*
have been moved to .Values.instrumentation.*
.
The updated path looks like this:
instrumentation:
endpoint: XXX
...
The deprecated path was:
operator:
instrumentation:
spec:
endpoint: XXX
...
一般的なガイドライン 🔗
Apply the following changes to the Collector configuration files for specific version upgrades. For more details refer to the Upgrade guidelines in GitHub.
0.96.1 から 0.97.0 🔗
memory_ballast
は今後有効ではありません。SPLUNK_MEMORY_TOTAL_MIB
環境変数を使用して、ソフトメモリ制限でガベージコレクションを制御できるようになりました。この制限はデフォルトで総メモリの 90% に設定されています。詳細については、環境変数 を参照してください。
以下の手順に従って、Collector インスタンスが正しく動作することを確認してください:
memory_ballast
をカスタマイズしていない場合は、設定から削除してください。SPLUNK_BALLAST_SIZE_MIB
(またはextensions::memory_ballast::size_mib config
)を使用してmemory_ballast
をカスタマイズしている場合は、memory_ballast
エクステンションを削除し、GOMEMLIMIT
環境変数を使用してカスタムソフトメモリ制限を設定します:ガベージコレクションの頻度を上げるには、
GOMEMLIMIT
を、デフォルトである総メモリの 90% より高い値に設定します。ガベージコレクションの頻度を減らすには、
GOMEMLIMIT
を、デフォルトである総メモリの 90% より低い値に設定します。詳細については、Go 環境変数 を参照してください。
0.68.0 から 0.69.0 🔗
resourcedetection
プロセッサーの gke
および gce
リソースディテクターは、gcp
リソースディテクターに置き換えられました。 resourcedetection
プロセッサーに gke
および gce
ディテクターが設定されている場合は、それに応じて設定を更新してください。
詳細は リソース検出プロセッサー を参照してください。
0.41.0 から 0.42.0 🔗
Splunk Distribution of OpenTelemetry Collector は、ユーザー設定を 2 回評価していため、不要な環境変数の展開を防ぐために各 $
記号を $$
でエスケープする必要がありました。この問題は、0.42.0 バージョンで修正されました。設定に $$
が出現する場合は、$
に置き換える必要があります。
0.35.0 から 0.36.0 🔗
コンフィグパラメーター exporters -> otlp -> insecure
を exporters -> otlp -> tls -> insecure
に移動します。
otlp
エクスポーターのコンフィギュレーションは次のようになっている必要があります:
exporters:
otlp:
endpoint: "${SPLUNK_GATEWAY_URL}:4317"
tls:
insecure: true
0.34.0 から 0.35.0 🔗
ballast_size_mib
パラメータを memory_limiter
プロセッサーから memory_ballast
エクステンションに移動し、名前を size_mib
に変更します。
extensions:
memory_ballast:
size_mib: ${SPLUNK_BALLAST_SIZE_MIB}
Update the access token for the Collector for Kubernetes 🔗
注釈
アクセストークンを更新する過程で、Helm チャートまたは Collector のバージョンを更新しないように注意してください。詳細はステップ 3 を参照してください。
To update the access token for your Collector for Kubernetes instance follow these steps:
Helm のリリース名とチャートのバージョンを確認します。そのためには、次を実行します:
helm list -f <Release_Name>
Optionally, you can check your current access token:
helm get values <Release_Name>
Helm アップグレードで新しいアクセストークンをデプロイします。このコマンドはアクセストークンを更新するだけで、現在の Helm チャートと Collector のバージョンは維持されます。
helm upgrade --reuse-values --version <Current_Chart_Version> --set splunkObservability.accessToken=<New_Access_Token> <Release_Name> splunk-otel-collector-chart/splunk-otel-collector現在の Helm バージョンではなく、最新の Helm バージョンを使用する場合は、コマンドから
'--version <Current_Chart_Version>'
を削除します。
更新されたアクセストークンの値を確認する:
helm get values <Release_Name>
Restart the Collector’s DaemonSet and deployments:
If
agent.enabled=true
, restart the Collector’s agent DaemonSet:kubectl rollout restart DaemonSet <Release_Name>-agent
clusterReceiver.enabled=true
の場合、Collector のクラスターレシーバーのデプロイメントを再起動します:kubectl rollout restart deployment <Release_Name>-k8s-cluster-receiver
gateway.enabled=true
の場合、Collector のゲートウェイのデプロイメントを再起動します:kubectl rollout restart deployment <Release_Name>
クラスターのポッドのステータスを確認する:
kubectl get pod -n <Namespace> | grep <Release_Name>