Citrix ADC

OpenStackを使用してCitrix ADC VPXインスタンスをプロビジョニングする

OpenStack環境でCitrix ADC VPXインスタンスをプロビジョニングするには、Novaブートコマンド(OpenStackのCLI)またはHorizon(OpenStackのダッシュボード)を使用します。

VPXインスタンスをプロビジョニングします。オプションで、コンフィグドライブのデータを使用します。「構成ドライブ」とは、インスタンスの起動時にCD-ROMデバイスとしてアタッチされる特殊な構成ドライブを指します。この構成ドライブは、管理IPアドレス、ネットワークマスク、デフォルトゲートウェイなど、ネットワーク構成を渡すためや、顧客スクリプトを注入するために使用できます。

Citrix ADCアプライアンスでは、デフォルトの認証メカニズムはパスワードベースです。OpenStack環境のCitrix ADC VPXインスタンスで、SSHキーペア認証メカニズムがサポートされるようになりました。

キーペア(公開キーと秘密キー)は、公開キー暗号方式を使用する前に生成する必要があります。Horizon、Windowsの場合はPuttygen.exe、Linux環境の場合はssh-keygenなど、別の方式を使用してキーペアを生成できます。キーペアの生成について詳しくは、それぞれの方式のオンラインドキュメントを参照してください。

キーペアが使用可能になったら、権限のあるユーザーがアクセスできる安全な場所に、秘密キーをコピーします。OpenStackでは、HorizonまたはNova bootコマンドを使用して、公開キーをVPXインスタンスに展開できます。OpenStackを使用してVPXインスタンスをプロビジョニングすると、まず特定のBIOS文字列を読み取って、インスタンスがOpenStack環境で起動していることを検出します。この文字列は「OpenStack Foundation」であり、Red Hat Linuxディストリビューションの場合は、/etc/nova/releaseに保存されます。これは、KVM Hypervisor プラットフォームに基づくすべての OpenStack 実装で利用できる標準的なメカニズムです。構成ドライブには、特定のOpenStackラベルが設定されています。

ネットワ―ク構成、カスタムスクリプト、およびSSHキーペアが提供されている場合は、構成ドライブが検出されると、インスタンスがそれらを読み取ろうとします。

ユーザーデータファイル

Citrix ADC VPXインスタンスは、ユーザーデータファイルとも呼ばれるカスタマイズされたOVFファイルを使用して、ネットワーク構成、カスタムスクリプトを挿入します。このファイルは、構成ドライブの一部として提供されます。次に、カスタマイズされたOVFファイルの例を示します。

```
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Environment xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
oe:id=""
xmlns="http://schemas.dmtf.org/ovf/environment/1"
xmlns:cs="http://schemas.citrix.com/openstack">
<PlatformSection>
<Kind></Kind>
<Version>2016.1</Version>
<Vendor>VPX</Vendor>
<Locale>en</Locale>
</PlatformSection>
<PropertySection>
<Property oe:key="com.citrix.netscaler.ovf.version" oe:value="1.0"/>
<Property oe:key="com.citrix.netscaler.platform" oe:value="NSVPX"/>
<Property oe:key="com.citrix.netscaler.orch_env" oe:value="openstack-orch-env"/>
<Property oe:key="com.citrix.netscaler.mgmt.ip" oe:value="10.1.2.22"/>
<Property oe:key="com.citrix.netscaler.mgmt.netmask" oe:value="255.255.255.0"/>
<Property oe:key="com.citrix.netscaler.mgmt.gateway" oe:value="10.1.2.1"/>
</PropertySection>
<cs:ScriptSection>
<cs:Version>1.0</cs:Version>
<ScriptSettingSection xmlns="http://schemas.citrix.com/openstack" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Scripts>
<Script>
<Type>shell</Type>
<Parameter>X Y</Parameter>
<Parameter>Z</Parameter>
<BootScript>before</BootScript>
<Text>
#!/bin/bash
echo "Hi, how are you" $1 $2 >> /var/sample.txt
</Text>
</Script>
<Script>
<Type>python</Type>
<BootScript>after</BootScript>
<Text>
#!/bin/python
print("Hello");
</Text>
</Script>
<Script>
<Type>perl</Type>
<BootScript>before</BootScript>
<Text>
! /usr/bin/perl
my $name = "VPX";
print "Hello, World $name !\n" ;
</Text>
</Script>
<Script>
<Type>Ncli </Type>
<BootScript>after</BootScript>
<Text>
add vlan 33
bind vlan 33 -ifnum 1/2
</Text>
</Script>
</Scripts>
</ScriptSettingSection>
</cs:ScriptSection>
</Environment>
```

