この項では、単一マスター・デプロイメントとマルチ・マスター・デプロイメントの作成方法の相違点について説明します。
マルチ・マスターKubernetesクラスタをデプロイするには:
マルチ・マスター・デプロイメントでは、マスター・ノードで複数の追加のポートを開く必要があります。マルチ・マスター・デプロイメントに必要なポートを開く方法の詳細は、2.3.4.2「マルチ・マスターのファイアウォール・ルール」を参照してください。
マルチ・マスター・デプロイメントでは、マスター・ノードの高可用性を実現するためにロード・バランサが必要になります。ロード・バランサは、マルチ・マスタ・デプロイメントの実行時に自動的にデプロイすることも、独自のロード・バランサの実装を使用することもできます。
Platform CLIでデプロイしたロード・バランサの使用の一環として、マスター・ノードにNGINXとkeepalivedをインストールすることで、ロード・バランサをコンテナベースでデプロイメントできるようにします。NGINXにより、マルチ・マスターKubernetesクラスタのリソース可用性と効率性が向上されます。keepalivedは、サービスとシステムを監視するために使用できます。また、問題発生時に自動的にスタンバイ・マスタ・ノードにフェイルオーバーするために使用できます。このマルチ・マスター・デプロイメント向けのロード・バランサをデプロイする際に、
olcne-nginx
サービスとkeepalived
サービスが有効化され、マスター・ノードで起動されます。Platform CLIでデプロイしたロード・バランサを使用するようにマスター・ノードを準備する方法の詳細は、3.4.3「ロード・バランサの設定」を参照してください。
単一マスター・デプロイメントと同じステップ(「第4章 Kubernetesクラスタの作成と管理」を参照)を実行しますが、olcne module createコマンドに別のオプションを使用して、Platform CLIでデプロイしたロード・バランサの仮想IPアドレスか、独自のロード・バランサ・インスタンスのホスト名とポートを指定します。
Platform CLIでデプロイしたロード・バランサを使用する場合は、
--virtual-ip
を使用してプライマリ・マスター・ノードに使用する仮想IPアドレスを設定します(例:--virtual-ip 192.0.2.100
)。また、独自のロード・バランサの実装のホスト名とポートを設定する場合は、
--load-balancer
オプションを使用します(例:--load-balancer lb.example.com:6443
)。マルチ・マスター・デプロイメントの場合は、
--apiserver-advertise-address
オプションを含める必要はありません。次の例では、Platform CLIでデプロイしたロード・バランサを使用するマルチ・マスター・デプロイメントを作成します。仮想IPアドレス
192.0.2.100
は、プライマリ・マスター・ノードに使用されます。$
olcnectl --api-server 127.0.0.1:8091 module create --environment-name myenvironment \ --module kubernetes --name mycluster \ --container-registry container-registry.oracle.com/olcne \ --virtual-ip 192.0.2.100 --master-nodes master1.example.com:8090,master2.example.com:8090,master3.example.com:8090 \ --worker-nodes worker1.example.com:8090,worker2.example.com:8090,worker3.example.com:8090,worker4.example.com:8090
次の例では、独自のロード・バランサを使用するマルチ・マスター・デプロイメントを作成します。このロード・バランサは、ホスト
lb.example.com
で使用可能になっていて、ポート6443
で実行しているものです。$
olcnectl --api-server 127.0.0.1:8091 module create --environment-name myenvironment \ --module kubernetes --name mycluster \ --container-registry container-registry.oracle.com/olcne \ --load-balancer lb.example.com:6443 --master-nodes master1.example.com:8090,master2.example.com:8090,master3.example.com:8090 \ --worker-nodes worker1.example.com:8090,worker2.example.com:8090,worker3.example.com:8090,worker4.example.com:8090
モジュールの検証とインストールに進みます。第4章 Kubernetesクラスタの作成と管理」を参照してください。