Collector for Kubernetesのアップグレードとその他のアップデート 🔗
Collector for Kubernetes のアップグレード 🔗
インストーラースクリプトは、サポートされているパッケージマネージャーのいずれかを使用して Collector をインストールします。公式パッケージを使用して Collector を更新する場合、構成ファイルが上書きされることはありません。更新後に設定を更新する必要がある場合は、下位互換性が失われる前に手動で編集してください。
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
詳しくは Helmアップグレードオプション の公式ドキュメントをご覧ください。
アップグレードガイドライン 🔗
特定のバージョンアップのために、Collector設定ファイルに以下の変更を適用します。詳細については、GitHubの Helmチャートアップグレードガイドライン を参照してください。
0.113.0から0.116.0 🔗
カスタムリソース定義(CRD)構成が変更されました。
v0.110.0以前のCRDは、
crds/
ディレクトリ(アップストリームデフォルト)を介してデプロイされていました。v0.110.0からv1.113.0までのCRDは、問題が報告されていた、Helmテンプレート(アップストリームデフォルト)を使用してデプロイされていました。
v0.116.0以降では、潜在的な問題を回避するために、CRDのデプロイ方法を明示的に設定するか、CRDを手動でデプロイする必要があります。新しく追加された値を有効にすると、
crds/
ディレクトリ経由でCRDを再度デプロイできます。
新規のユーザー 🔗
新規ユーザーの場合は、crds/
ディレクトリ経由でCRDをデプロイします。新規インストールの場合は、以下のHelmの値を使用します:
operatorcrds:
install: true
operator:
enabled: true
チャートをインストールするには
helm install <release-name> splunk-otel-collector-chart/splunk-otel-collector --set operatorcrds.install=true,operator. enabled=true <extra_args>
現在のユーザー 🔗
operator.enabled=true
を使用している場合は、移行する必要がある可能性があります。
バージョン0.110.0から1.113.0を使用している場合、CRDはHelmテンプレート経由でデプロイされていると思われます。推奨される crds/
ディレクトリのデプロイに移行するには:
実行中の既存のチャートを削除する
helm delete <release-name>
以下のCRDが存在するかどうかを確認し、必要であれば削除します:
kubectl get crds | grep opentelemetry kubectl delete crd opentelemetrycollectors.opentelemetry.io kubectl delete crd opampbridges.opentelemetry.io kubectl delete crd instrumentations.opentelemetry.io
更新された構成でチャートを再インストールします:
helm install <release-name> splunk-otel-collector --set operatorcrds.install=true,operator.enabled=true <extra_args>
レガシーテンプレートを保守している現在のユーザー 🔗
チャートバージョン0.110.0~1.113.0を使用しており、HelmテンプレートによるCRDのデプロイを継続したい場合(非推奨)、以下の値を使用してください:
operator:
enabled: true
operator:
crds:
create: true
注意
この方法は、インストールやアップグレードの際に競合状態を引き起こす可能性があります。
0.105.5から0.108.0 🔗
注釈
.Values.operator.instrumentation.spec.*
にカスタマイズがない場合、移行は不要です。
オペレーターによる自動インストルメンテーションのためのHelmチャート構成が簡素化され、以前は .Values.operator.instrumentation.spec.*
の下にあった値が .Values.instrumentation.*
に移動されました。
更新されたパスは次のようになります:
instrumentation:
endpoint: XXX
...
非推奨にされたパス:
operator:
instrumentation:
spec:
endpoint: XXX
...
一般的なガイドライン 🔗
特定のバージョンアップのために、Collector設定ファイルに以下の変更を適用します。詳細については、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}
Collector for Kubernetesのアクセストークンを更新します。 🔗
注釈
アクセストークンを更新する過程で、Helm チャートまたは Collector のバージョンを更新しないように注意してください。詳細はステップ 3 を参照してください。
Collector for Kubernetesインスタンスのアクセストークンを更新するには、以下の手順に従ってください:
Helm のリリース名とチャートのバージョンを確認します。そのためには、次を実行します:
helm list -f <Release_Name>
オプションで、現在のアクセストークンを確認することもできます:
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>
CollectorのDaemonSetおよびデプロイを再起動します:
agent.enabled=true
の場合、Collectorのエージェントデーモンセットを再起動します: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>