上記のOVFファイルでは、「PropertySection」はNetScaler ネットワーク構成に使用 され、<cs:ScriptSection>はすべてのスクリプトを囲むために使用されます。<Scripts></Scripts>タグは、すべてのスクリプトをまとめるために使用されます。各スクリプトは <![CDATA [<Script> </Script>]] > タグ。各スクリプトタグには、従属するフィールドやタグがあります。

a) <Type>:スクリプトタイプの値を指定します。指定可能な値:Shell/Perl/Python/NSLCI(NetScaler CLIスクリプトの場合)

b) <Parameter>:スクリプトにパラメーターを指定します。各スクリプトでは、複数の<Parameter>タグを使用できます。

c) <BootScript>:スクリプト実行ポイントを指定します。このタグに指定可能な値:before/after。「before」を指定すると、 スクリプトがPE(Portable Executable:移植可能な実行可能ファイル)の実行前に実行されます。「after」を指定すると、スクリプトがPEの実行後に実行されます。

d) <Text>:スクリプトの内容を貼り付けます。

現在、VPXインスタンスはスクリプトのサニタイズを処理しません。管理者は、スクリプトの妥当性を確認する必要があります。

すべてのセクションを表示する必要はありません。空の「PropertySection」を使用して、初回起動時に実行するようにスクリプトを定義するだけか、空のを使用して、ネットワーク構成を定義するだけです。

OVFファイル(ユーザーデータファイル)の必要なセクションが入力された後、そのファイルを使用してVPXインスタンスをプロビジョニングします。

ネットワーク構成

ネットワーク構成の一環として、VPXインスタンスは以下を読み取ります。

  • 管理IPアドレス
  • ネットワークマスク
  • デフォルトゲートウェイ

パラメーターは、正常に読み取られると、インスタンスをリモートで管理できるようにNetScaler構成に移入されます。パラメーターが読み取られない場合、または構成ドライブが存在しない場合は、インスタンスが以下のデフォルトの処理を実行します。

  • DHCPからIPアドレス情報を取得する。
  • DHCPから情報を取得できない場合は、デフォルトのネットワーク構成として192.168.100.1/16を使用する。

カスタマースクリプト

VPXインスタンスでは、初期Provisioning 中にカスタムスクリプトを実行できます。アプライアンスは、シェル、Perl、Python、およびCitrix ADC CLIコマンドタイプのスクリプトをサポートしています。

SSH キーペア認証

VPXインスタンスは、インスタンスメタデータの一部として構成ドライブ内で利用可能なパブリックキーをその「authorized_keys」ファイルにコピーします。これにより、ユーザーが秘密キーを使用してインスタンスにアクセスできるようになります。

SSHキーが提供されると、デフォルトの資格情報(nsroot/nsroot)は使用できなくなります。パスワードベースのアクセスが必要な場合は、それぞれのSSH秘密キーを使用してログオンし、手動でパスワードを設定します。

はじめに

OpenStack環境でVPXインスタンスをプロビジョニングする前に、.tgzファイルから.qcow2ファイルを抽出し、

qcow2イメージからOpenStackイメージを作成します。次の手順を実行します:

  1. 次のコマンドを入力して、.tqz ファイルから.qcow2 ファイルを抽出します。

    tar xvzf <TAR file>
    tar xvzf <NSVPX-KVM-12.0-26.2_nc.tgz>
    NSVPX-KVM.xml
    NSVPX-KVM-12.0-26.2_nc.qcow2
    
  2. 次のコマンドを入力して、手順1で展開した.qcoz2ファイルを使用してOpenStackイメージを作成します。

    openstack イメージ作成 —コンテナ形式ベア —プロパティ hw_disk_bus=ide —ディスク形式 qcow2 —ファイル <path to qcow2 file> —public <name of the OpenStack image>
    
    glance image-create —name= "NS-VPX-12-0-26-2" —プロパティ hw_disk_bus=ide —ispublic=
    true —container-format=bare —disk-format=qcow2< nsVPX-KVM-12.0-26.2_nc.qcow2
    

    図 1: 次の図に、glance image-create コマンドの出力例を示します。

    ローカライズされた画像

