2 Multusモジュールのインストール
重要:
このドキュメントで説明されているソフトウェアは、Extended SupportまたはSustaining Supportにあります。 詳細は、「Oracleオープン・ソース・サポート・ポリシー」を参照してください。
このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお勧めします。
この章では、MultusモジュールをOracle Cloud Native Environmentにインストールする方法について説明します。
前提条件
このセクションでは、Multusモジュールの設定に必要な前提条件について説明します。
プロキシ構成の更新
環境でプロキシ・サーバーを使用している場合は、CRI-Oプロキシ構成ファイルを編集し、KubernetesサービスIP (デフォルトは10.96.0.1
)をNO_PROXY
変数に追加します。 たとえば、各Kubernetesノードで、/etc/systemd/system/crio.service.d/proxy.conf
ファイルを編集します:
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:3128"
Environment="HTTPS_PROXY=https://proxy.example.com:3128"
Environment="NO_PROXY=mydomain.example.com,10.96.0.1"
構成ファイルを再ロードし、crio
サービスを再起動します:
sudo systemctl daemon-reload
sudo systemctl restart crio.service
ノート:
olcnectl provision
コマンドを使用してクイック・インストールを実行する場合は、このステップを実行する必要はありません。 これは、そのインストール・メソッドを使用してプロキシ情報を指定するときに自動的に設定されます。
Multus構成ファイルの作成
Multusモジュールをデプロイするときに、オプションでMultus構成ファイルを指定してNetworkAttachmentDefinitionsを設定できます。
構成ファイルなしでMultusモジュールをデプロイする場合、MultusモジュールはNetworkAttachmentDefinitionsを設定せずに作成されます。 その後、モジュールのインストール後にkubectl
コマンドを使用してNetworkAttachmentDefinitionsを作成できます。
構成ファイルには、1つ以上のKubernetes NetworkAttachmentDefinitionカスタム・リソース定義(CRD)が含まれている必要があります。 これらの定義は、ポッドのセカンダリ・インタフェースを構成するネットワーク・アタッチメントを設定します。 YAML形式のオペレータ・ノードにMultus構成ファイルを指定します。 たとえば:
---
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
name: bridge-conf
spec:
config: '{
...
}
}'
---
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
name: macvlan-conf
spec:
config: '{
...
}
}'
Platform API Serverは、Multusモジュールの作成時に構成ファイルに含まれる情報を使用してNetworkAttachmentDefinitionsを作成します。
Multus構成ファイルの作成の詳細は、アップストリームの「Multusドキュメント」を参照してください。
Multusモジュールのデプロイ
このセクションでは、Multusモジュールを取り付ける方法について説明します。 Multusをインストールする前に、Kubernetesモジュールをインストールしておく必要があります。 Kubernetesモジュールは、デフォルトのKubernetesポッド・ネットワークCNIとしてFlannelを使用します。
Multusモジュールの作成に使用する構文については、「Platform Command-Line Interface」のolcnectl module create
コマンドのmultus
オプションを参照してください。
Multusモジュールをデプロイするには:
-
Kubernetesモジュールを作成してインストールします。 この例のKubernetesモジュールの名前は、
mycluster
です。 -
Multusモジュールを作成し、
--multus-kubernetes-module
オプションを使用してmycluster
という名前のKubernetesモジュールに関連付けます。 この例では、Multusモジュールの名前はmymultus
です。olcnectl module create \ --environment-name myenvironment \ --module multus \ --name mymultus \ --multus-kubernetes-module mycluster
--module
オプションは、モジュール・タイプを作成(multus
)に設定します。--name
オプション(この場合はmymultus
)を使用して、Multusモジュールの名前を定義します。--multus-kubernetes-module
オプションは、Kubernetesモジュールの名前を設定します。オプションで、
--multus-config
オプションを指定して、Multus構成ファイルのロケーションを設定できます。 このファイルは、指定されたパスのオペレータ・ノードで使用可能である必要があります。 この構成ファイルの作成については、「事前設定」を参照してください。モジュールの追加時に必要なオプションの一部が含まれていないと、そのオプションを指定するように求められます。
重要:
Multusは、デフォルトでKubernetes
kube-system
ネームスペースにデプロイされます。 構成ファイルを使用してモジュールをデプロイするときにNetworkAttachmentDefinitionsを作成する場合は、--multus-namespace
オプションを使用して、これを作成するネームスペースを指定します。 構成ファイルを使用すると、MultusポッドとNetworkAttachmentDefinitionsの両方が、このネームスペースに作成されます。 これらのNetworkAttachmentDefinitionsを使用するKubernetesアプリケーションは、このオプションで指定するネームスペースにも作成する必要があります。 たとえば:--multus-namespace default
-
olcnectl module install
コマンドを使用して、Multusモジュールをインストールします。 たとえば:olcnectl module install \ --environment-name myenvironment \ --name mymultus
Multusモジュールは、Kubernetesクラスタにデプロイされます。
Multusモジュール・デプロイメントの確認
オペレータ・ノードでolcnectl module instances
コマンドを使用して、Multusモジュールがデプロイされていることを確認できます。 たとえば:
olcnectl module instances \
--environment-name myenvironment
出力は次のようになります:
INSTANCE MODULE STATE
mymultus multus installed
mycluster kubernetes installed
...
MODULE
列のmultus
のエントリは、installed
状態であることに注意してください。
また、olcnectl module report
コマンドを使用して、モジュールに関する情報を確認します。 たとえば、次のコマンドを使用して、myenvironment
のmymultus
という名前のMultusモジュールを確認します:
olcnectl module report \
--environment-name myenvironment \
--name mymultus \
--children
olcnectl module report
コマンドの構文の詳細は、「Platform Command-Line Interface」を参照してください。