Helmチャートのアップグレード
Contrastエージェントオペレータは、セマンティックバージョニングに従います。
メジャー
バージョンには、オペレーターAPIへの重大な変更が含まれる場合があります。メジャーバージョンのアップグレードでは、マニフェストが変更されていたり、既存のカスタムリソース定義(CRD)の更新が必要な場合があるため注意が必要です。マイナー
バージョンには新機能が含まれていますが、完全な後方互換性があり既存のクラスタに適用しても安全です。新しい機能を使用するために、オプションのマニフェストの変更が必要な場合があります。パッチ
にはセキュリティおよびバグフィックスが含まれており、完全な後方互換性があるため既存のクラスタに安全に適用することができます。マニフェストの変更は必要ありません。
Contrastでは、以下の形式でイメージタグを公開しています。
:2 :2.1 :2.1.10 :latest
ここで:2
は、2.X.Xセマンティックバージョンブランチの最新リリースを表します。アップグレードを簡素化するために、リスク許容度に基づいて接頭辞のバージョンを使用することもできます(imagePullPolicy
がAlways
に設定されていることを確認してください)。
注記
Contrastエージェントオペレータは、複数のレプリカとリーダーリースを使用する可用性の高い構成をサポートしていますが、すべてのオペレータインスタンスが同じバージョンを長期間実行しているデプロイメントのみをサポートします。imagePullPolicy
オプションを使用して、複数のインスタンスを同じバージョンに維持しないでください。自動アップグレードが必要な場合は、Keelなどのオペレータを使用して安全にアップグレードすることをお勧めします。
マイナーおよびパッチアップグレード
新しいバージョンへのアップグレードは、新しいクラスタへのインストールと同じ手順で行います。クラスタ管理者として実行し、helm upgrade
を使用してhelmチャートを適用します。
helm repo update contrast helm upgrade --namespace contrast-agent-operator -f contrast-agent-operator.yaml contrast-agent-operator contrast/contrast-agent-operator
メジャーアップグレード
メジャーアップグレードには、マニフェストの追加変更が含まれる場合があります。CRDをkubectl
で置き換えると、既存の全てのCustomResources(さらには任意のクラスター構成も)は保持されます。
helm repo update contrast kubectl replace -f https://github.com/Contrast-Security-OSS/agent-operator/releases/latest/download/crds.yaml helm upgrade --namespace contrast-agent-operator -f contrast-agent-operator.yaml contrast-agent-operator contrast/contrast-agent-operator
ここでの一般的な手順はほとんどのメジャーアップグレードで有効ですが、メジャーアップグレードを確実に行うためにリリースノートに記載される移行手順がある場合には、その手順に従ってください。
注記
補足情報:
helm repo update contrast
は、Helmチャートの新しいバージョンを取得します。helm upgrade
は、最新のHelmチャートをクラスタに適用します。
メジャーアップグレードの場合は、kubectl replace -f https://github.com/Contrast-Security-OSS/agent-operator/releases/latest/download/crds.yaml
も実行する必要があります。この追加手順は、HelmがCRDを処理する方法に制限があるために必要です。詳細については、Helmチャートのドキュメントを参照して下さい。