3.5. Flow Collector 設定に関する重要な考慮事項
FlowCollector
インスタンスを作成すると、それを再設定することはできますが、Pod が終了して再作成されるため、中断が生じる可能性があります。そのため、初めて FlowCollector
を作成する際には、以下のオプションを設定することを検討してください。
関連情報
Flow Collector の仕様や、Network Observability Operator のアーキテクチャーとリソースの使用に関する全般的な情報については、次のリソースを参照してください。
3.5.1. FlowCollector CRD の削除された保存バージョンの移行
Network Observability Operator バージョン 1.6 では、FlowCollector
API の古くて非推奨の v1alpha1
バージョンが削除されます。以前にこのバージョンをクラスターにインストールしていた場合、etcd ストアから削除されていても、FlowCollector
CRD の storedVersion
で引き続き参照される可能性があり、これにより、アップグレードプロセスがブロックされます。これらの参照は手動で削除する必要があります。
保存されたバージョンを削除するには、次の 2 つのオプションがあります。
- Storage Version Migrator Operator を使用します。
- Network Observability Operator をアンインストールして再インストールし、インストールがクリーンな状態であることを確認します。
前提条件
-
古いバージョンの Operator がインストールされており、最新バージョンの Operator をインストールするようにクラスターを準備する必要がある。または、Network Observability Operator 1.6 をインストールしようとして、
Failed risk of data loss updating "flowcollectors.flows.netobserv.io": new CRD removes version v1alpha1 that is listed as a stored version on the existing CRD
エラーが発生している。
手順
古い
FlowCollector
CRD バージョンが、storedVersion
で引き続き参照されていることを確認します。$ oc get crd flowcollectors.flows.netobserv.io -ojsonpath='{.status.storedVersions}'
結果のリストに
v1alpha1
が表示される場合は、手順 a に進んで Kubernetes Storage Version Migrator を使用するか、手順 b に進んで CRD と Operator をアンインストールして再インストールします。オプション 1: Kubernetes Storage Version Migrator:
StorageVersionMigration
オブジェクトを定義する YAML を作成します (例:migrate-flowcollector-v1alpha1.yaml
)。apiVersion: migration.k8s.io/v1alpha1 kind: StorageVersionMigration metadata: name: migrate-flowcollector-v1alpha1 spec: resource: group: flows.netobserv.io resource: flowcollectors version: v1alpha1
- ファイルを保存します。
次のコマンドを実行して、
StorageVersionMigration
を適用します。$ oc apply -f migrate-flowcollector-v1alpha1.yaml
FlowCollector
CRD を更新して、storedVersion
からv1alpha1
を手動で削除します。$ oc edit crd flowcollectors.flows.netobserv.io
オプション 2: 再インストール:
FlowCollector
CR の Network Observability Operator 1.5 バージョンをファイル (例:flowcollector-1.5.yaml)
に保存します。$ oc get flowcollector cluster -o yaml > flowcollector-1.5.yaml
-
「Network Observability Operator のアンインストール」の手順に従って、Operator をアンインストールし、既存の
FlowCollector
CRD を削除します。 - Network Observability Operator の最新バージョン 1.6.0 をインストールします。
-
手順 b で保存したバックアップを使用して
FlowCollector
を作成します。
-
「Network Observability Operator のアンインストール」の手順に従って、Operator をアンインストールし、既存の
検証
以下のコマンドを実行します。
$ oc get crd flowcollectors.flows.netobserv.io -ojsonpath='{.status.storedVersions}'
結果のリストには
v1alpha1
が表示されなくなり、最新バージョンのv1beta1
のみが表示されます。