Terway ネットワークプラグインの Elastic IP Address(EIP)機能は非推奨となりました。EIP 機能を利用するには、ack-extend-network-controller コンポーネントをご利用ください。本トピックでは、Terway から ack-extend-network-controller へ EIP を移行する手順について説明します。
前提条件
-
ACK マネージドクラスター または ACK 専用クラスター をご利用中であり、ネットワークプラグインとして Terway を使用している必要があります。詳細については、「ACK マネージドクラスターの作成」または「ACK 専用クラスターの作成(新規作成は不可)」をご参照ください。
影響
移行プロセスでは、EIP インスタンスの情報は変更されず、ビジネス運用に影響はありません。
-
クラスターで現在 Terway の EIP 機能を使用している場合は、本トピックの手順に従って、既存の EIP 管理を ack-extend-network-controller へ移行してください。
-
クラスターで Terway の EIP 機能を使用していない場合は、本移行は不要です。
移行
Terway で EIP 移行機能を有効化すると、Pod に関連付けられた各 EIP に対して PodEIP カスタムリソースが作成されます。PodEIP は、Pod の EIP 情報を管理するリソースオブジェクトです。移行機能を有効化した後、Terway による EIP 管理は停止し、ack-extend-network-controller がその責任を引き継ぎます。
Terway における EIP 機能の有効化方法については、「自動 EIP 割り当て」をご参照ください。
操作手順
-
ack-extend-network-controller コンポーネントが既にインストールされている場合は、アンインストールします。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。
クラスターリスト ページで、クラスター名をクリックします。 左側のナビゲーションウィンドウで、 をクリックします。
-
[Helm] ページで、Helm の リリース名 に `ack-extend-network-controller` と表示されるリリースが存在する場合、操作 列の 削除 をクリックしてアンインストールします。
-
Terway ネットワークプラグインを v1.6.0 以降にアップグレードします。
詳細については、「コンポーネントの管理」をご参照ください。
-
EIP 移行機能を有効化するために、Terway の構成ファイルを変更します。
-
以下のコマンドを実行して、Terway の ConfigMap を編集します:
kubectl edit cm eni-config -n kube-system -
eni_conf セクションで構成を変更します。
パラメーター
値
説明
enable_eip_pool
"true"
このパラメーターが未設定または
"false"に設定されている場合、eip機能は無効であり、移行は不要です。enable_eip_migrate
true
移行機能を有効化するには、
trueを指定します。以下のコードは構成ファイルのサンプルです。その他のパラメーターは変更しないでください。
# その他の設定は省略。 eni_conf: | { "version": "1", "enable_eip_pool": "true", "enable_eip_migrate": true, "vswitch_selection_policy": "ordered" } # その他の設定は省略。
-
構成ファイルを変更した後、以下のコマンドを実行して Terway の Pod を再作成します:
kubectl delete pod -n kube-system -l app=terway-eniipTerway の Pod が再起動すると、Terway プラグインが自動的に EIP を移行します。
-
-
Terway のログを確認して、移行ステータスを検証します。「
eip migrate finished」というログエントリが存在すれば、移行は完了しています。-
以下のコマンドを実行して、Terway の Pod 名を取得します:
kubectl get pods -n kube-system | grep terwayこのコマンドにより、1 つ以上の Terway Pod 名が返されます。
-
以下のコマンドを実行して、Terway の Pod のログを表示します:
kubectl logs -n kube-system <pod_name> # <pod_name> を Terway の Pod 名に置き換えます。出力に
eip migrate finishedが含まれている場合、EIP 移行は完了しています。
-
-
PodEIP カスタムリソース(CR)が正常に作成されたことを確認します。
以下のコマンドを実行して、移行済みの CR を照会します。CR の名前および名前空間は、対応する Pod と一致します。
kubectl get podeip -n {namespace} {name} # {namespace} および {name} を、EIP を持つ Pod の名前空間および名前に置き換えます。 -
Marketplace から ack-extend-network-controller をインストールし、[EIP] 機能を有効化します。詳細については、「マーケットプレイスからの ack-extend-network-controller のインストール」をご参照ください。
-
以下のコマンドを実行して、PodEIP CR のステータスが更新されたかを確認します:
kubectl get podeip -n {namespace} {name} -o yaml # {namespace} および {name} を、EIP を持つ Pod の名前空間および名前に置き換えます。-
statusフィールドが空でない場合、EIP 機能は正常に動作しています。 -
statusフィールドが空の場合、ack-extend-network-controller コンポーネントの構成およびログを確認してください。
以下は出力例です:
以下の表にパラメーターの説明を示します。
パラメーター
説明
spec.allocationType.type
-
Static:EIP が静的に割り当てられます。Pod は指定された EIP ID を使用します。 -
Auto:EIP が自動的に割り当てられます。EIP は Terway によって自動作成されます。
spec.allocationType.releaseStrategy
-
Follow:Pod が削除されると EIP も解放されます。ステートレスワークロードに適しています。 -
TTL:Pod が削除された後、指定された生存時間(TTL)経過後に EIP が解放されます。EIP の永続化が必要なステートフルワークロードに適しています。
-
-
Terway における EIP 機能を無効化します。
-
enable_eip_migrateパラメーターをfalseに設定するか、該当パラメーターを削除します。 -
enable_eip_poolパラメーターを"false"に設定するか、該当パラメーターを削除します。 -
Terway の Pod を再起動します。
-