Product Documentation

NetScaler MASを使用したNetScaler CPXインスタンスとMesos、Marathon、Infoblox、およびNuage Networksの統合

2016年6月30日

ネットワーク管理者は、Marathonスケジューラを使用してMesosクラスターのアプリケーションを展開し、複数のNetScaler CPXインスタンスをプロビジョニングして、アプリケーションへのトラフィックを負荷分散できます。Nuage VSPソリューションを使用して、展開に含まれる各アプリケーションとNetScaler CPXインスタンスへのネットワーク接続を提供し、また、InfoBloxソリューションを使用して展開内にDNSサービスをセットアップできます。

NetScaler MASを使用すると、NetScaler CPXインスタンスおよびアプリケーションを管理および監視し、可視性を得ることができます。

この展開に対して、次のタスクを行います。

  1. MesosおよびMarathonのマスター-スレーブクラスターをセットアップします。各アプリケーションとNetScaler CPXインスタンスをUbuntuホスト上に構成し、これらのホストをMesosスレーブとして構成する必要があります。1つのUbuntuホストをMesosマスターとして構成し、Mesosマスター上にMarathonをインストールする必要があります。詳しくは、https://open.mesosphere.com/getting-started/install/を参照してください。
  2. アプリケーションとNetScaler CPXインスタンスのイメージを、すべてのMesosスレーブに保存する必要があります。
  3. その後、Marathon CLIまたはMarathon GUIを使用して、アプリケーションとNetScaler CPXインスタンスを起動できます。Marathonでは、NetScaler CPXインスタンスはアプリケーションとして起動されることに注意してください。Marathonでアプリケーションを実行する方法について詳しくは、https://mesosphere.github.io/marathon/docs/application-basics.htmlを参照してください。
  4. Nuage VSPソリューションのVIPサブネットをセットアップします。このVIPサブネットは、将来のMesosアプリケーションすべてのVIPニーズに対応できる大きさにする必要があります。MesosアプリケーションがこのVIPサブネットを使用することがないようにし、Nuageエンドポイント(vports)を作成しないようにします。
  5. DNS解決のために、InfoBloxソリューションにDNSサーバーをセットアップします。
  6. アプリケーション、Marathonスケジューラ、Nuage、およびInfoBloxの詳細をNetScaler MASに登録します。
  7. NetScaler CPXインスタンスをNetScaler MASに追加します。

注意事項:

  1. NetScaler CPXのIPアドレス(管理IPアドレス)は、Mesosクラスター内で完全にルーティングできる必要があります。
  2. MesosスレーブでNetScaler CPXインスタンスをプロビジョニングするときに、次の詳細を指定する必要があります。
    • NetScaler MASのホスト名またはIPアドレス
    • NetScaler MAS管理者のユーザー名とパスワード
    • DNS解決のために、NetScaler CPXインスタンスに構成するDNSサーバー名
  3. アプリケーションとNuageサブネットは、1対1でマップされている必要があります。
  4. NetScaler CPXは、Mesosスレーブ上で実行されているNuage Dockerモニターを使用してネットワークに接続されている必要があります。
  5. 関連付けられているサブネットには、Marathonアプリケーションタスク(アプリケーションのVIPアドレスのIP:portメンバー)のみが存在する必要があります。
  6. Marathonアプリケーションポートが、Marathonラベルのいずれかに指定されている必要があります。

Marathon GUIを使用した、アプリケーションとNetScaler CPXの起動

Marathon GUIにアクセスするには、ブラウザーでMarathon IPアドレスとポートを入力します。デフォルトでは、Marathonポートは8080です。

アプリケーションとNetScaler CPXインスタンスを起動するには:

  1. Marathon GUIにログオンします。

  2. [Applications] タブの左上ペインで、[Create] をクリックします。

  3. [New Application] 画面の [Docker container settings][Environment variables][Labels][Health checks]、および [Optional settings] の各セクションでパラメーターを指定します。

    MesosおよびMarathon環境では、ホストネットワークモードでのNetScaler CPXインスタンスの実行のみがサポートされます。このため、NetScaler CPXインスタンスを起動する場合は、[Docker container settings] セクションの [Network] 一覧で、[Host] を選択します。

    ローカライズされた画像

  4. [+ Create] をクリックします。

  5. 起動したアプリケーションが [Applications] に表示されます。

    ローカライズされた画像

アプリケーション、Marathonスケジューラ、Nuage、およびInfoBloxの詳細のNetScaler MASへの登録

NetScaler CPXインスタンスを正常に展開するには、アプリケーション、Marathonスケジューラ、NuageおよびInfoBloxソリューションの詳細をNetScaler MASに登録する必要があります。

