Terwayネットワークプラグインを使用する場合、クラスター内のノードのelastic network Interface (ENI) はTerwayによって管理されます。 いくつかのENIを手動で管理する場合は、Terwayによって管理されるENIを指定するようにENIフィルターを設定する必要があります。 そうしないと、Terwayと同じENIを管理すると競合が発生します。 ENIフィルターを設定すると、フィルターの指定されたタグに一致するENIのみがTerwayによって管理されます。 このトピックでは、ENIフィルターを設定する方法について説明します。
目次
前提条件
Container Service for Kubernetes (ACK) マネージドクラスターが作成されます。 クラスターはTerwayネットワークプラグインを使用します。 詳細については、「ACK管理クラスターの作成」をご参照ください。
ENIがENIフィルターと同じタグで設定されていることを確認します。 そうでない場合、これらのENIは除外されます。
ENIフィルターを設定するときは注意してください。 ENIフィルターを設定する前に、このトピックを読んでテストを実行することをお勧めします。
制限事項
Terwayのバージョンは1.5.5以降です。 コンポーネントの更新方法の詳細については、「コンポーネントの管理」をご参照ください。
手順
次のコマンドを実行して、Terwayの設定ファイルを変更します。
kubectl edit cm -n kube-system eni-config
次のコンテンツを
eni_conf
フィールドに追加します。"eni_tag_filter": { "creator": "terway" }
"eni_tag_filter"
パラメーターは、ENIタグフィルターを示します。{ "creator": "terway" }
タグは、Terwayによって作成されるすべてのENIを指定します。サンプルコード:
eni_conf: | { "eni_tag_filter": { "creator": "terway" }, "ip_stack": "ipv4", "vswitch_selection_policy": "ordered" }
重要ENIがENIフィルターと同じタグで設定されていることを確認します。 そうでない場合、これらのENIは除外されます。 ENIタグを変更する方法の詳細については、「ENIのタグの変更」をご参照ください。
TerwayでENIを作成するときに、ENIのタグを設定できます。 詳細については、「Terway ConfigMapのカスタマイズ」をご参照ください。
次のコマンドを実行してTerwayを再起動し、設定を有効にします。
kubectl delete pod -nkube-system -l app=terway-eniip
期待される出力:
pod "terway-eniip-XXX" deleted
設定が有効であることを確認します。
次のコマンドを実行して、terway-eniipのステータスを確認します。
kubectl get pods -n kube-system -l app=terway-eniip
期待される出力:
NAME READY STATUS RESTARTS AGE terway-eniip-XXX 2/2 Running 0 19h
次のコマンドを実行して、Terwayの設定を表示します。
kubectl logs -nkube-system terway-eniip-XXX # Alternatively: kubectl logs -nkube-system terway-eniip-XXX -c terway-init
出力に次の内容が含まれている場合、新しい設定は有効です。
#The ENITagFilter parameter indicates an ENI tag filter, and the creator:terway tag specifies all ENIs that are created by Terway. ENITagFilter:map[creator:terway]
新しいノードを追加するか、既存のノードを再追加します。
Terway 1.10から、新しいクラスターは異なるリソース管理方法を採用しています。
次のコマンドを実行して、Terwayの設定を表示します。
kubectl get cm -nkube-system eni-config -oyaml| grep ipam_type
サンプル出力:
"ipam_type": "crd",
出力に
crd
が含まれている場合は、ノードを再追加する必要があります。 出力が返されない場合、それ以上のアクションは必要ありません。ノードの管理方法の詳細については、「ノードとノードプール」をご参照ください。