検索

16.8. SDN プラグイン間の移行

download PDF

SDN プラグインをすでに 1 つ使用していて、別のプラグインへ切り替える場合には、以下を実行します。

  1. 設定ファイル内のすべての マスターノードnetworkPluginName パラメーターを変更します。
  2. すべてのマスターで API およびマスターサービスを再起動します。

    # master-restart api
    # master-restart controllers
  3. すべてのマスターおよびノードでノードサービスを停止します。

    # systemctl stop atomic-openshift-node.service
  4. OpenShift SDN プラグイン間の切り換えを行う場合、すべてのマスターおよびノードで OpenShift SDN を再起動します。

    oc delete pod --all -n openshift-sdn
  5. すべてのマスターおよびノードでノードサービスを再起動します。

    # systemctl restart atomic-openshift-node.service
  6. OpenShift SDN プラグインからサードパーティーのプラグインへ切り替える場合は、OpenShift SDN 固有のアーティファクトを消去します。

    $ oc delete clusternetwork --all
    $ oc delete hostsubnets --all
    $ oc delete netnamespaces --all
重要

さらに、ovs-multitenant に切り替えると、ユーザーはサービスカタログを使用してサービスをプロビジョニングできなくなります。openshift-monitoring も同様です。これを修正するには、以下のプロジェクトをグローバルにします。

$ oc adm pod-network make-projects-global kube-service-catalog
$ oc adm pod-network make-projects-global openshift-monitoring

この問題は、クラスターが最初に ovs-multitenant でインストールされている場合には表示されません。これらのコマンドが Ansible Playbook の一部として実行されたためです。

注記

ovs-subnet から ovs-multitenant OpenShift SDN プラグインに切り替えると、クラスター内の既存のすべてのプロジェクトが完全に分離します (つまり、これらに固有の VNID が割り当てられます)。クラスター管理者は、管理者 CLI を使用して プロジェクトネットワークの変更 を選択できます。

以下を実行して VNID をチェックします。

$ oc get netnamespace

16.8.1. ovs-multitenant から ovs-networkpolicy への移行

注記

v1 NetworkPolicy 機能のみが OpenShift Container Platform で利用可能です。つまり、egress ポリシータイプ、IPBlock、および podSelectornamespaceSelector の組み合わせは Openshift Container Platform では使用できません。

注記

NetworkPolicy 機能はクラスターとの通信に障害を発生させる可能性があるため、これらの機能をデフォルトの OpenShift Container Platform プロジェクトに適用しないでください。

SDN プラグインセクション間の移行 での上記の一般的なプラグインの移行に加え、ovs-multitenant プラグインから ovs-networkpolicy プラグインへの移行にはもう 1 つの追加の手順があります。すべての namespace には NetID がなければなりません。これは、以前に プロジェクトを結合 している場合や、プロジェクトをグローバル化 している場合に、ovs-networkpolicy プラグインに切り換える前にやり直しを実行する必要があります。 そうしない場合には、NetworkPolicy オブジェクトが適切に機能しなくなる可能性があります。

ヘルパースクリプトを使うと、NetID's の修正、以前に分離した namespace を分離するための NetworkPolicy オブジェクトの作成、および以前に結合した namespace 間の接続の有効化を実行できます。

ovs-multitenant プラグインを実行した状態でヘルパースクリプトを使用して ovs-networkpolicy プラグインを移行するには、以下の手順に従ってください。

  1. スクリプトをダウンロードし、実行ファイルパーミッションを追加します。

    $ curl -O https://raw.githubusercontent.com/openshift/origin/release-3.11/contrib/migration/migrate-network-policy.sh
    $ chmod a+x migrate-network-policy.sh
  2. スクリプトを実行します (クラスター管理者ロールが必要です)。

    $ ./migrate-network-policy.sh

このスクリプトを実行すると、すべての namespace が他のすべての namespace から完全に分離されるので、ovs-networkpolicy プラグインへの移行が完了するまでは、異なる namespace にある Pod 間で接続を試行してもこれに失敗します。

新たに作成した namespace に同じポリシーをデフォルトで適用したい場合には、移行スクリプトで作成した default-deny および allow-from-global-namespaces ポリシーと一致する デフォルトの NetworkPolicy オブジェクト が作成されるように設定します。

注記

スクリプトが失敗するか他のエラーが発生した場合、または ovs-multitenant プラグインに戻したい場合は、移行取り消し (un-migration) スクリプト を使用します。このスクリプトは移行スクリプトが実行した変更を取り消し、以前に結合した namespace を再度結合します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.