新機能と更新情報
次の表は、この最新リリースまでの主な変更点の概要を示したものです。ただし、今リリースまでの変更点や新機能の一部は表に記載されていません。
Cisco ACI CNI プラグインのリリース バージョン |
機能 |
---|---|
5.2(3) |
Cisco Application Centric Infrastructure(ACI)は、Red Hat OpenStack Platform(OSP)にネストされた Red Hat OpenShift 4.13 をサポートします。 |
OpenStack 上の OpenShift 4.13
Cisco Application Centric Infrastructure(ACI)は、Red Hat OpenStack Platform(OSP)16.2 にネストされた Red Hat OpenShift 4.13 をサポートします。このサポートを有効にするために、Cisco ACI は、アップストリームの OpenShift インストーラを補完するカスタマイズされた Ansible モジュールを提供します。このドキュメントでは、次のドキュメント類に記載されている OpenStack User-Provisioned Infrastructure(UPI)での OpenShift の推奨インストール プロセスに従う手順とガイダンスを提供します。
-
OpenShift 4.13 に合わせてカスタマイズされた OpenStack を クラスタにインストールする(Red Hat OpenShift Web サイト)
-
GitHub の OpenStack ユーザー プロビジョニング インフラストラクチャへの OpenShift のインストール
(注) |
Cisco ACI CNI を使用して既存の OpenShift 4.12 クラスタがインストールされている場合、 OCP 4.13 にアップグレードできます。最初に ACI CNI をアップグレードしてから(「Cisco ACI CNI プラグインのアップグレード」ガイドを参照)、Red Hat のドキュメントに従って OpenShift 4.12 を 4.13 にアップグレードします。 |
ネットワーク設計と Cisco ACI CNI プラグイン
このセクションでは、Cisco ACI Container Network Interface(CNI)プラグインを利用するネットワーク設計について説明します。
この設計では、OpenShift ノード トラフィックを異なる Neutron ネットワーク上のポッド トラフィックから分離します。分離により、次の図に示すように、ブートストラップ、制御、およびコンピューティング仮想マシン(VM)に 2 つのネットワーク インターフェイスが割り当てられます。
1 つのインターフェイスはノード ネットワーク用で、2 つ目はポッド ネットワーク用です。2 番目のインターフェイスも、Cisco ACI コントロール プレーン トラフィックを伝送します。VLAN タグ付きサブインターフェイスは、ポッド トラフィックと Cisco ACI コントロール プレーン トラフィックを伝送するように 2 番目のインターフェイスで設定されます。
このネットワーク設計では、Red Hat OpenShift インストーラ UPI Ansible モジュールにいくつかの変更を加える必要があります。これらの変更は、シスコが提供する OpenShift インストーラ UPI Ansible モジュールに実装されており、OpenShift インストーラ tar ファイル(openshift_installer-6.0.3.<z> .src.tar.gz)にパッケージ化されています。これは、他の Cisco ACI CNI 5.2(3) リリース アーティファクトとともに利用できます。具体的には、次の点が変更されます。
-
別のプレイブックに 2 番目の Neutron ネットワークを作成します。
-
コントロールを起動し、仮想マシン(VM)を計算する既存のプレイブックを次のように変更します。
-
2 番目の Neutron ネットワークに 2 番目のポートを作成し、2 番目のインターフェイスとして VM 設定に追加します。
-
Neutron フローティング IP アドレスに追加の属性「nat_destination」を追加します。
-
-
最初の Neutron ネットワークを作成するプレイブックを次のように更新します。
-
定義済みの Cisco ACI 仮想ルーティングおよび転送(VRF)コンテキストにマッピングする Neutron アドレススコープを作成します。
-
前の手順のアドレス範囲に、Neutron サブネットプールを作成します。
-
サブネットの作成を変更して、前の手順のサブネットプールからサブネットを選択します。
-
neutron ネットワークの最大伝送ユニット(MTU)を設定します(後述の設定ファイルから取得)。
-
-
2 番目のネットワーク インターフェイス(およびそのインターフェイス上のサブインターフェイス)の作成に加えて、「openshift-install create initiator-configs」ステップで作成されたストック イグニッション ファイルを更新する必要があります。これは、提供されている追加のプレイブックによって実行されます。
(注) |
このセクションのカスタマイズの一部を実行するために必要な構成は、インベントリ ファイルの新しいパラメータを使用して行います。 |
OpenShift 4.13 をインストールするための前提条件
OpenStack 16.2 に OpenShift Container Platform(OCP)4.13 を正しくインストールするには、次の要件を満たす必要があります。
Cisco ACI
-
独立した Cisco ACI VRF および「共通の」Cisco ACI テナントで Cisco ACI レイヤ 3 外部接続(L3Out)を設定して、エンドポイントが次のことを実行できるようにします。
-
パッケージとイメージを取得するため、外部にアクセスします。
-
Cisco Application Policy Infrastructure Controller(APIC)に到達します。
-
-
エンドポイントが以下を実行できるように、OpenShift クラスタ(acc-provision 入力ファイルで構成)で使用される独立 VRF で別の L3Out を構成します。
-
OpenShift クラスタ外部の API エンドポイントに到達します。
-
OpenStack API サーバーに到達します。
OpenShift ポッド ネットワークはこの L3Out を使用します。
-
-
Cisco ACI インフラ VLAN を識別します。
-
OpenShift クラスタ サービス トラフィックに使用できる別の未使用の VLAN を指定します。
サービスは、OpenShift クラスタの acc_provision 入力ファイルの
service_vlan
フィールドで設定されます。
OpenStack [英語]
-
Red Hat OpenStack Platform(OSP)16.2 を、Cisco ACI Neutron プラグイン(リリース 5.2(3))を使用してネスト モードでインストールします。次のパラメータを、Cisco ACI .yaml モジュラ レイヤ 2(ML2)設定ファイルで設定します。
-
ACIOpflexInterfaceType: ovs
-
ACIOpflexInterfaceMTU: 8000
既存のインストールを更新するには(上記の 2 つのパラメータが構成されていない場合)、Cisco.com の『OpenStack Platform 16.2 Director を使用した Red Hat OpenStack の Cisco ACI Installation Guide』を参照してください。
-
-
OpenStack プロジェクトと、OpenShift クラスタをホストするために必要なクォータを作成し、その他の必要な構成を実行します。
Red Hat OpenStack Web サイトにある OpenStack 4.13 の『独自のインフラストラクチャ上の OpenStack にクラスタをインストールする』の手順に従います。
-
関連する Cisco ACI 拡張機能を使用し、OpenStack L3Out にマッピングして、以下を含む OpenStack Neutron 外部ネットワークを作成します。
-
セキュア ネットワーク アドレス変換(SNAT)用に設定されたサブネット。
-
フローティング IP アドレス用に設定されたサブネット。
Cisco.com の、『OpenStack Platform 16.2 Director を使用した Red Hat OpenStack の Cisco ACI Installation Guide』の「OpenStack 外部ネットワークの追加」の章を参照してください。
(注)
すべての OpenStack プロジェクトは、OpenStack L3Out および Neutron 外部ネットワークを共有できます。
-
-
Cisco ACI ファブリックで管理されていないエンドポイントから OpenShift ノードネットワークへの直接アクセスが必要な場合(つまり、Neutron フローティング IP を使用しない場合)、この直接アクセスが予想されるすべての IP サブネットを特定します。これらの IP サブネットは、後でインストール プロセス中に Neutron サブネット プールを作成するために使用されます。
-
『OpenStack ユーザー プロビジョニング インフラストラクチャへの OpenShift のインストール』の「Red Hat Enterprise Linux CoreOS (RHCOS)」セクションの手順に従って、RHCOS を取得し、OpenStack イメージを作成します。
$ openstack image create --container-format=bare --disk-format=qcow2 --file rhcos-4.13.3-x86_64-openstack.x86_64.qcow2.gz rhcos-4.13
OpenShift
インストール中にすべてのポッドからのトラフィックを送信元で NAT 処理するために、Cisco ACI コンテナ ネットワーク インターフェイス(CNI)によって使用される SNAT IP アドレスを特定します。Inventory.yaml ファイルの aci_cni
セクションの cluster_snat_policy_ip
設定で SNAT IP アドレスを使用します。
インストーラ ホスト
ノード ネットワークと OpenStack Director API にアクセスしてインストール スクリプトを実行するには、Linux ホストにアクセスする必要があります。次のものがインストールされている必要があります。
-
Ansible 2.8 以降をインストールします。
Ansible の Web サイトの『Ansible のインストール』を参照してください。
-
Python 3
-
jq:JSON linting
-
yq:YAML linting:sudo pip install yq
-
python-openstackclient 5.4 以降:sudo pip install python-openstackclient==5.4.0
-
openstacksdk 0.56 以降:sudo pip install openstacksdk==0.56.0
-
python-swiftclient 3.9.0:sudo pip install python-swiftclient==3.9.0
-
Ansible の Kubernetes モジュール:sudo pip install --upgrade --user openshift
openupi
という名前とディレクトリ構造(~/openupi/openshift-env/upi
)を使用します。$ cd ~/
$ mkdir -p openupi/openshift-env/upi
$ cd openupi/
$ tar xfz <path>/openshift_installer-6.0.3.<z>.src.tar.gz
$ cp openshift_installer/upi/openstack/* openshift-env/upi/
OpenShift 4.13 を OpenStack 16.2 にインストールする
事前に準備したインストーラ ホストからインストールを開始します。
始める前に
「前提条件」の項に記載されているタスクを完了します。
手順
ステップ 1 |
|
||
ステップ 2 |
Cisco ACI Container Network Interface(CNI)5.2(3)リリース アーティファクトに存在する acc-provision パッケージをインストールします。
|
||
ステップ 3 |
acc-provision ツールを実行して、OpenShift クラスタ用の Cisco APIC を設定します。これにより、Cisco ACI CNI プラグインをインストールするためのマニフェストも生成されます。 例:
この手順では、aci_deployment.yaml ファイルが生成されます。aci_deployment.yaml.tar.gz という名前の、Cisco ACI CNI マニフェストを含む tar ファイルも生成されます。 次に、acc-provision 入力ファイルの例を示します(ここで使用されている acc-provision フレーバーは
上記の acc-provision 入力ファイルで使用する system_id が Cisco ACI Object Naming and Numbering: Best Practices に準拠していることを確認します。これは、OpenStack プロジェクトの作成時に選択したテナント名にも当てはまります(上記の入力ファイルで指定します)。 |
||
ステップ 4 |
install、create、wait-for の OpenShift インストーラ コマンドは、openshift-env ディレクトリから実行します。 clouds.yaml ファイルが現在の作業ディレクトリまたは ~/.config/openstack/clouds.yaml に存在し、環境変数 OS_CLOUD が正しいクラウド名に設定されていることを確認します。 OpenStack Web サイトの python-openstackclient3.12.3.dev2 の「構成」を参照してください。 |
||
ステップ 5 |
先ほど acc-provision ツールが生成した aci_deployment.yaml.tar.gz ファイルを展開します。
|
||
ステップ 6 |
GitHub にある、リリース 4.13 に対応する「OpenStack ユーザー プロビジョニングインフラストラクチャへの OpenShift のインストール」の「構成のインストール」セクションの説明に従って、install-config.yaml を作成します。
次に、Cisco ACI コンテナ ネットワーク インターフェイス(CNI)を
|
||
ステップ 7 |
前の手順で生成されたファイルを環境に合わせて編集します。 例に記載されているように、編集には、GitHub にあるリリース 4.13 対応の「OpenStack ユーザー プロビジョニング インフラストラクチャへの OpenShift のインストール」の「ノード サブネットの修正」および「からのコンピューティング プール」セクションで説明されている |
||
ステップ 8 |
次の例に示すように、install-config.yaml ファイルと acc-provision-input.yaml ファイルの関連フィールドと一致するように
手順 11 の説明に従って |
||
ステップ 9 |
OpenShift マニフェストを生成し、Cisco ACI CNI マニフェストにコピーします。
|
||
ステップ 10 |
Cisco ACI ネットワークタイプの OpenStack Octavia ロードバランサの作成を無効にします。
|
||
ステップ 11 |
コントロール プレーンノードをスケジュール不可にします。 GitHub のリリース 4.13対応「OpenStack ユーザー プロビジョニング インフラストラクチャへの OpenShift のインストール」の「コントロールプレーン ノードをスケジュール不可にする」セクションの手順に従います。 |
||
ステップ 12 |
イグニッション ファイルを更新します。
このステップのコマンドでは、イグニッション ファイルを作成し、Cisco ACI CNI に従って更新し、bootstrap.ign ファイルを swift ストレージにアップロードします。また、GitHub のリリース 4.13 対応「OpenStack ユーザー プロビジョニング インフラストラクチャへの OpenShift のインストール」の「Bootstrap Ignition Shim」セクションの説明に従って、bootstrap-ignition-shim を生成します。 |
||
ステップ 13 |
Cisco OpenShift インストーラ パッケージから取得した Ansible プレイブックを実行して、次のタスクを実行します。 |
||
ステップ 14 |
Ansible プレイブックを使用してコンピューティング ノードを作成した場合は、保留中の証明書署名要求を承認してください。
|
||
ステップ 15 |
LoadBalancerService を使用するように、デフォルトの IngressController の公開戦略を更新します。
|
||
ステップ 16 |
インストールのステータスを確認します。
|
||
ステップ 17 |
クラスタを破棄します。
この手順でプレイブックを実行すると、ノードネットワークに対応する Cisco ACI BridgeDomain も削除されます。クラスタを再インストールするには、このドキュメントで前述したように、 |
オプション設定
ここでは、いくつかのオプション構成の方法について説明します。
ACI CNI を使用して OpenShift 4.x クラスタで Multus CNI プラグインを有効化する
新しいクラスタ、またはすでにインストールされているクラスタで、Multusを有効にできます。
新しいクラスタ インストールでの Multus の有効化
acc-provision を実行する場合は、disable-multus 引数を False に設定します。
$ acc-provision -a -c acc_provision_input.yaml -f openshift-4.13-openstack -u <username> -p <password> -o aci_deployment.yaml --disable-multus false
次の手順は、すでにインストールされているクラスタで Multus を有効にするためのものです。
手順
ステップ 1 |
新しい ACI CNI 展開構成を生成します。
|
||
ステップ 2 |
acicontainersoperator CR を削除します。
|
||
ステップ 3 |
新しい
|
||
ステップ 4 |
|
オプションのインベントリ構成
「OpenShift 4.13 を OpenStack にインストールする」のセクションのステップ 8 で、inventory.yaml ファイルの aci_cni セクションにある、Cisco ACI コンテナ ネットワーク インターフェイス(CNI)構成に必要なフィールドに注意しました。ここでは、オプションの構成とデフォルト値について説明します。
オプション |
説明とデフォルト値 |
||||
---|---|---|---|---|---|
|
デフォルトでは、この値は設定されていません。 送信元 IP ネットワーク アドレス変換(SNAT)の IP アドレスは、クラスタ全体に適用される Cisco ACI-CNI SNAT ポリシーを作成するために使用されます。この SNAT ポリシーは、このガイドの「OpenShift 4.13 を OpenStack にインストールする」のセクションで説明されているように、cluster_snat_policy.yaml Ansible プレイブックを実行して作成します。(この値が設定されていない場合は、このプレイブックを実行しないでください)。 |
||||
|
デフォルトでは、この値は設定されていません。 『Installing OpenShift on OpenStack User-Provisioned Infrastructure on GitHub』の「Subnet DNS (optional)」セクションで説明されている手順に従わない場合は、このフィールドを設定します。この手順では、Nova サーバーが使用するデフォルトのリゾルバーを制御します。 値を使用して、 |
||||
|
|
|
RHCOS イメージによって設定されたノード ネットワーク インターフェイスの名前。 デフォルト値は「 |
||
|
デフォルト値は 1500 です |
||||
|
|
RHCOS イメージによって設定されたノードネットワークインターフェイスの名前。 デフォルト値は「 |
|||
|
デフォルト値は 1500 です |
||||
|
デフォルト値は これは、 |