VPXインスタンスのプロビジョニング

VPXインスタンスをプロビジョニングするには、次のいずれかの方法を使用します。

  • Horizon(OpenStackダッシュボード)
  • Nova bootコマンド(OpenStack CLI)

OpenStackダッシュボードを使用してVPXインスタンスをプロビジョニングする

Horizon を使用してVPXインスタンスをプロビジョニングするには、次の手順に従います。

  1. OpenStackダッシュボードにログオンします。
  2. ダッシュボードの左側にある [プロジェクト] パネルで、[インスタンス] を選択します。
  3. [インスタンス] パネルで、[インスタンスの起動] をクリックして、[インスタンスの起動] ウィザードを開きます。

    ローカライズされた画像

  4. [Launch Instance]ウィザードで、以下の情報を指定します。

    1. Instance Name - インスタンス名
    2. Flavor - インスタンスのフレーバー(種類)
    3. Instance Count - インスタンスの数
    4. Instance Boot Source - インスタンスの起動ソース
    5. イメージ名

    ローカライズされた画像

  5. 次の手順を実行して、Horizonを介して新しいキーペアか既存のキーペアを展開します。

    a) 既存のキーペアがない場合は、既存の方式を使用してキーを作成します。既存のキーがある場合は、この手順はスキップします。

    b) 公開キーの内容をコピーします。

    c) [Horizon] > [インスタンス] > [新しいインスタンスの作成] の順に選択します

    d) [アクセスとセキュリティ] をクリックします。

    e) [Key Pair] ドロップダウンメニューの隣にある [+] 記号をクリックし、表示されるパラメータの値を入力します。

    f)公開鍵の内容を 公開鍵 ボックスに貼り付け、鍵に名前を付け、[鍵 ペアのインポート] をクリックします。

    ローカライズされた画像

  6. ウィザードの [ポスト作成] タブをクリックします。[Customization Script]で、userdataファイルの内容を追加します。userdataファイルには、IPアドレス、ネットマスクとゲートウェイの詳細、VPXインスタンスのカスタマースクリプトが含まれます。

  7. キーペアを選択またはインポートした後、config-drive オプションをチェックし、 Launchをクリックします。

    ローカライズされた画像

OpenStack CLIを使用してVPXインスタンスをプロビジョニングする

OpenStack CLIを使用してVPXインスタンスをプロビジョニングするには、次の手順に従います。

  1. qcow2からイメージを作成するには、次のコマンドを入力します。

    openstack image create --container-format bare --property hw_disk_bus=ide --diskformat qcow2 --file NSVPX-OpenStack.qcow2 --public VPX-ToT-Image

  2. インスタンスを作成するイメージを選択するには、次のコマンドを入力します。

    openstack image list | more

  3. 特定のフレーバーのインスタンスを作成するには、次のコマンドを入力して、リストからフレーバー ID/名前を選択します。

    openstack flavor list

  4. NIC を特定のネットワークに接続するには、次のコマンドを入力して、ネットワークリストからネットワーク ID を選択します。

    openstack network list

  5. インスタンスを作成するには、次のコマンドを入力します。

    openstack server create --flavor FLAVOR_ID --image IMAGE_ID --key-name KEY_NAME
    --user-data USER_DATA_FILE_PATH --config-drive True --nic net-id=net-uuid
    INSTANCE_NAME
    openstack server create --image VPX-ToT-Image --flavor m1.medium --user-data
    ovf.xml --config-drive True --nic net-id=2734911b-ee2b-48d0-a1b6-3efd44b761b9
    VPX-ToT
    

図 2: 次の図は、出力例を示しています。

ローカライズされた画像

OpenStackを使用してCitrix ADC VPXインスタンスをプロビジョニングする