NetScaler CPXインスタンスがNetScaler MASに接続できるように、ネットワークを構成する必要があります。NetScaler CPXコンテナが起動し、Nuage環境から管理IPアドレスを取得すると、セキュリティで保護された接続を使用してNetScaler MASへの登録要求が送信されます。

登録プロセスの一環として、NetScaler MASでは、NetScaler CPXインスタンスに関する情報と、Nitro REST APIを使用した構成用に、IPアドレスまたはアクセス可能なポートの情報を取得します。その後、NetScaler MASはヘルスの監視を開始します。

NetScaler MASに詳細を登録するには:

  1. NetScaler MASにログオンします。
  2. [Orchestration]>[Container Orchestration]>[Mesos Configuration] の順に選択して、次に [Add] をクリックします。
  3. [Application Settings]で、次のパラメーターを設定します。
    • [App Default Domain Suffix]:アプリケーションのDNS名の作成に使用するドメインサフィックス(InfoBloxで構成)。
    • [VIP Subnet Name]:アプリケーションのVIPを割り当てるためにNetScaler MASで使用される、Nuageサブネットの名前。このサブネットは、Nuageシステムに先に作成しておき、後からNetScaler MASに登録する必要があります。
  4. [Marathon Scheduler Details]で、Marathon URL、ユーザー名およびパスワードを指定します。
  5. [Nuage Details]で、VSD URL、ユーザー名、パスワード、およびVSDエンタープライズIDを指定します。
  6. [InfoBlox]で、InfoBlox URL、ユーザー名およびパスワードを指定します。
  7. /etc/resolv.confファイルに、InfoBlox DNS IPアドレスとドメイン検索パスを追加します。
    : NetScaler Management and Analytics Systemを再起動するときに、InfoBlox DNS IPアドレスとドメイン検索パスを/etc/resolv.confファイルに保持するには、/mpsconfig/svm.confファイルで次の内容を更新します: /mps/changenameserver.sh <DNS IP address1> <DNS IP address2> echo “search <domain name>” » /etc/resolv.conf
  8. NetScaler CPXインスタンスをJSONスクリプトファイルを使用して起動します。以下はJSONスクリプトファイルのサンプルです:
    : ご利用のJSONスクリプトファイルに次の行が含まれていることを確認してください: “cmd” : “cd /var/netscaler/bins/ ; sed -i ‘s/# Creating NSPPE startup conf, Read By PE/# Creating NSPPE startup conf, Read By PE\\necho \“$NSIP $HOSTNAME\” » \\\/etc\\\/hosts/’ ./docker_startup.sh ; bash -C ./docker_startup.sh ; bash”,

JSONスクリプトの例:

    curl -X POST http://10.xx.xx.62:8080/v2/apps -d @cpx_nuage_custom_etchostcorrection.json -H "Content-type: application/json"
    {
          "id": "cpx-host3",
          "cpus": 1,
          "mem": 1024,
          "instances": 2,
          "cmd" : "cd /var/netscaler/bins/ ; sed -i 's/# Creating NSPPE startup conf, Read By PE/# Creating NSPPE startup conf, Read By PE\necho "$NSIP $HOSTNAME" >> \/etc\/hosts/' ./docker_startup.sh ; bash -C ./docker_startup.sh ; bash",
          "constraints": [["hostname", "UNIQUE"]],
          "container": {
               "type": "DOCKER",
               "docker": {
                        "image": “cpx:11.1.40.3",
                        "network": "NONE",
                        "privileged": true,
                        "parameters": [
                            { "key": "tty", "value": "true" }
                        ]
                    }
          },
          "env": {
           "NUAGE-ENTERPRISE": "<nuage_enterprise>",
           "NUAGE-DOMAIN" : "<nuage_domain>",
           "NUAGE-ZONE":"<nuage_zone>",
           "NUAGE-NETWORK":"<nuage_network>",
           "NUAGE-USER":"<nuage_user>",
       "NS_MGMT_SERVER":"<NMAS_server_IP>"
          },
          "labels": {
                     "NETSCALER_AS_APP": "true"
          }
    }

各オプションの意味は次のとおりです。

  • <nuage_enterprise>は、Nuageエンタープライズの名前です。
  • <nuage_domain>は、Nuageドメインの名前です。
  • <nuage_zone>は、Nuageゾーンの名前です。
  • <nuage_network>は、Nuageネットワークの詳細です。
  • <nuage_user>は、Nuage管理ユーザー名です。
  • <NMAS_server_IP>は、NetScaler MASサーバーのIPアドレスです。

NetScaler MASを使用したNetScaler CPXインスタンスとMesos、Marathon、Infoblox、およびNuage Networksの統合