VMware vCenter への Crosswork クラスタのインストール

この章は次のトピックで構成されています。

インストールの概要

Crosswork Network Controller Crosswork クラスタは、次の方法を使用してインストールできます。

  • クラスタインストーラツール:クラスタインストーラツールは、テンプレートファイルを介して提供されるユーザー指定のパラメータを使用して、Crosswork クラスタを展開するために使用される Day 0 インストールツールです。このツールは、通常の PC/ラップトップを含む任意の Docker 対応プラットフォームでホストできる Docker コンテナから実行されます。Docker コンテナには、展開固有のデータを提供するために編集されるテンプレートファイルが含まれています。

  • 手動インストール(VMware UI 経由):このオプションは、インストーラツールを使用できない展開で利用できます。

インストーラツールによる方法は、より高速で使いやすいため、推奨されるオプションです。

インストール パラメータ

このセクションでは、Crosswork クラスタのインストール時に指定する必要がある重要なパラメータについて説明します。表に記載されている各パラメータに入力する関連情報を把握していること、さらに使用中の環境が VMware vCenter のインストールの前提条件 で指定されているすべての要件を満たしていることを確認してください。

表で推奨されている設定は、最も複雑でない構成を示しています。ネットワークの競合が発生した場合、またはより高度なセキュリティ設定(自己署名証明書など)を導入する場合は、シスコのカスタマー エクスペリエンス チームと協力して、クラスタに必要な変更を加える準備ができていることを確認してください。


注目


  • Crosswork インストーラツールに付属している最新のテンプレートファイルを使用してください。

  • セキュア ZTP とセキュア Syslog の場合、FQDN を使用して Crosswork クラスタを展開する必要があります。



(注)  


デュアルスタック展開の場合は、次のフィールドを設定する必要があります。

  • ManagementIPv4Address、ManagementIPv4Netmask、ManagementIPv4Gateway、ManagementVIPv4

  • ManagementIPv6Address、ManagementIPv6Netmask、ManagementIPv6Gateway、ManagementVIPv6

  • DataIPv4Address、DataIPv4Netmask、DataIPv4Gateway、DataVIPv4

  • DataIPv6Address、DataIPv6Netmask、DataIPv6Gateway、DataVIPv6

  • DNSv4、DNSv6


表 1. 一般パラメータ

パラメータ名

説明

ClusterName

クラスタファイルの名前。

ClusterIPStack

IP スタックプロトコル:IPv4、IPv6、または DUALSTACK。

ManagementIPv4Address
ManagementIPv6Address

VM の管理 IP アドレス(IPv4 や IPv6)。

ManagementIPv4Netmask
ManagementIPv6Netmask

ドット付き 10 進法形式の管理 IP サブネット(IPv4 や IPv6)。

ManagementIPv4Gateway
ManagementIPv6Gateway

管理ネットワーク上のゲートウェイIP(IPv4 や IPv6)。アドレスは到達可能である必要があります。そうでない場合、インストールは失敗します。

ManagementVIPv4
ManagementVIPv6

クラスタの管理仮想 IP アドレス(IPv4 や IPv6)。

ManagementVIPName

クラスタの管理仮想 IP の名前。これは DNS 名を介して Crosswork クラスタ管理 VIP に到達するために使用されるオプションのパラメータです。このパラメータを使用する場合、対応する DNS レコードが DNS サーバーに存在する必要があります。

DataIPv4Address
DataIPv6Address

VM のデータ IP アドレス(IPv4 や IPv6)。

DataIPv4Netmask
DataIPv6Netmask

ドット付き 10 進法形式のデータ IP サブネット(IPv4 や IPv6)。

DataIPv4Gateway
DataIPv6Gateway

データネットワーク上のゲートウェイ IP(IPv4 や IPv6)。アドレスは到達可能である必要があります。そうでない場合、インストールは失敗します。

DataVIPv4
DataVIPv6

クラスタのデータ仮想 IP アドレス(IPv4 や IPv6)。

DataVIPName

クラスタのデータ仮想 IP の名前。これは DNS 名を介して Crosswork クラスタデータ VIP に到達するために使用されるオプションのパラメータです。このパラメータを使用する場合、対応する DNS レコードが DNS サーバーに存在する必要があります。

DNSv4
DNSv6

DNS サーバーの IP アドレス(IPv4 や IPv6)。アドレスは到達可能である必要があります。そうでない場合、インストールは失敗します。

NTP

NTP サーバーのアドレスまたは名前。アドレスは到達可能である必要があります。そうでない場合、インストールは失敗します。

DomainName

クラスタに使用されるドメイン名。

CWusername

Cisco Crosswork にログインするためのユーザー名。

CWPassword

Cisco Crosswork にログインするためのパスワード。

強力な VM パスワード(大文字と小文字、数字、最低 1 つの特殊文字を含む 8 文字の長さ)を使用します。ディクショナリの単語や関連する単語に類似したパスワードの使用は避けてください(例:「Pa55w0rd!」)。類似パスワードは基準を満たしていますが、脆弱であり、許可されないため、VM のセットアップに失敗します。

VMSize

クラスタの VM サイズ。空白のままにすると、デフォルト値(「Large」)が選択されます。

VMName

VM の名前。クラスタの各ノード(ハイブリッドまたはワーカー)には、一意の VM 名が必要です。

NodeType

VM のタイプを示します。[ハイブリッド(Hybrid)] または [ワーカー(Worker)] を選択します。

(注)  

 

Crosswork クラスタには、ハイブリッド構成で動作する 3 つ以上の VM が必要です。

IsSeed

新しいクラスタで最初に構築する VM の場合は、[True] を選択します。

他のすべての VM の場合、または障害が発生した VM を再構築する場合は、[False] を選択します。

このパラメータは、クラスタインストーラツールを使用してインストールする場合はオプションです。

InitNodeCount

ハイブリッドノードとワーカーノードを含むクラスタ内のノードの総数。デフォルト値は 3 です。これを、展開する VM(ノード)の数に一致するように設定します。VM 数の詳細については、表 1を参照してください。

このパラメータは、クラスタインストーラツールを使用してインストールする場合はオプションです。

InitLeaderCount

クラスタ内のハイブリッドノードの総数。デフォルト値は 3 です。

このパラメータは、クラスタインストーラツールを使用してインストールする場合はオプションです。

BackupMinPercent

バックアップパーティションのサイズとして使用される、データディスク容量の最小パーセンテージ。デフォルト値は 35 です(有効な範囲は 1 〜 80)。

別の値が推奨されない限り、デフォルト値を使用してください。

(注)  

 

最終的なバックアップ パーティション サイズは動的に計算されます。このパラメータは最小値を定義します。

ManagerDataFsSize

ハイブリッドノードのデータディスクサイズを示します(ギガバイト単位)。これはオプションのパラメータであり、明示的に指定されない場合、デフォルト値は 485 です(有効な範囲は 485 〜 8000)。

別の値が推奨されない限り、デフォルト値を使用してください。

WorkerDataFsSize

ワーカーノードのデータディスクサイズを示します(ギガバイト単位)。これはオプションのパラメータであり、明示的に指定されない場合、デフォルト値は 485 です(有効な範囲は 485 〜 8000)。

別の値が推奨されない限り、デフォルト値を使用してください。

ThinProvisioned

実稼働の展開では「false」に設定します。

EnableHardReservations

VM CPU およびメモリプロファイルの予約の適用を決定します(詳細については、VMware vCenter のインストールの前提条件を参照してください)。これはオプションのパラメータであり、明示的に指定されない場合、デフォルト値は true です。

true に設定すると、VM のリソースが独占的に提供されます。この状態では、CPU コア、メモリ、または CPU サイクルが不十分な場合、インストールに失敗します。

false に設定すると(ラボインストールの場合にのみ設定)、VM のリソースはベストエフォートで提供されます。この状態では、不十分な CPU コアがパフォーマンスに影響を与えたり、インストールが失敗したりする可能性があります。

RamDiskSize

RAM ディスクのサイズ。

このパラメータはラボインストールのみに使用されます(値は 2 以上にする必要があります)。RAMDiskSize にゼロ以外の値が指定されている場合、HSDatastore 値は使用されません。

OP_Status

このオプションのパラメータは、Crosswork クラスタの手動展開後にインベントリをインポートするために使用(コメント化解除)されます。

パラメータは、この VM の状態を参照します。実行中のステータスを示すには、値を 2(#OP_Status = 2)にする必要があります。詳細については、クラスタインベントリのインポートを参照してください。

SchemaVersion

構成マニフェストスキーマのバージョンこれは、このテンプレートで使用するインストーラのバージョンを示します。

スキーマのバージョンは、cisco.com のクラスタインストーラツールのサンプルテンプレートによってパッケージ化されるバージョンに対応している必要があります。テンプレートの要件はリリースごとに変更される可能性があるため、常に、展開するリリースで提供されるデフォルトのテンプレートから新しいテンプレートを作成する必要があります。

LogFsSize

ログパーティションサイズ(ギガバイト単位)。最小値は 20 GB、最大値は 1,000 GB です。デフォルト値の使用を推奨します。

Timezone

タイムゾーンを入力します。入力は、標準の IANA タイムゾーン(「America/Chicago」など)です。

空白のままにすると、デフォルト値(UTC)が選択されます。

これは省略可能なパラメータです。

(注)  

 
Kafka ログメッセージのタイムスタンプは、NSO サーバータイムを表します。Crosswork のサーバータイムと NSO のイベントタイムの不一致を避けるために、Crosswork で Timezone パラメータを変更する前にNSO のサーバータイムを更新してください。
EnableSkipAutoInstallFeature

自動インストールをスキップするようにマークされたポッドは、依存するアプリケーションやポッドが明示的に要求するまで起動されません。

空白のままにすると、デフォルト値(「False」)が選択されます。

EnforcePodReservations

ポッドの最小のリソース予約を強制します。

空白のままにすると、デフォルト値(「True」)が選択されます。

K8sServiceNetwork

kubernetes サービスネットワークのネットワークアドレス。デフォルトでは、CIDR 範囲は「10.96.0.0/16」に固定されています。このデフォルト値を変更したい場合は、シスコのカスタマー エクスペリエンス チームにお問い合わせください。

K8sPodNetwork

kubernetes ポッドネットワークのネットワークアドレス。デフォルトでは、CIDR 範囲は「10.224.0.0/16」に固定されています。このデフォルト値を変更したい場合は、シスコのカスタマー エクスペリエンス チームにお問い合わせください。

DefaultApplicationResourceProfile

アプリケーションポッドのリソースプロファイル。空白のままにすると、リソースプロファイルはデフォルトで展開の VM プロファイルになります(推奨オプション)。

DefaultInfraResourceProfile

インフラストラクチャポッドのリソースプロファイル。空白のままにすると、リソースプロファイルはデフォルトで展開の VM プロファイルになります(推奨オプション)。

IsRunDiagnoticsScriptForCheck

診断スクリプトの実行を有効または無効にするために使用されます。値は「true」(デフォルト値)と「false」です。

デフォルト値を選択することをお勧めします。

IgnoreDiagnoticsCheckFailure

診断チェックが失敗した場合のシステム応答を設定するために使用されます。

「true」(デフォルト値)に設定すると、診断チェックは無視され、インストールが続行されます。「false」に設定すると、インストールが終了します。

デフォルト値を選択することをお勧めします。

(注)  

 
  • ログファイル(diagnostic_stdout.log および diagnostic_stderr.log)は、/var/log にあります。各診断の実行結果は、/home/cw-admin/diagnosis_report.txt のファイルに保存されます。

  • diagnostic all コマンドを使用して、N 日目に診断を手動で呼び出します。

  • diagnostic history コマンドを使用して、以前のテストレポートを表示します。

表 2. VMware テンプレートのパラメータ

パラメータ名

説明

VCenterAddress

vCenter IP またはホスト名。

VCenterUser

vCenter にログインするために必要なユーザー名。

VCenterPassword

vCenter にログインするために必要なパスワード。

DCname

使用するデータセンターリソースの名前。

例:DCname = "WW-DCN-Solutions"

MgmtNetworkName

VM の管理インターフェイスに接続する vCenter ネットワークの名前。

このネットワークは VMware にすでに存在している必要があります。存在しない場合、インストールは失敗します。

DataNetworkName

VM のデータインターフェイスに接続する vCenter ネットワークの名前。

このネットワークは VMware にすでに存在している必要があります。存在しない場合、インストールは失敗します。

Host

VM が展開される ESXi ホスト(または vCenter クラスタ/リソースグループの名前「のみ」)。

第 1 のオプションは、ホストの IP または名前を使用することです(すべてのホストがデータセンターの下にある必要があります)。ホストがデータセンターのクラスタの下にある場合は、クラスタ名のみを指定します(クラスタ内のすべてのホストが選択されます)。

第 2 のオプションは、リソースグループを使用することです。この場合は、フルパスを指定する必要があります。

例:Host = "Main infrastructure/Resources/00_trial"

Datastore

このホストまたはリソースグループで使用可能なデータストア名。

第 1 のオプションは、ホストの IP または名前を使用することです。第 2 のオプションは、リソースグループを使用することです。

例:Datastore = "SDRS-DCNSOL-prodexsi/bru-netapp-01_FC_Prodesx_ds_15"

HSDatastore

このホストまたはリソースグループで使用可能な高速データストア。

高速データストアを使用しない場合は、データストアと同じ値に設定します。

DCfolder

vCenter のリソースフォルダ名。VMware ユーザーとしてのルートアクセス権がない場合、またはメンテナンスのために別のフォルダに VM を作成する必要がある場合に使用します。DCfolder の値として完全パスを指定する必要があります。

例:DCfolder = "/WW-DCN-Solutions/vm/00_trial"

完全なフォルダパスに関して疑問がある場合は、VMware 管理者にお問い合わせください。

使用しない場合は空のままにします。

Cw_VM_Image

vCenter の Crosswork クラスタ VM イメージの名前。

この値は、クラスタインストーラツールの実行時にオプションとして設定されるため、テンプレートファイルで設定する必要はありません。

HostedCwVMs

ESXi ホストまたはリソースによってホストされる VM の ID。

Crosswork Network Controller のインストールパラメータの値を決定したら、好みの方法を選択して展開を開始します。

自動アクション機能を使用したアプリケーションのインストールの自動化

自動アクション機能は、Day 0 インストーラを使用して、クラスタのインストール中に必要に応じてアプリケーションのインストールとアクティブ化を自動化できるオプションのメソッドです。インストールプロセスを簡素化するように設計されたこのオプションは、Docker インストーラ、直接 OVA インストール、および OVF ツールを使用して設定できます。

自動アクションを有効にするには、インポートしてアクティブ化する tar バンドルをリストアップする定義ファイル(JSON 形式)を設定する必要があります。JSON ファイルは Day 0 インストーラとともに送信され、インストール中に OVA にバンドルされているデフォルトのファイルを上書きします。


(注)  


自動アクション機能は、非 Geo の HA クラスタビルドの Day 0 展開でのみサポートされます。自動アクションファイルで指定されたファイルパス(ファイルがダウンロードされるローカルマシン上の場所)に Crosswork クラスタからアクセスできることを確認してください。


自動アクション定義ファイルは、次の 2 つの CAPP アクションをカスタマイズします。

  • リポジトリに追加(add_to_repository_requests:自動アクション機能は、アプリケーションファイル(CAPP ファイル)をリポジトリに追加するための基本認証(HTTP/HTTPS)によって、HTTP、HTTPS、および SCP プロトコルをサポートします。

    リポジトリに追加するためにサポートされているすべてのオプションを示すサンプルスクリプト:

    {
      "auto_action": {
        "add_to_repository_requests": [
          {
            "file_location": {
              "uri_location": {
                "uri": "https://example.com/path/to/cw-na-element-management-functions-7.0.0.tar.gz",
                "basic_auth": {
                  "username": "user",
                  "password": "xxxx"
                }
              }
            }
          },
          {
            "file_location": {
              "uri_location": {
                "uri": "https://example.com/path/to/cw-na-hi-7.0.0.tar.gz"
              }
            }
          },
          {
            "file_location": {
              "scp_location": {
                "remote_file": "/example/cw-na-hi-7.0.0.tar.gz",
                "ssh_config": {
                  "remote_host": "x.x.x.x",
                  "username": "root",
                  "password": "xxxxx",
                  "port": 22
                }
              }
            }
          }
        ],
      }
    }
  • アクティブ化(install_activate_requests:インストールおよびアクティブ化する CAPP ファイルは、version および id パラメータを使用して識別されます。

    例:

    "auto_action": {
            "install_activate_requests": [
                {
                    "package_identifier": {
                        "_comment": "Part of advantage capp",
                        "version": "7.0.0",
                        "id": "capp-coe"
                    }
                },
            ],

Docker インストーラの使用

Docker インストーラを使用してインストールする場合、JSON ファイルが正常に検証されるとインストールが続行されます。ファイルにシンタックスエラーがある場合は、エラーメッセージが表示され、インストールが中止されます。エラーが修正されると、インストールを再試行できます。

自動アクションファイルを実行するシンタックス:

./cw-installer.sh install -p -m /data/<template file name> -a <path to json def file> -o /data/<.ova file>

例:

./cw-installer.sh install -m /data/deployment.tfvars -a https://example.com/path/to/crosswork_auto_action.json -o /data/signed-cw-na-platform-7.0.0-114-release-240831.ova

vCenter UI または OVF ツールの使用

vCenter UI を使用してインストールする場合、CDATA JSON コンテンツはバックエンドで検証されます。データにシンタックスエラーがある場合、自動アクションの手順はスキップされ、Crosswork クラスタは通常のインストールワークフローに従ってインストールされます。

vCenter および OVF ツールは、特殊文字の処理に問題があるため、JSON 形式のファイルの直接アップロードはサポートしていません。これを解決するには、JSON ファイルを圧縮し、CDATA 形式で囲む必要があります。

<![CDATA[{自動アクション JSON 圧縮コンテンツ}]]>

(注)  


次の CDATA の例には、読みやすくするために改行が含まれています。実稼働展開では、改行なしで CDATA を実行してください。


例:

<![CDATA[{"auto_action":{"add_to_repository_requests":[{"file_location":{"uri_location":{"uri":"<file path>/<filename.tar.gz>"}}}],
"install_activate_requests":[{"package_identifier":{"id":"capp-coe","version":"7.0.0"}}]}}]]>

自動アクション定義ファイルのサンプル


(注)  


プレースホルダの値(例://example.com/path/to/cw-na-cncessential-7.0.0-240831.tar.gzユーザー名パスワードID、およびバージョン)は、お使いの環境に適した実際の値と置き換えてください。


{
    "auto_action": {
        "add_to_repository_requests": [
            {
                "file_location": {
                    "uri_location": {
                        "uri": "https://example.com/path/to/cw-na-cncessential-7.0.0-240831.tar.gz"
                    }
                }
            },
            {
                "file_location": {
                    "uri_location": {
                        "uri": "https://example.com/path/to/cw-na-cncadvantage-7.0.0-240831.tar.gz"
                    }
                }
            },
            {
                "file_location": {
                    "uri_location": {
                        "uri": "https://example.com/path/to/cw-na-cncaddon-7.0.0-240831.tar.gz"
                    }
                }
            }
        ],
        "install_activate_requests": [
            {
                "package_identifier": {
                    "_comment": "Part of essentials capp",
                    "version": "7.0.0",
                    "id": "capp-common-ems-services"
                }
            },
            {
                "package_identifier": {
                    "_comment": "Part of advantage capp",
                    "version": "7.0.0",
                    "id": "capp-cat"
                }
            },
            {
                "package_identifier": {
                    "_comment": "Part of advantage capp",
                    "version": "7.0.0",
                    "id": "capp-coe"
                }
            },
            {
                "package_identifier": {
                    "_comment": "Part of advantage capp",
                    "version": "7.0.0",
                    "id": "capp-aa"
                }
            },
            {
                "package_identifier": {
                    "_comment": "Part of add on capp",
                    "version": "7.0.0",
                    "id": "capp-ca"
                }
            },
            {
                "package_identifier": {
                    "_comment": "Part of add on capp",
                    "version": "7.0.0"",
                    "id": "capp-hi"
                }
            }
        ]
    }
}  

クラスタインストーラツールを使用した VMware vCenter への Cisco Crosswork のインストール

この項では、クラスタインストーラツールを使用して VMware vCenter に Cisco Crosswork をインストールする手順について説明します。


(注)  


クラスタの作成にかかる時間は、展開プロファイルのサイズとハードウェアのパフォーマンス特性によって異なることがあります。


始める前に

クラスタインストーラツール を使用する際に知っておくべきポイントは以下のとおりです。

  • 環境がVMware vCenter のインストールの前提条件で指定されている vCenter のすべての要件を満たしていることを確認します。

  • 展開にデュアルスタック構成を使用する場合は、Docker インストーラを実行しているホストマシンが次の要件を満たしていることを確認してください。

    • Crosswork の管理 IPv6 ネットワークと同じプレフィックスからの IPv6 アドレスを持っているか、そのネットワークにルーティングできる必要があります。これを確認するには、ホストから管理 IPv6 ネットワークのゲートウェイ IP に ping を試します。ホストの IPv6 ネットワークを利用するには、Docker インストーラの実行時にパラメータ --network host を 使用します。

    • 指定した IPv6 ネットワーク CIDR とゲートウェイが有効で到達可能であることを確認します。

  • /data ディレクトリ内の編集されたテンプレートには、機密情報(VM パスワードと vCenter パスワード)が含められます。オペレータは、このコンテンツへのアクセスを管理する必要があります。安全な環境でのインストールに使用されるテンプレートを保管するか、インストールの完了後にテンプレートを編集してパスワードを削除します。

  • install.loginstall_tf.log、および .tfstate ファイルがインストール時に作成され、/data ディレクトリに保存されます。インストールで問題が発生した場合は、ケースをオープンするときにこれらのファイルをシスコのカスタマー エクスペリエンス チームに提供してください。

  • インストールスクリプトは複数回実行しても安全です。エラーが発生した場合は、入力パラメータを修正して再実行できます。クラスタインストーラツールを複数回実行すると、VM が削除されて再作成されることがあります。

  • 複数の Crosswork クラスタのインストールに同じクラスタインストーラツールを使用している場合は、異なるローカルディレクトリからツールを実行し、展開の状態ファイルを独立させることが重要です。これを行う最も簡単な方法は、各展開用のローカルディレクトリをホストマシン上に作成し、それぞれに応じてコンテナにマッピングすることです。

  • クラスタ インストーラ ツール オプションを使用する場合は、Docker バージョン 19 以降が必要です。Docker の詳細については、https://docs.docker.com/get-docker/を参照してください

  • インストールパラメータを変更したり、インストールエラーに続いてパラメータを修正したりするには、インストールを管理して VM を展開していたかどうかを区別することが重要です。展開した VM は、vsphere_virtual_machine.crosswork-IPv4-vm["1"]: Creation complete after 2m50s [id=4214a520-c53f-f29c-80b3-25916e6c297f] と同様のインストーラのアウトプットで証明されます。

  • 展開済みの VM の場合、展開された VM の Crosswork VM 設定またはデータセンターホストへの変更はサポートされていません。展開済みの VM が存在するときにインストーラを使用して設定を変更するには、クリーン操作を実行し、クラスタを再展開する必要があります。詳細については、クラスタインストーラツールを使用した VM の削除を参照してください。

  • VM を再展開すると、VM のデータが削除されるため、注意が必要です。VM パラメータの変更は、Crosswork UI から実行するか、または一度に 1 つの VM を実行することを推奨します。

  • VM の展開前に発生したインストールパラメータの変更(誤った vCenter パラメータなど)は、変更を適用してインストール操作を再実行するだけで実行できます。

  • 自動アクション機能を使用する場合は、OVA ファイルの実行時に定義ファイル(JSON 形式)を指定する必要があります。詳細については、自動アクション機能を使用したアプリケーションのインストールの自動化を参照してください。

既知の制限事項:

次のシナリオは、クラスタインストーラツールを使用して Crosswork クラスタをインストールする場合の注意事項です。

  • 定義された vCenter ホスト VM は、データセンター内のすべてのホストで同じネットワーク名(vSwitch)を使用する必要があります。

  • vCenter ストレージフォルダや仮想フォルダ構造の下に編成されたデータストアは、現在サポートされていません。参照するデータストアがフォルダの下にグループ化されていないことを確認してください。

  • Day 0 インストーラによって作成されていない VM(手動で起動された VM など)は、Day 0 インストーラによっても、後で Crosswork UI を使用しても変更できません。同様に、Crosswork UI で作成された VM は、Day 0 のインストーラを使用して変更することはできません。クラスタの最初の展開後に変更を行う場合は、インベントリ情報を確実に取得してください。

  • vCenter UI は、IPv4 経由でアクセスするユーザーが IPv6 ESXi ホストにイメージをアップロードできるサービスを提供します。クラスタインストーラツールはこのサービスを使用できません。IPv6 ESXi ホストの次のいずれかの回避策を実行します。

    1. OVA テンプレートイメージを手動でインストールします(詳細については vCenter vSphere UI を使用した Cisco Crosswork の手動インストール を参照してください)。

    2. IPv6 対応マシンからクラスタインストーラツールを実行します。これを行うには、ドッキングされたコンテナに IPv6 アドレスをマッピングするように Docker デーモンを設定します。


(注)  


クラスタインストーラツールがソフトウェアを展開し、仮想マシンの電源をオンにします。お客様ご自身で仮想マシンの電源をオンにする場合は、手動インストールを使用します。


手順


ステップ 1

vCenter データセンターで、[ホスト(Host)] > [設定(Configure)] > [ネットワーキング(Networking)] > [仮想スイッチ(Virtual Switches)] に移動し、仮想スイッチを選択します。仮想スイッチで、[編集(Edit)] > [セキュリティ(Security)]を選択し、次の DVS ポートグループプロパティを構成します。

  • [プロミスキャスモード(Promiscuous mode)] を [拒否(Reject)] に設定します

  • [MACアドレスの変更(MAC address changes)] を [拒否(Reject)] に設定します

設定を確認し、クラスタで使用される仮想スイッチごとにこのプロセスを繰り返します。

ステップ 2

Docker 対応マシンで、このインストール時に使用するすべてのものを保存するディレクトリを作成します。

(注)  

 

Mac を使用している場合は、ディレクトリ名が小文字であることを確認してください。

ステップ 3

インストーラバンドル(.tar.gz ファイル)と OVA ファイルを cisco.com から以前に作成したディレクトリにダウンロードします。この手順では、それぞれ signed-cw-na-platform-installer-7.0.0-85-release700-240823.tar.gz および signed-cw-na-platform-7.0.0-85-release700-240823.ova というファイル名を使用します。

注目

 

このトピックで言及されているファイル名はサンプル名であり、cisco.com の実際のファイル名とは異なる場合があります。

ステップ 4

次のコマンドを使用して、インストーラバンドルを解凍します。

tar -xvf signed-cw-na-platform-installer-7.0.0-85-release700-240823.tar.gz

インストーラバンドルの内容が新しいディレクトリに解凍されます(例:signed-cw-na-platform-installer-7.0.0-85-release700)。この新しいディレクトリには、インストーライメージ(cw-na-platform-installer-7.0.0-85-release700-240823.tar.gz)とイメージの検証に必要なファイルが含まれます。

ステップ 5

ファイルを開いて作成したディレクトリにディレクトリを変更し、README ファイルに目を通して、パッケージの内容、および次の手順による検証方法を理解します。

ステップ 6

次のコマンドを使用して、インストーライメージの署名を確認します。

  1. Python がインストールされていることを確認します。インストールされていない場合は、python.org にアクセスして、ワークステーションに適したバージョンの Python をダウンロードします。

  2. python --version を使用して、マシンの Python バージョンを確認します。

  3. Python のバージョンに応じて、次のいずれかのコマンドを使用してファイルを検証します。

    Python 2.x を使用している場合は、次のコマンドを使用してファイルを検証します。

    python cisco_x509_verify_release.py -e <.cer file> -i <.tar.gz file> -s <.tar.gz.signature file>
    -v dgst -sha512

    Python 3.x を使用している場合は、次のコマンドを使用してファイルを検証します。

    python cisco_x509_verify_release.py3 -e <.cer file> -i <.tar.gz file> -s <.tar.gz.signature file>
    -v dgst -sha512

ステップ 7

次のコマンドを使用して、インストーライメージファイルを Docker 環境にロードします。

docker load -i <.tar.gz file>

次に例を示します。

docker load -i cw-na-platform-installer-7.0.0-85-release700-240823.tar.gz

ステップ 8

Docker image list コマンドまたは Docker images コマンドを実行して、「イメージ ID」を取得します(次の手順で必要になります)。

次に例を示します。

docker images

結果は、次のようになります(明確にするため、必要なセクションには下線が付いています)。

My Machine% docker images
REPOSITORY                        TAG                                                 IMAGE ID             CREATED        SIZE
dockerhub.cisco.com/cw-installer  cw-na-platform-installer-7.0.0-85-release700-240823   a4570324fad30  7 days ago     276MB

(注)  

 

以前のリリースのインストールからの他のイメージが存在する可能性があるため、docker images を実行するときに表示される表の「CREATED」タイムスタンプに注意してください。これらを削除したい場合は、docker image rm {image id} コマンドを使用できます。

ステップ 9

次のコマンドを使用して Docker コンテナを起動します。

docker run --rm -it -v `pwd`:/data {image id of the installer container}

この例でロードされたイメージを実行するには、コマンドは次のようになります。

docker run --rm -it -v `pwd`:/data a4570324fad30

(注)  

 
  • 完全な値を入力する必要はありません。この場合、「docker run --rm -it -v `pwd`:/data a45 」で十分です。Docker では、インストールに使用するイメージを一意に識別するのに十分なイメージ ID が必要です。

  • 上記のコマンドでは、バックティック( `)を使用しています。シェルの意味が大きく異なるため、引用符やアポストロフィ( ')は使用しないでください。バックティックを使用すると(推奨)、テンプレートファイルと OVA は、コンテナ内ではなく、コマンドを実行したローカルディスク上のディレクトリに保存されます。

  • IPv6 またはデュアルスタックのクラスタを展開する場合、IPv6 対応のコンテナ/VM でインストーラを実行する必要があります。そのためには、インストーラを実行する前に、次のいずれかの方法で Docker デーモンを追加で設定する必要があります。

    • Linux ホスト(のみ):Docker run コマンドラインに「–network host」フラグを追加し、ホスト ネットワーキング モードで Docker コンテナを実行します。

      docker run --network host <remainder of docker run options>
  • デフォルトでは、Centos/RHEL ホストはインストーラコンテナによるマウントされたデータボリュームの読み取りまたは書き込みを許可しない厳密な SELinux ポリシーを適用します。このようなホストで、次のように Z オプションを指定して Docker volume コマンドを実行します。

    docker run --rm -it -v `pwd`:/data:Z <remainder of docker options>

ステップ 10

VMware テンプレートを含むディレクトリに移動します。

cd /opt/installer/deployments/7.0.0/vcentre

ステップ 11

/opt/installer/deployments/7.0.0/vcentre/deployment_template_tfvars にあるテンプレートファイルを、別の名前を使用して /data フォルダにコピーします。

例:cp deployment_template_tfvars /data/deployment.tfvars

この手順の残りの部分では、すべての例で deployment.tfvars を使用します。

ステップ 12

/data ディレクトリにあるテンプレートファイルをテキストエディタで編集して、計画した展開に合わせます。必須フィールドとオプションフィールド、およびそれらの適切な設定の詳細については、インストール パラメータの表を参照してください。VMware vCenter 用マニフェストテンプレートの例には、適切な書式設定のために参照できる例が含まれています。説明のコメントが削除されたため、例はよりコンパクトになりました。

ステップ 13

/opt/installer ディレクトリから、インストーラを実行します。

./cw-installer.sh install -p -m /data/<template file name> -o /data/<.ova file> -y

次に例を示します。

./cw-installer.sh install -p -m /data/deployment.tfvars -o /data/signed-cw-na-platform-7.0.0-85-release700-240823.ova -y

重要

 

自動アクション機能を使用する場合は、次のフォーマットで OVA ファイルの実行時に定義ファイル(JSON 形式)を指定する必要があります。

./cw-installer.sh install -p -m /data/<template file name> -a <path to json def file> -o /data/<.ova file>

ステップ 14

内容を読み、エンドユーザーライセンス契約(EULA)に同意したら「yes」と入力します。同意しない場合は、インストーラを終了して、シスコの担当者にお問い合わせください。

ステップ 15

プロンプトが表示されたら「yes」と入力して操作を確認します。

(注)  

 

インストール中に次のような警告が表示されることは珍しくありません。

Warning: Line 119: No space left for device '8' on parent controller '3'.
Warning: Line 114: Unable to parse 'enableMPTSupport' for attribute 'key' on element 'Config'.

インストールプロセスの完了に成功した場合(以下の出力例を参照)、これらの警告は無視できます。

サンプル出力:

cw_cluster_vms = <sensitive>
INFO: Copying day 0 state inventory to CW
INFO: Waiting for deployment status server to startup on 10.90.147.66. Elapsed time 0s, retrying in 30s
Crosswork deployment status available at http://{VIP}:30602/d/NK1bwVxGk/crosswork-deployment-readiness?orgId=1&refresh=10s&theme=dark 
Once deployment is complete login to Crosswork via: https://{VIP}:30603/#/logincontroller 
INFO: Cw Installer operation complete.

(注)  

 

タイムアウトが原因でインストールが失敗した場合は、-p オプションを指定せずにインストール(手順 13)を再実行してください。これにより、VM は並行してでなく、順次展開されます。

他の理由(たとえば、IP アドレスの入力ミス)でインストーラが失敗した場合は、エラーを修正してインストールスクリプトを再実行します。

インストールが失敗した場合(-p の有無にかかわらず)、シスコでケースをオープンし、/data ディレクトリ(およびインストーラの Docker コンテナを起動したローカルディレクトリ)で作成された .log ファイルをシスコに提出して確認してもらいます。インストールが失敗する最も一般的な 2 つの理由は、(a)パスワードが十分に複雑でないこと、および(b)テンプレートファイル内のエラーです。


次のタスク

VMware vCenter 用マニフェストテンプレートの例

このトピックには、Crosswork クラスタ展開のさまざまなシナリオのマニフェストテンプレート例が含まれています。


(注)  


リソースプールを使用している場合は、個々の ESXi ホストのターゲット設定は許可されず、vCenter がリソースプール内のホストに VM を割り当てることに注意してください。


例 1:2 つのホストにクラスタ(3 つのハイブリッドノード、2 つのワーカーノード)を展開する

次に、ホストを指定して Crosswork クラスタを展開する例を示します。


#See at the end of the file for a configured sample

/********* Crosswork Cluster Data  *********/

  # The name of the Crosswork Cluster.
  ClusterName      = "CW-Cluster-01"

  # Provide  name of Cw VM image in vcenter or leave empty
  # When empty the image name will be populated from the uploaded image
  Cw_VM_Image = ""    # Line added automatically by installer.

  # The IP stack protocol: IPv4 or IPv6 or DUALSTACK
  ClusterIPStack        = "IPv4"

  # The Management Virtual IP for the cluster
  ManagementVIP     = "x.x.x.x"

  # Optional: The Management Virtual IP host-name
  ManagementVIPName = ""

  # The Management IP subnet in dotted decimal format for ipv4 or prefix length for ipv6
  ManagementIPNetmask = "x.x.x.x"

  # The Gateway IP on the Management Network
  ManagementIPGateway = "x.x.x.x"

  # The Data Virtual IP for the cluster. Use 0.0.0.0 or ::0 to disable
  DataVIP           = "x.x.x.x"

  # Optional: The Data Virtual IP host-name
  DataVIPName = ""

  # The Data IP subnet in dotted decimal format for ipv4 or prefix length for ipv6
  # Provied any regular mask when not in use
  DataIPNetmask       = "x.x.x.x"

  # The Gateway IP on the Management Network
  DataIPGateway       = "x.x.x.x"

  #  The IP address of the DNS server
  DNS                 = "x.x.x.x"

  # The domain name to use for the cluster
  DomainName            = "cisco.com"

  # Sets the cw-admin user ssh login password for all VMs in the cluster
  # The password MUST be of min length 8 and strong
  CWPassword            = "**************"

  # Sets the VM size for the cluster. The only supported option is Large.
  VMSize                = "Large"

  # NTP server address or name
  NTP                   = "x.x.x.x"

  # Configuration Manifest schema version
  SchemaVersion         = "7.0.0"

  # Data disk size for Manager/Hybrid nodes in GB. Min 485 Max 8000
  ManagerDataFsSize = 485
  # Data disk size for Worker nodes in GB. Min 485 Max 8000
  WorkerDataFsSize = 485

  // Thin or thick provisioning for all disks. Set to true for thin provisioning, false for thick
  ThinProvisioned = true

  # Log partition size in GB. Min 20 Max 1000
  LogFsSize = 20

  # Minimum percentage of the data disk space to be used for the size of the backup partition
  # Note: The final backup partition size will be calculated dynamically. This parameter defines the minimum.
  # Valid range 1 - 80
  BackupMinPercent = 35

  # Enforces VM profile reservations as "hard"
  EnableHardReservations = true

  # FOR DEMO USE ONLY - NOT TO BE USED IN PRODUCTION DEPLOYMENTS
  # Ram disk size in GB
  RamDiskSize           = 10 


/********* Crosswork VM Data Map *********/
# Configure named entries for each Cw VM.
# Number of Hybrid VMs minimum: 3; maximum: 3
# Number of Worker VMs minimum: 2; maximum: 3

CwVMs = {
    # Seed VMs' data.
    # IMPORTANT: A VM with id "0" MUST be present in the initial day0 install manifest and its role MUST be
    # set to either MASTER or HYBRID.
  "0" = {

    # This VM's name
    VMName                = "CW_Node_0",

    # This VMs' management IP address
    ManagementIPAddress = "x.x.x.x",

    # This VMs' data IP address. Use 0.0.0.0 or ::0 to disable
    DataIPAddress       = "x.x.x.x",

    # This Cw VM's type - use "Hybrid" for initial install
    NodeType               = "Hybrid",

    # The state for this VM; 2 = running. Only uncomment when doing a manual inventory import
    #Op_Status = 2
  },

   # Second VMs' data
  "1" = {
    # This VM's name
    VMName                = "CW_Node_1",

    # This VMs' management IP address
    ManagementIPAddress = "x.x.x.x",

    # This VMs' data IP address
    DataIPAddress       = "x.x.x.x",

    # This Cw VM's type - use "Hybrid" for initial install
    NodeType               = "Hybrid",

    # The state for this VM; 2 = running. Only uncomment when doing a manual inventory import
    #Op_Status = 2
  },

  # Third VMs' data
  "2" = {
    # This VM's name
    VMName                = "CW_Node_2",

    # This VMs' management IP address
    ManagementIPAddress = "x.x.x.x",

    # This VMs' data IP address
    DataIPAddress       = "x.x.x.x",

    # This Cw VM's type - use "Hybrid" for initial install
    NodeType               = "Hybrid",

    # The state for this VM; 2 = running. Only uncomment when doing a manual inventory import
    #Op_Status = 2
  },

# Worker VMs' data
  "3" = {
    # This VM's name
    VMName                = "CW_Node_3",

    # This VMs' management IP address
    ManagementIPAddress = "x.x.x.x",

    # This VMs' data IP address
    DataIPAddress       = "x.x.x.x",

    # This Cw VM's type - use "Worker"
    NodeType               = "Worker",

    # The state for this VM; 2 = running. Only uncomment when doing a manual inventory import
    #Op_Status = 2
  },
# Worker VMs' data
  "4" = {
    # This VM's name
    VMName                = "CW_Node_4",

    # This VMs' management IP address
    ManagementIPAddress = "x.x.x.x",

    # This VMs' data IP address
    DataIPAddress       = "x.x.x.x",

    # This Cw VM's type - use "Worker"
    NodeType               = "Worker",

    # The state for this VM; 2 = running. Only uncomment when doing a manual inventory import
    #Op_Status = 2
  },
}

/********* vcenter Resource Data with Cw VM assignment *********/

VCenterDC = {

  # The vcenter IP or host name
  VCenterAddress = "x.x.x.x",

  # The username to use for logging into vcenter
  VCenterUser = "Cisco_User",

  # The vcenter password for the user
  VCenterPassword = "Test123!",

  # The name of the Data Centre resource to use
  DCname = "Cisco-Crosswork",

  # The name of the vcenter network to attach to the Cw VM Management interface
  # NOTE: Escape any special characters using their URL escape codes, eg use "%2f" instead of "/"
  MgmtNetworkName = "VM Network",

  # The name of the vcenter network to attach to the Cw VM Data interface.
  # Leave empty if not used.
  # NOTE: Escape any special characters using their URL escape codes, eg use "%2f" instead of "/"
  DataNetworkName = "Crosswork-Internal",

  # The resource folder name on vcenter. Leave empty if not used.
  DCfolder = "",

  # List of the vcenter host resources along with the VMs names
  # that each that each resource will host. Add additional stanzas, separated by a ','
  # for each additional ESXi host or resource
  VMs = [{

    # The ESXi host, or ONLY the vcenter cluster/resource group name.
    Host = "x.x.x.x",

    # The datastore name available to be used by this host or resource group.
    Datastore = "Datastore-1",

    # The high speed datastore available for this host or resource group.
    # Set to same value as Datastore if unsure.
    HSDatastore = "Datastore-1"

    # The ids of the VMs to be hosted by the above ESXi host or resource. These have to match to the Cw VM
    # ids specified in the Cw VM map. Separate multiple VMs the given
    # host with a ',', eg ["0","1"].
    HostedCwVMs = ["0","1","2"]

    },
    {
    Host = "x.x.x.x"
    Datastore = "Datastore-2"
    HSDatastore = "Datastore-2"
    HostedCwVMs =["3","4"]
    } 
  ]
}

例 2:リソースグループにクラスタ(3 つのハイブリッド、2 つのワーカー)を展開する

次に、リソースグループを使用して Crosswork クラスタを展開する例を示します。



/********* Crosswork Cluster Data  *********/


  ClusterName      = "CW-cluster-01"
  # When empty the image name will be populated from the uploaded image
  Cw_VM_Image = ""    # Line added automatically by installer.
  ClusterIPStack        = "IPv4"
  ManagementVIP     = "x.x.x.x"
  ManagementVIPName = ""
  ManagementIPNetmask = "x.x.x.x"
  ManagementIPGateway = "x.x.x.x"
  DataVIP           = "x.x.x.x"
  DataVIPName = ""
  DataIPNetmask       = "x.x.x.x"
  DataIPGateway       = "x.x.x.x"
  DNS                 = "x.x.x.x"
  DomainName            = "cisco.com"

  # Kubernetes Service Network Customization - The default network '10.96.0.0'.
  # NOTE: The CIDR range is fixed '/16', no need to enter.
  #       Only IPv4 is supported, IPv6 customization is NOT supported.
  K8sServiceNetwork = "10.96.0.0"

  # Kubernetes Service Network Customization - The default network '10.244.0.0'.
  # NOTE: The CIDR range is fixed '/16', no need to enter.
  #       Only IPv4 is supported, IPv6 customization is NOT supported.
  K8sPodNetwork = "10.244.0.0"


  CWPassword            = "Test1234!"
  VMSize                = "Large"
  NTP                   = "x.x.x.x"
  SchemaVersion         = "7.0.0"

  # Data disk size for Manager/Hybrid nodes in GB. Min 485 Max 8000
  ManagerDataFsSize = 485
  # Data disk size for Worker nodes in GB. Min 485 Max 8000
  WorkerDataFsSize = 485

  // Thin or thick provisioning for all disks. Set to true for thin provisioning, false for thick
  ThinProvisioned = true

  # Log partition size in GB. Min 20 Max 1000
  LogFsSize = 20

  # Minimum percentage of the data disk space to be used for the size of the backup partition
  # Note: The final backup partition size will be calculated dynamically. This parameter defines the minimum.
  # Valid range 1 - 80
  BackupMinPercent = 35

  # Enforces VM profile reservations as "hard"
  EnableHardReservations = "false"

  # FOR DEMO USE ONLY - NOT TO BE USED IN PRODUCTION DEPLOYMENTS
  # Ram disk size in GB
  RamDiskSize           = 0

  # Pods that are marked as skip auto install will not be brought up until a dependent application/pod explicitly asks for it
  EnableSkipAutoInstallFeature = "False"

  # DEMO/DEV USE ONLY - Enforce pod minimum resource reservations. Default and for production use is True
  EnforcePodReservations = "True"

  # Optional: Provide a standard IANA time zone. Default value is Etc/UTC if not specified
  Timezone = ""

/********* Crosswork VM Data Map *********/
# Configure named entries for each Cw VM.
# Number of Hybrid VMs minimum: 3; maximum: 3
# Number of Worker VMs minimum: 0; maximum: 3

CwVMs = {
  "0" = {
    VMName                = "cw-vm-0",
    ManagementIPAddress = "x.x.x.x",
    DataIPAddress       = "x.x.x.x",
    NodeType               = "Hybrid",
    #Op_Status = 2
  },
  "1" = {
    VMName                = "cw-vm-1",
    ManagementIPAddress = "x.x.x.x",
    DataIPAddress       = "x.x.x.x",
    NodeType               = "Hybrid",
    #Op_Status = 2
  },
  "2" = {
    VMName                = "cw-vm-2",
    ManagementIPAddress = "x.x.x.x",
    DataIPAddress       = "x.x.x.x",
    NodeType               = "Hybrid",
    #Op_Status = 2
  },
  "3" = {
    # This VM's name
    VMName                = "cw-worker-3",
    ManagementIPAddress = "x.x.x.x",
    DataIPAddress       = "x.x.x.x",
    NodeType               = "Worker",
                                                                                       
    # The state for this VM; 2 = running. Only uncomment when doing a manual inventory import
    #Op_Status = 2
  },
  "4" = {
    # This VM's name
    VMName                = "cw-worker-4",
    ManagementIPAddress = "x.x.x.x",
    DataIPAddress       = "x.x.x.x",
    NodeType               = "Worker",
    #Op_Status = 2
  }  
}



/********* vcenter Resource Data with Cw VM assignment *********/

VCenterDC = {
  VCenterAddress = "x.x.x.x",
  VCenterUser = "Cisco_User",
  VCenterPassword = "Test1234!",
  DCname = "Cisco-Crosswork",
  MgmtNetworkName = "Management Network",
  DataNetworkName = "Data Network",
  DCfolder = "" 
  VMs = [{
    Host = "{path to resource Group}",                                                                                    
    Datastore = "iSCSI-DataStore",                                                                                        
    HSDatastore = "iSCSI-DataStore",                                                                                      
    HostedCwVMs = ["0","1","2","3","4"],                                                                                                  
    }
  ]
}

例 3:デュアルスタック構成でクラスタ(3 つのハイブリッドノード、2 つのワーカーノード)を展開する

次に、デュアルスタック構成で 3 つのハイブリッドノード(ID 0、1、2)と 2 つのワーカーノード(ID 3、4)を含む Crosswork クラスタを展開する例を示します。

#********* Crosswork Cluster Data  *********#
Cw_VM_Image = ""    
ClusterIPStack        = "DUALSTACK"
ManagementVIPv4     = "x.x.x.x"
ManagementVIPv6     = "fded:1bc1:fc3e:96d0:192:168:5:450"
ManagementIPv4Netmask = "x.x.x.x"
ManagementIPv4Gateway = "x.x.x.x"
ManagementIPv6Netmask = "112"
ManagementIPv6Gateway = "fded:1bc1:fc3e:96d0:192:168:5:1"
DataVIPv6           = "fded:1bc1:fc3e:96d0:10:10:10:450"
DataVIPv4           = "x.x.x.x"
DataIPv6Netmask       = "112"
DataIPv6Gateway       = "fded:1bc1:fc3e:96d0:10:10:10:1"
DataIPv4Netmask       = "x.x.x.x"
DataIPv4Gateway       = "x.x.x.x"
DNSv6                 = "fded:1bc1:fc3e:96d0:192:168:5:481"
DNSv4                 = "x.x.x.x"
DomainName = "cisco.com"
CWPassword = "EFTPass123!"
VMSize = "Large"
NTP = "fded:1bc1:fc3e:96d0:192:168:5:481"
ThinProvisioned = false
EnableHardReservations = true
ManagementVIPName = "lhsmanagement"
DataVIPName = "lhsdata"

//#********* Crosswork VM Data Map *********
CwVMs = {
"0" = {
VMName = "HYBRID-VM1",
ManagementIPv4Address = "x.x.x.x",
DataIPv4Address = "x.x.x.x",
ManagementIPv6Address = "fded:1bc1:fc3e:96d0:192:168:5:451",
DataIPv6Address = "fded:1bc1:fc3e:96d0:10:10:10:451",
NodeType = "Hybrid"
},
"1" = {
VMName = "HYBRID-VM2",
ManagementIPv4Address = "x.x.x.x",
DataIPv4Address = "x.x.x.x",
ManagementIPv6Address = "fded:1bc1:fc3e:96d0:192:168:5:452",
DataIPv6Address = "fded:1bc1:fc3e:96d0:10:10:10:452",
NodeType = "Hybrid"
},
"2" = {
VMName = "HYBRID-VM3",
ManagementIPv4Address = "x.x.x.x",
DataIPv4Address = "x.x.x.x",
ManagementIPv6Address = "fded:1bc1:fc3e:96d0:192:168:5:453",
DataIPv6Address = "fded:1bc1:fc3e:96d0:10:10:10:453",
NodeType = "Hybrid"
},
"3" = {
VMName = "WORKER-VM1",
ManagementIPv4Address = "x.x.x.x",
DataIPv4Address = "x.x.x.x",
ManagementIPv6Address = "fded:1bc1:fc3e:96d0:192:168:5:454",
DataIPv6Address = "fded:1bc1:fc3e:96d0:10:10:10:454",
NodeType = "Worker"
},
"4" = {
VMName = "WORKER-VM2",
ManagementIPv4Address = "x.x.x.x",
DataIPv4Address = "x.x.x.x",
ManagementIPv6Address = "fded:1bc1:fc3e:96d0:192:168:5:455",
DataIPv6Address = "fded:1bc1:fc3e:96d0:10:10:10:455",
NodeType = "Worker"
},
}
#********* vcenter Resource Data with Cw VM assignment *********
VCenterDC = {
VCenterAddress = "x.x.x.x",
VCenterUser = "Cisco_User",
VCenterPassword = "Test1234!",
DCname = "Cisco-Crosswork",
MgmtNetworkName = "port-100"
DataNetworkName = "port-103"
VMs = [
{
HostedCwVMs = ["0"]
Host = "x.x.x.x"
Datastore = "ds-ssd"
HSDatastore = "ds-ssd"
},
{
HostedCwVMs = ["1"]
Host = "x.x.x.x"
Datastore = "ds-ssd"
HSDatastore = "ds-ssd"
},
{
HostedCwVMs = ["2"]
Host = "x.x.x.x"
Datastore = "ds-ssd"
HSDatastore = "ds-ssd"
},
{
HostedCwVMs = ["3"]
Host = "x.x.x.x"
Datastore = "ds-ssd"
HSDatastore = "ds-ssd"
},
{
HostedCwVMs = ["4"]
Host = "x.x.x.x"
Datastore = "ds-ssd"
HSDatastore = "ds-ssd"
},
]}

vCenter vSphere UI を使用した Cisco Crosswork の手動インストール

このセクションでは、vCenter ユーザーインターフェイスを使用してクラスタを構築する方法について説明します。必要に応じて、これと同じ手順でノードを追加または交換できます。

手動インストールワークフローは 2 つの部分に分けることができます。最初の部分では、テンプレートを作成します。2 番目の部分では、環境に必要なワーカーノードと(通常)3 つのハイブリッドノードで構成されるクラスタを構築するのに必要な回数、テンプレートを展開します。

  1. OVF テンプレートの構築

  2. テンプレートの展開


(注)  


(使用するメソッドに関係なく)クラスタがすでにインストールされている場合、テンプレートファイルは削除されていない限りすでに存在します。この場合は、テンプレートの展開(この手順の 2 番目)に直接進むことができます。


次のいずれかの理由がある場合は、手動でのインストールをお勧めします。

  • データセンターの設定により、インストーラツールを使用してクラスタを展開することができない。

  • 既存のクラスタにノードを追加する必要がある。

  • 機能不全のノードを交換する必要がある。

  • ノードを新しいホストマシンに移行する。


重要


このセクションで詳述されている手順を使用した Crosswork クラスタのインストール、ノードの追加、または新しいホストへのノードの移動のいずれであっても、クラスタの構成を手動で変更する場合は常に、クラスタ インベントリ ファイル(.tfvars ファイル)を Crosswork UI にインポートする必要があります。インベントリの手動インポートを有効にするには、パラメータ OP_Status = 2 を設定する必要があります。詳細については、クラスタインベントリのインポートを参照してください。


OVF テンプレートの構築

始める前に

手順


ステップ 1

使用可能な最新の Cisco Crosswork プラットフォームのイメージファイル(*.ova)をシステムにダウンロードします。

ステップ 2

VMware ESXi を実行して VMware vSphere Web クライアントにログインします。左側のナビゲーションウィンドウで、VM を展開する ESXi ホストまたはクラスタを選択します。

ステップ 3

vSphere UI で、[ホスト(Host)] > [設定(Configure)] > [ネットワーキング(Networking)] > [仮想スイッチ(Virtual Switches)] に移動し、仮想スイッチを選択します。仮想スイッチで、[編集(Edit)] > [セキュリティ(Security)]を選択し、次の DVS ポートグループプロパティを構成します。

  • [プロミスキャスモード(Promiscuous mode)] を [拒否(Reject)] に設定します

  • [MACアドレスの変更(MAC address changes)] を [拒否(Reject)] に設定します

設定を確認し、クラスタで使用される仮想スイッチごとにこのプロセスを繰り返します。

ステップ 4

ネットワーク設定が要件を満たしていることを確認します。

管理ネットワークとデータネットワークに使用するネットワークが、VM を展開する各ホストに接続されていることを確認します。

ステップ 5

[アクション(Actions)] > [OVFテンプレートの展開(Deploy OVF Template)] を選択します。

注意    

 

デフォルトの VMware vCenter の展開タイムアウトは 15 分です。展開中に vCenter がタイムアウトすると、結果として VM はブート不可能になります。これを防ぐには、選択内容(IP アドレス、ゲートウェイ、DNS サーバーなど)を文書化し、情報をすばやく入力して、VMware 構成の問題を回避できるようにすることをお勧めします。

ステップ 6

VMware の [OVFテンプレートの展開(Deploy OVF Template)] ウィンドウが表示され、最初の手順の [1 - OVFテンプレートを選択(1 - Select an OVF template)] が強調表示されます。[ファイルの選択(Choose Files)] をクリックし、OVA イメージファイルをダウンロードした場所に移動してファイルを選択します。選択すると、ファイル名がウィンドウに表示されます。

ステップ 7

[次へ(Next)] をクリックします。[OVFテンプレートの展開(Deploy OVF Template)] ウィンドウが更新され、[2 - 名前とフォルダの選択(2 - Select a name and folder)] が強調表示されます。名前を入力し、作成する Cisco Crosswork VM のそれぞれのデータセンターを選択します。

Cisco Crosswork のバージョンとビルド番号を名前に含めることを推奨します(Cisco Crosswork 7.0 Build 152 など)。

ステップ 8

[次へ(Next)] をクリックします。[OVFテンプレートの展開(Deploy OVF Template)]ウィンドウが更新され、[3-コンピューティングリソースの選択(3 - Select a compute resource)]が強調表示されます。Cisco Crosswork VM のホストまたはクラスタを選択します。

ステップ 9

[次へ(Next)] をクリックします。VMware vCenter Server が OVA を検証します。検証にかかる時間はネットワーク速度によって決まります。検証が完了すると、[OVFテンプレートの展開(Deploy OVF Template)] ウィンドウが更新され、[4 - レビューの詳細(4 - Review details)] が強調表示されます。

ステップ 10

展開する OVF テンプレートを確認します。この情報は OVF から収集され、変更できないことに注意してください。

ステップ 11

[次へ(Next)] をクリックします。[OVFテンプレートの展開(Deploy OVF Template)] ウィンドウが更新され、[5 - ライセンス契約(5 - License agreements)] が強調表示されます。エンドユーザーライセンス契約を確認し、同意する場合は [すべてのライセンス契約に同意する(I accept all license agreements)] チェックボックスをオンにします。同意しない場合は、シスコ エクスペリエンス チームに連絡してサポートを受けてください。

ステップ 12

[次へ(Next)] をクリックします。[OVFテンプレートの展開(Deploy OVF Template)] ウィンドウが更新され、[6 - 設定(6 - Configuration)] が強調表示されます。Crosswork は、IPv4 ネットワークIPv6 ネットワーク、およびデュアル スタック ネットワークの展開設定のみをサポートします。希望する展開設定を選択してください。

図 1. 展開設定の選択

ステップ 13

[次へ(Next)] をクリックします。[OVFテンプレートの展開(Deploy OVF Template)] ウィンドウが更新され、[7 - ストレージの選択(7 - Select Storage)] が強調表示されます。[仮想ディスク形式の選択(Select virtual disk format)] ドロップダウン リストから、該当するオプションを選択します。

(注)  

 

実稼働展開の場合は、[シックプロビジョニング(Eager Zeroed)(Thick Provision Eager Zeroed)] オプションを選択します。これにより、ディスク容量が事前に割り当てられ、最高のパフォーマンスが得られます。ラボで使用する場合は、ディスク容量を節約するため、[シンプロビジョニング(Thin Provision)] オプションを推奨します。

テーブルから、使用するデータストアを選択し、そのプロパティを確認して、使用可能なストレージが十分にあることを確認します。

図 2. ストレージの選択

ステップ 14

[次へ(Next)] をクリックします。[OVFテンプレートの展開(Deploy OVF Template)] ウィンドウが更新され、[8 - ネットワークの選択(8 - Select networks)] が強調表示されます。[接続先ネットワーク(Destination Network)] ドロップダウンリストから、管理ネットワークとデータネットワークに対する適切なネットワークを選択します。

図 3. 展開設定の選択

重要

 

Admin Network と NBI Network は、Crosswork Network Controller の展開には適用されません。これらのフィールドは、デフォルト値のままにしておく必要があります。

ステップ 15

[次へ(Next)] をクリックします。[OVFテンプレートの展開(Deploy OVF Template)] ウィンドウが更新され、[9 - テンプレートのカスタマイズ(9 - Customize template)] が強調表示されます。

(注)  

 

ここでテンプレートを作成するため、最初のノードの IP 情報を入力します。

  1. [管理ネットワーク(Management Network)] の設定を展開します。IPv4、IPv6、またはデュアルスタックの展開の情報を入力します(選択に応じて)。

  2. [データネットワーク(Data Network)] 設定を展開します。IPv4、IPv6、またはデュアルスタックの展開の情報を入力します(選択に応じて)。

    図 4. テンプレート設定のカスタマイズ
  3. [ログイン情報の展開(Deployment Credentials)] の設定を展開します。[VM ユーザー名(VM Username)] と [パスワード(Password)] に該当する値を入力します。

    (注)  

     

    強力な VM パスワード(大文字と小文字、数字、最低 1 つの特殊文字を含む 8 文字の長さ)を使用します。ディクショナリの単語や関連する単語に類似したパスワードの使用は避けてください(例:「Pa55w0rd!」)。類似パスワードは基準を満たしていますが、脆弱であり、許可されないため、VM のセットアップに失敗します。

  4. [DNS サーバーと NTP サーバー(DNS and NTP Servers)] の設定を展開します。展開設定(IPv4、IPv6、またはデュアルスタック)によって、表示されるフィールドが異なります。次の 3 つのフィールドに情報を入力します。

    • [DNS IP アドレス(DNS IP Address)]:Cisco Crosswork サーバーで使用する DNS サーバーの IP アドレス。IP アドレスが複数ある場合はスペースで区切ります。

    • [DNS 検索ドメイン(DNS Search Domain)]:DNS 検索ドメインの名前。

    • [NTP サーバー(NTP Servers)]:使用する NTP サーバーの IP アドレスまたはホスト名。IP またはホスト名が複数ある場合はスペースで区切ります。

    • [タイムゾーン(Timezone)]:タイムゾーンの詳細を入力します。デフォルト値は UTC です。

    図 5. テンプレートのカスタマイズ:DNS サーバーと NTP サーバー

    (注)  

     

    DNS サーバーと NTP サーバーは、ホストにマッピングしたネットワーク インターフェイスを使用して到達可能である必要があります。そうしないと、VM の設定が失敗します。

  5. [Disk Configuration] のデフォルト設定は、ほとんどの環境で機能します。シスコ カスタマー エクスペリエンス チームから指示された場合にのみ、設定を変更してください。

  6. [Crosswork の設定(Crosswork Configuration)] を展開し、免責事項のテキストを入力します(ユーザーが CLI にログインすると、このテキストが表示されます)。

  7. [Crosswork クラスタの設定(Crosswork Cluster Configuration)] を展開します。次のフィールドに該当する値を入力します。

    図 6. テンプレートのカスタマイズ:Crosswork クラスタの設定(パート 1)
    • [VM タイプ(VM Type)]:

      • 3 つのハイブリッドノードのいずれかである場合は、[ハイブリッド(Hybrid)] を選択します。

      • これがワーカーノードの場合は、[ワーカー(Worker)] を選択します。

    • [クラスタシードノード(Cluster Seed node)]:

      • 新しいクラスタで最初に構築する VM の場合は、[True] を選択します。

      • 他のすべての VM の場合、または障害が発生した VM を再構築する場合は、[False] を選択します。

    • [Crosswork の管理クラスタ仮想 IP(Crosswork Management Cluster Virtual IP)]:管理仮想 IP アドレスを入力します。

    • [Crosswork管理クラスタ仮想IP名(Crosswork Management Cluster Virtual IP Name)]:管理仮想 IP の DNS 名を入力します。

    • [Crosswork データクラスタ仮想 IP(Crosswork Data Cluster Virtual IP)]:データ仮想 IP アドレスを入力します。

    • [Crossworkデータクラスタ仮想IP名(Crosswork Data Cluster Virtual IP Name)]:データ仮想 IP の DNS 名を入力します。

    • [初期ノード数(Initial node count)]:デフォルト値の 3 を設定します。

    • [初期リーダーノード数(Initial leader node count)]:デフォルト値の 3 を設定します。

    図 7. テンプレートのカスタマイズ:Crosswork クラスタの設定(パート 2)
    • [VM の場所(Location of VM)]:VM の場所を入力します。

    • [K8オーケストレータ(K8 Orchestrator)]:ポッドの最小のリソース予約を強制します。空白のままにすると、デフォルト値(「True」)が選択されます。

    • [Kubernetesサービスネットワーク(Kubernetes Service Network)]:Kubernetes サービスネットワークのネットワークアドレス。デフォルトでは、CIDR 範囲は「/16」固定です。

    • [Kubernetesポッドネットワーク(Kubernetes Pod Network)]:Kubernetes ポッドネットワークのネットワークアドレス。デフォルトでは、CIDR 範囲は「/16」固定です。

    図 8. テンプレートのカスタマイズ:Crosswork クラスタの設定(パート 3)
    • [インストール タイプ(Installation type)]:

      • 新しいクラスタをインストールする場合:チェックボックスをオンにしないでください。

      • 機能不全の VM の交換:チェックボックスをオンにします。

      • 既存のクラスタへの新しいワーカーノードの追加:チェックボックスをオンにしないでください。

    • [自動インストールのスキップ機能の有効化(Enable Skip Auto Install Feature)]:自動インストールをスキップするようにマークされたポッドは、依存するアプリケーションやポッドが明示的に要求するまで起動されません。空白のままにすると、デフォルト値(「False」)が選択されます。

    • [自動アクションマニフェスト定義(Auto Action Manifest Definition)]:自動アクション機能を使用すると、クラスタのインストールと同時にアプリケーションのインストールをカスタマイズできます。詳細については、自動アクション機能を使用したアプリケーションのインストールの自動化を参照してください。

      • 自動アクション機能を使用する場合は、マニフェスト定義の詳細を入力します。自動アクション JSON ファイルを圧縮または最小化し、CDATA 形式で囲む必要があります。形式は <![CDATA[{auto action jsoncompressed content}]]> です。

        自動アクション CDATA の例:

        <![CDATA[{"auto_action":{"add_to_repository_requests":[{"file_location":{"uri_location":{"uri":"file:///example.com/path/to/cw-na-cncadvantage-7.0.0-240831.tar.gz"}}}],
        "install_activate_requests":[{"package_identifier":{"id":"capp-coe","version":"7.0.0"}}]}}]]>
      • この機能を使用しない場合は、フィールドを空白のままにします。

    • [デフォルトのアプリケーションリソースプロファイル(Default Application Resource Profile)]:デフォルト値(空)を使用します。

    • [デフォルトのインフラリソースプロファイル(Default Infra Resource Profile)]:デフォルト値(空)を使用します。

    図 9. テンプレートのカスタマイズ:Crosswork クラスタの設定(パート 4)
    • [CA秘密キー(CA Private Key)]:デフォルト値(Empty)を使用します。

    • [CA公開キー(CA Public Key)]:デフォルト値(Empty)を使用します。

    • [デフォルト以外のCalico Bgpポートを使用(Use NonDefault Calico Bgp Port)]:チェックボックスをオフのままにします。

    • [失敗の診断を無視(Ignore Diagnose Failure)]:デフォルト値(True)を使用します。

    • [診断スクリプトチェックの実行を有効化(Enable Diagnostics Script Check Run)]:デフォルト値(True)を使用します。

    図 10. テンプレートのカスタマイズ:Crosswork クラスタの設定(パート 5)

ステップ 16

[次へ(Next)] をクリックします。[OVFテンプレートの展開(Deploy OVF Template)] ウィンドウが更新され、[10 - 完了の準備(10 - Ready to Complete)] が強調表示されます。

ステップ 17

設定を確認し、展開を開始する準備ができたら [終了(Finish)] をクリックします。展開が完了するまで待ってから続行します。展開ステータスを確認するには、次の手順を実行します。

  1. VMware vCenter クライアントを開きます。

  2. ホスト VM の [最近のタスク(Recent Tasks)] タブに、[OVFテンプレートの展開(Deploy OVF template)] ジョブと [OVFパッケージのインポート(Import OVF package)] ジョブのステータスを表示します。

ステップ 18

テンプレートの作成を完了するには、ホストを選択し、新しくインストールした VM を右クリックして、[Template] > [Convert to Template] を選択します。アクションを確認するプロンプトが表示されます。[はい(Yes)] をクリックして確定します。テンプレートは、vSphere Client UI の [VM とテンプレート(VMs and Templates)] タブに作成されます。

これで、手動インストールワークフローの最初の部分は終了しました。2 番目の部分では、新しく作成したテンプレートを使用してクラスタ VM を構築します。


テンプレートの展開

手順


ステップ 1

VM を構築するには、テンプレートを右クリックし、[このテンプレートからの新しいVM(New VM from This Template)] を選択します。

(注)  

 

テンプレートが存在しない場合は、戻ってテンプレートを作成します。詳細については、OVF テンプレートの構築を参照してください。

ステップ 2

VMware の [テンプレートからの展開(Deploy From Template)] ウィンドウが開き、最初のステップで、[1 - 名前とフォルダの選択(1 - Select a name and folder)] セクションが強調表示されます。名前を入力し、VM のそれぞれのデータセンターを選択します。

(注)  

 

これが新しい VM の場合、名前は一意である必要があり、テンプレートと同じ名前にすることはできません。この VM で既存の VM(CW-VM-0 など)を置き換える場合は、VM に一意の一時的な名前(CW-VM-0-New など)を付けます。

ステップ 3

[次へ(Next)] をクリックします。[テンプレートからの展開(Deploy From Template)] ウィンドウが更新され、[2 - コンピューティングリソースの選択(2 - Select a compute resource)] セクションが強調表示されます。Cisco Crosswork VM のホストを選択します。

ステップ 4

[次へ(Next)] をクリックします。[テンプレートからの展開(Deploy From Template)] ウィンドウが更新され、[3 - ストレージの選択(3 - Select Storage)] セクションが強調表示されます。仮想ディスク形式として [ソースと同じ形式(Same format as source)] オプションを選択します(推奨)。

ノードの推奨構成では、高速(通常は SSD ベース)ストレージとノーマル(通常はディスク)ストレージを組み合わせて使用します。推奨構成に従っている場合は、2 つのデータストアのステップに従います。それ以外の場合は、単一のデータストアを使用するステップに従います。

  • データストアを 2 つ(通常と高速)使用している場合

    • [ディスクごとの設定(Configure per disk)] オプションを有効にします。

    • ディスク 1 ~ 5 の [ストレージ(Storage)] 設定と同じデータストア(通常)を選択します。このデータストアには 916 GB のスペースが必要です。

    • ディスク 6 の [ストレージ(Storage)] の設定としてホストの高速(ssd)データストアを選択します。高速データストアには、少なくとも 50 GB のスペースが必要です。

    • [次へ(Next)] をクリックします。

      図 11. ストレージの選択:ディスクごとの設定
  • 単一のデータストアを使用している場合:使用するデータストアを選択し、[次へ(Next)] をクリックします。

  • データセンターで共有ストレージを使用している場合:共有ストレージを使用するようにすべてのドライブを設定し、[次へ(Next)]をクリックします。

ステップ 5

[テンプレートからの展開(Deploy From Template)] ウィンドウが更新され、[4 - クローンオプションの選択(4 - Select clone options)] セクションが強調表示され、次のチェックボックスが画面に表示されます。変更を行うための特定の指示がない限り、[次へ(Next)] を選択します。

  • [オペレーティングシステムをカスタマイズする(Customize the operating system)]:VM の展開時の競合を回避するためにオペレーティングシステムをカスタマイズする場合は、このボックスをオンにします。この手順は任意です。

    • このボックスをオンにすると、[テンプレートからの展開(Deploy From Template)] ウィンドウが更新され、[ゲストOSのカスタマイズ(Customize guest OS)] セクションが強調表示されます。必要な変更を加えて、[次へ(Next)] をクリックします。

  • [この仮想マシンのハードウェアをカスタマイズする(Customize this virtual machine's hardware)]:この VM の IP 設定またはリソース設定を変更する場合は、このボックスをオンにします。この手順は任意です。

    • このボックスをオンにすると、[テンプレートからの展開(Deploy From Template) ] ウィンドウが更新され、[ハードウェアのカスタマイズ(Customize hardware)] セクションが強調表示されます。必要な変更を加えて、[次へ(Next)] をクリックします。

  • [作成後に仮想マシンの電源を入れる(Power on virtual machine after creation)]:このチェックボックスはオフのままにします。

ステップ 6

[次へ(Next)] をクリックします。[テンプレートからの展開(Deploy From Template)] ウィンドウが更新され、[5 - vAppプロパティのカスタマイズ(5 - Customize vApp properties)] セクションが強調表示されます。vApp プロパティには、テンプレートの作成時に入力した値が事前に入力されます。一部の値は、展開する各ノードに適した値で更新する必要があります。

ヒント

 
  • 各ノードに固有のフィールドのみを変更することをお勧めします。その他のフィールドはすべてデフォルト値のままにします。

  • 機能不全の VM を交換するため、または VM を新しいホストに移行するためにこの VM を展開する場合は、IP とその他の設定を交換するマシンと一致させる必要があります。

  • ノードタイプ(ハイブリッド/ワーカー)を設定します。

  • [管理ネットワーク設定(Management Network settings)]:クラスタ内の各 VM に正しい IP 値を入力します。

  • [データネットワーク設定(Data Network settings)]:クラスタ内の各 VM に正しい IP 値を入力します。

  • [展開ログイン情報(Deployment Credentials)]:クラスタ内の各 VM に同じ展開ログイン情報を入力します。

  • [DNSサーバーとNTPサーバー(DNS and NTP Servers)]:DNS サーバーと NTP サーバーの正しい値を入力します。

  • [ディスク設定(Disk Configuration)]:シスコのカスタマー エクスペリエンス チームから特に指示がない限り、デフォルト設定のままにします。

  • [Crossworkの設定(Crosswork Configuration)]:免責事項メッセージを入力します。

  • [Crosswork クラスタの構成(Crosswork Cluster Configuration)]

    • [VMタイプ(VM Type)]:[ハイブリッド(Hybrid)] または [ワーカー(Worker)] を選択します

    • [クラスタシードノード(Cluster Seed node)]:

      • 新しいクラスタで最初に構築する VM の場合は、[True] を選択します。

      • 他のすべての VM について、または機能不全の VM を再構築する場合、あるいは VM を新しいホストに移動する場合は、[False] を選択します。

    • [Crosswork管理クラスタ仮想IP(Crosswork Management Cluster Virtual IP)]:仮想 IP は各クラスタノードで同じままになります。

    • [Crosswork データクラスタ仮想 IP(Crosswork Data Cluster Virtual IP)]:仮想IPは各クラスタノードで同じままです。

ステップ 7

[次へ(Next)] をクリックします。[テンプレートからの展開(Deploy From Template)] ウィンドウが更新され、[6 - 完了前の確認(6 - Ready to complete)] セクションが強調表示されます。設定を確認し、展開を開始する準備ができたら [終了(Finish)] をクリックします。

ステップ 8

新しく作成された VM について、VM に割り当てられたリソース設定が リソースのフットプリントの特定 で指定されているものと一致していることを確認します。

ステップ 9

ステップ 1 からステップ8 を繰り返して、クラスタ内の残りの VM を展開します。

重要

 

クラスタを初めて展開する場合は、IP アドレスとシードノードの設定が正しいことを確認します。ノードを交換または移行する場合は、設定が元の VM と一致していることを確認します。

ステップ 10

適切なアクションを選択します。

  • 新しい VM を展開する場合は、クラスタシードノードとして選択した VM の電源を入れます。数分遅れで、残りのノードの電源を入れます。電源をオンにするには、ホストのエントリを展開し、[Cisco Crosswork VM] をクリックして、[アクション(Actions)] > [電源(Power)] > [電源オン(Power On)] を選択します。
  • この VM で既存の VM を置き換える場合は、次の手順を実行します。
    • 既存の VM の電源を切ります。

    • 元の VM の名前を変更します(たとえば CW-VM-0-Old に変更するなど)。

    • 元の VM の名前(CW-VM-0 など)と一致するように、交換用 VM の名前を変更します(たとえば CW-VM-0-New に変更するなど)。

    • 新しい VM の電源を入れます。Crosswork UI を使用してクラスタの正常性をモニターします。

    • クラスタが正常で安定したら、元の VM(現在は CW-VM-0-Old という名前)を削除します。

ステップ 11

クラスタの作成にかかる時間は、展開プロファイルのサイズとハードウェアのパフォーマンス特性によって異なることがあります。インストールのステータスを確認する方法については、クラスタのアクティブ化のモニターを参照してください。

(注)  

 

障害が発生した VM を交換するためにこの手順を実行している場合は、Cisco Crosswork GUI からステータスを確認できます([管理(Administration )] > [Crosswork マネージャ(Crosswork Manager)] に移動し、クラスタタイルをクリックして [Crosswork クラスタ(Crosswork Cluster)] のステータスを確認します)。

(注)  

 

プロセスを使用して新しいワーカーノードを構築する場合、ノードは自身を既存の Kubernetes クラスタに自動的に登録します。リソースをワーカーノードに割り当てる方法の詳細については、『Cisco Crosswork Network Controller 7.0 Administration Guide』の「Rebalance Cluster Resources」のトピックを参照してください。


次のタスク

以下のインストールワークフローに戻ります。VMware vCenter への Cisco Crosswork Network Controller のインストール

クラスタのアクティブ化のモニター

この項では、インストールが正常に完了したかどうかをモニターし、確認する方法について説明します。インストーラは、クラスタを構築および設定するときに、進捗状況を報告します。インストーラは、ライセンス契約に同意し、インストールを続行するかどうかを尋ねるプロンプトを表示します。確認後、インストールが進行し、installer.log または installer_tf.log のいずれかに発生する可能性のあるエラーが記録されます。VM が作成され、起動できる場合、オペレータが指定した構成を適用する際のエラーが VM の /var/log/firstboot.log に記録されます。


(注)  


インストール時に Cisco Crosswork は特別な管理 ID を作成します(マニフェストテンプレートで指定したパスワードの仮想マシン(VM)管理者cw-admin。インストーラがログイン情報を適用できない場合、インストーラは、デフォルトのパスワード cw-admin で管理 ID を作成します)。管理 ID を使用して初めてログインした場合は、パスワードを変更するよう求められます。

管理ユーザー名は予約されており、変更できません。データセンター管理者はこの ID を使用して Crosswork アプリケーション VM にログインし、トラブルシューティングを行います。


次に、プロセスが予想どおりに進行していることを確認するために監視できるプロセス内の重要な手順のリストを示します。

  1. インストーラは、Crosswork イメージファイル(.ova ファイル)を vCenter データセンターにアップロードします。


    (注)  


    実行時に、インストーラは .ova ファイルがまだ存在しない場合は、そのファイルを vCenter にアップロードし、VM テンプレートに変換します。インストールが正常に完了した後、イメージが不要になった場合は、vCenter UIからテンプレートファイルを削除できます(VMおよびテンプレート)。


  2. インストーラは VM を作成し、各 VM が作成された後に成功メッセージ(「作成が完了しました(Creation Complete)」など)を表示します。


    (注)  


    VMware 展開の場合、このアクティビティも vSphere UI からもモニターできます。


  3. 各 VM が作成されると、(インストーラの完了時に自動的に、または手動インストール中に VM を電源オンした後に)電源オンされます。テンプレートで指定されたパラメータが VM に適用され、再起動されます。その後、VM は Kubernetes によって登録され、クラスタを形成します。

  4. クラスタが作成され、アクセス可能になると、成功メッセージ(「Crosswork インストーラの操作が完了しました(Crosswork Installer operation complete)」など)が表示され、インストーラスクリプトが終了し、画面上のプロンプトに戻ります。

次の方法を使用して、スタートアップの進行状況をモニターできます。

  • ブラウザでアクセス可能なダッシュボードを使用:

    1. クラスタの作成中に、ブラウザでアクセス可能なダッシュボードからセットアッププロセスをモニターできます。

    2. インストーラが完了すると、この grafana ダッシュボードの URL(http://{VIP}:30602/d/NK1bwVxGk/crosswork-deployment-readiness?orgId=1&refresh=10s&theme=dark の形式)が表示されます。この URL は一時的なものであり、使用できるのは限られた時間(約 30 分)だけです。

    3. 展開の最後に、grafana ダッシュボードに [準備完了(Ready)] ステータスが報告されます。URL にアクセスできない場合は、このセクションで説明する SSH コンソールを使用してインストールプロセスをモニターできます。

      図 12. Crosswork 展開の準備状況
  • コンソールを使用:

    1. いずれかのハイブリッド VM のコンソールから、または仮想 IP アドレスへの SSH を使用して、進行状況を確認できます。

    2. 後者の場合、インストールテンプレートでそのアカウントに割り当てた cw-admin のユーザー名とパスワードを使用してログインします。

    3. sudo su - コマンドを使用してスーパーユーザーに切り替えます。

    4. kubectl get nodes(ノードの準備ができているかどうかを確認するため)および kubectl get pods(実行中のアクティブなポッドのリストを確認するため)コマンドを実行します。

    5. アクティブなポッドのリストに robot-ui が表示されるまで、kubectl get pods コマンドを繰り返します。

    6. この時点で、Cisco Crosswork UI へのアクセスを試すことができます。

Cisco Crosswork UI にアクセスできるようになったら、UI からステータスをモニターすることもできます。詳細については、Cisco Crosswork UI へのログインを参照してください。

障害シナリオ

障害が発生した場合(以下を参照)、シスコのカスタマー エクスペリエンス チームに連絡し、installer.log ファイル、installer_tf.log ファイル、および firstBoot.log ファイル(VM ごとに 1 つ)を提供します。

  • インストールが不完全

  • インストールは完了したが、VM が機能しない

  • インストールは完了したが、/var/log/firstBoot.log または /opt/robot/bin/firstBoot.log ファイルを確認するように指示される。

次に行う作業:

以下のインストールワークフローに戻ります。VMware vCenter への Cisco Crosswork Network Controller のインストール

Cisco Crosswork UI へのログイン

クラスタのアクティブ化とスタートアップが完了した後、すべてのノードがクラスタ内で稼働しているかどうかを Cisco Crosswork UI から確認できます。


(注)  


サポートされているブラウザのバージョンについては、『Cisco Crosswork Network Controller 7.0 Release Notes』「Compatibility Information」セクションを参照してください。


Cisco Crosswork UI にログインし、クラスタの正常性を確認するには、次の手順を実行します。


(注)  


インストールの際、Cisco Crosswork UI にアクセスできない場合は、VMware または AWS UI からホストのコンソールにアクセスして、VM の設定に問題があったかどうかを確認してください。ログイン時に、firstboot.log ファイルを確認するように指示された場合は、ファイルを確認して問題を特定してください。エラーを特定できる場合は、エラーを修正し、ノードを再起動します。サポートが必要な場合は、シスコのカスタマー エクスペリエンス チームにお問い合わせください。


手順


ステップ 1

サポートされているブラウザのいずれかを起動します。

ステップ 2

ブラウザのアドレスバーに次のように入力します。

https://<Crosswork Management Network Virtual IP (IPv4)>:30603/

または

https://[<Crosswork Management Network Virtual IP (IPv6)>]:30603/

(注)  

 

URL の IPv6 アドレスはブラケットで囲む必要があることに注意してください。

(注)  

 

Crosswork FQDN 名を使用して Crosswork UI にログインすることもできます。

[ログイン(Log In)] ウィンドウが開きます。

(注)  

 

初めて Cisco Crosswork にアクセスすると、一部のブラウザでは、サイトが信頼できないという警告が表示されます。この場合は、指示に従ってセキュリティ例外を追加し、Cisco Crosswork サーバーから自己署名証明書をダウンロードします。セキュリティの例外を追加すると、ブラウザは今後のすべてのログイン試行で信頼できるサイトとしてサーバーを受け入れます。CA 署名付き証明書を使用する場合は、『Cisco Crosswork Network Controller 7.0 Administration Guide』の「Manage Certificates」のトピックを参照してください。

ステップ 3

次のように Cisco Crosswork にログインします。

  1. Cisco Crosswork 管理者のユーザー名の admin とデフォルトのパスワードの admin を入力します。

  2. [ログイン(Log In)] をクリックします。

  3. 管理者のデフォルトのパスワードを変更するように求められたら、表示されたフィールドに新しいパスワードを入力し、[OK] をクリックします。

    (注)  

     

    強力な VM パスワード(大文字と小文字、数字、特殊文字を含む 8 文字以上の長さ)を使用します。ディクショナリの単語や関連する単語に類似したパスワードの使用は避けてください(例:「Pa55w0rd!」)。

[Crosswork マネージャ(Crosswork Manager)] ウィンドウが表示されます。

ステップ 4

[Crossworkの正常性(Crosswork Health)] タブをクリックし、[Crossworkプラットフォームインフラストラクチャ(Crosswork Platform Infrastructure)] タブをクリックして Cisco Crosswork で実行されているマイクロサービスの正常性ステータスを表示します。

ステップ 5

(オプション)管理者アカウントに割り当てられた名前(デフォルトでは「John Smith」)を、よりふさわしい名前に変更します。

ステップ 6

手動インストールの場合:Crosswork UI にログインした後、クラスタが正常であることを確認します。Crosswork UI からクラスタインベントリのサンプル(.tfvars ファイル)をダウンロードし、クラスタ内の VM に関する情報とデータセンターのパラメータを使って更新します。次に、そのファイルを Crosswork UI にインポートします。詳細については、クラスタインベントリのインポートを参照してください。


次のタスク

以下のインストールワークフローに戻ります。VMware vCenter への Cisco Crosswork Network Controller のインストール

クラスタインベントリのインポート

vCenter UI を使用して手動でクラスタをインストールした場合、インベントリファイル(.tfvars ファイル)を Cisco Crosswork にインポートして、クラスタの詳細を反映する必要があります。サンプルのインベントリファイルは、Crosswork UI からダウンロードできます。

(注)  


機能不全の VM を置き換えるために手動インストールを実行した場合は、クラスタ インベントリ ファイルをインポートした後に元の VM を削除する必要があります。



注目


この操作が完了するまで、Crosswork はクラスタ内の VM ノードを展開または削除できません。



(注)  


クラスタ インベントリ ファイルを手動でインポートするときは、「OP_Status」パラメータのコメントを外してください。これを行わないと、VM が機能するようになった後でも、VM のステータスが誤って「初期化中」と表示されます。 


手順


ステップ 1

メインメニューから、[管理(Administration)] > [Crosswork Manager] を選択します。

ステップ 2

[Crosswork の概要(Crosswork Summary)] タブで、[システム概要(System Summary)] タイルをクリックして、[クラスタ管理(Cluster Management)] ウィンドウを表示します。クラスタが正常であることを確認します。

ステップ 3

[アクション(Actions)] > [クラスタインベントリのインポート(Import Cluster Inventory)]を選択して、[クラスタインベントリのインポート(Import Cluster Inventory)] ダイアログボックスを表示します。

ステップ 4

(オプション)[サンプルテンプレートファイルのダウンロード(Download sample template file)] をクリックしてテンプレートをダウンロードします。クラスタ内の VM に関する情報と、データセンターのパラメータを入力してファイルを更新します。インストールパラメータの詳細については、インストール パラメータ を参照してください。

ステップ 5

[参照(Browse)] をクリックし、クラスタ インベントリ ファイルを選択します。

ステップ 6

[インポート(Import)] をクリックして操作を完了します。


クラスタのトラブルシューティング

デフォルトでは、インストーラはコマンドラインに進行状況データを表示します。インストールログは問題を特定するための基礎であり、/data ディレクトリに書き込まれます。

表 3. 一般的なシナリオ

シナリオ

可能な解決策

証明書エラー

Crosswork アプリケーションとデータゲートウェイ VM を実行する ESXi ホストには、NTP が設定されている必要があります。そうでない場合、最初のハンドシェイクが「certificate not valid」エラーで失敗する可能性があります。

イメージのアップロードに時間がかかる、またはアップロードが中断される

イメージのアップロード時間は、リンクとデータストアのパフォーマンスによって異なり、約 10 分以上かかると予想されます。アップロードが中断された場合、ユーザーは vSphere UI を使用して vCenter から部分的にアップロードされたイメージファイルを手動で削除する必要があります。

vCenter 認証

vCenter ユーザーには、VMware vCenter のインストールの前提条件 で説明されているアクションを実行するための権限が必要です。

フローティング VIP アドレスに到達できない

VRRP プロトコルでは、一意の router_id アドバタイズメントがネットワークセグメントに存在する必要があります。デフォルトでは、Crosswork は管理で ID 169、データ ネットワーク セグメントで ID 170 を使用します。競合が発生した場合は、VIP アドレスに到達できないという症状が表れます。競合する VRRP ルータマシンを削除するか、または別のネットワークを使用します。

Crosswork VM が管理者ユーザーのログインを許可しない

または

次のエラーが表示されます。

エラー:cluster_vars.tf line 113: の変数の値が無効です(Error: Invalid value for variable on cluster_vars.tf line 113:)

├────────────────

これは、cluster_vars.tf:115,3-13 の検証ルールによってチェックされました。(This was checked by the validation rule at cluster_vars.tf:115,3-13.)Error: expected length of name to be in the range (1 - 80), got with data.vsphere_virtual_machine.template_from_ovf, on main.tf line 32, in data "vsphere_virtual_machine" "template_from_ovf": 32: name = var.Cw_VM_Image Mon Aug 21 18:52:47 UTC 2023: エラー:インストールに失敗しました(ERROR: Installation failed.)コンソール経由でアクセスし、/var/log/firstBoot.log を表示して、インストーラと VM のログを確認してください。(Check installer and the VMs' log by accessing via console and viewing /var/log/firstBoot.log)

これは、パスワードの複雑さが不十分な場合に発生します。強力なパスワードを作成し、構成マニフェストを更新して再展開してください。

強力な VM パスワード(大文字と小文字、数字、最低 1 つの特殊文字を含む 8 文字の長さ)を使用します。ディクショナリの単語や関連する単語に類似したパスワードの使用は避けてください(例:「Pa55w0rd!」)。類似パスワードは基準を満たしていますが、脆弱であり、許可されないため、VM のセットアップに失敗します。

展開が「Crosswork クラスタの初期化の検証に失敗しました(Failed to validate Crosswork cluster initialization)」というエラーで失敗する

クラスタのシード VM に到達できないか、または 1 つ以上のクラスタ VM が正しく設定されていません。

  1. VM が到達可能かどうかを確認し、 /var/log/firstBoot.log/var/log/vm_setup.log からログを収集します。

  2. 他のクラスタノードのステータスを確認します。

VM は展開されていますが、Crosswork クラスタは形成されていません。

展開が成功すると、オペレータは VIP または任意のクラスタ IP アドレスにログインし、次のコマンドを実行してクラスタのステータスを取得できます。
sudo kubectl get nodes
3 ノードクラスタの正常な出力は次のようになります。
NAME                  STATUS   ROLES    AGE   VERSION
172-25-87-2-hybrid.cisco.com   Ready    master   41d   v1.16.4
172-25-87-3-hybrid.cisco.com   Ready    master   41d   v1.16.4
172-25-87-4-hybrid.cisco.com   Ready    master   41d   v1.16.4

異なる出力の場合は、 /var/log/firstBoot.log/var/log/vm_setup.log のログを収集します。

さらに、Ready 状態を示していないクラスタノードについては、次の情報を収集します。
sudo kubectl describe node <name of node>

イメージのアップロード中に次のエラーが表示される

govc:OVF ネットワークとシステムネットワーク間の指定されたネットワークマッピングがどのホストでもサポートされていません(govc: The provided network mapping between OVF networks and the system network is not supported by any host.

vCenter の Dswitch の設定が誤っています。動作しており、ESXi ホストにマッピングされているかどうかを確認してください。

VM は展開されますが、「エラー:使用可能な IP アドレスを待機中にエラーが発生しました( Error: timeout waiting for an available IP address)」でインストールは失敗します。

最も可能性が高いと考えられる原因は、指定した VM パラメータまたはネットワーク到達可能性の問題です。vCenter コンソールから VM ホストに入り、/var/log/firstBoot.log/var/log/vm_setup.log のログを確認および収集します。

vCenter に展開すると、VM の起動の最後に次のエラーが表示されます。

Error processing disk changes post-clone: disk.0: ServerFaultCode: NoPermission: RESOURCE (vm-14501:2000), ACTION (queryAssociatedProfile): RESOURCE (vm-14501), ACTION (PolicyIDByVirtualDisk)

プロファイル駆動型ストレージを有効にします。vCenter のルートレベル(つまり、すべてのリソース)での vCenter ユーザーの権限を照会します。

実行中またはクリーニング中に、インストーラが「Error: cannot locate virtual machine with UUID "xxxxxxx": virtual machine with UUID "xxxxxxxx" not found」というエラーを報告します。

インストーラは、/data/crosswork-cluster.tfstate として保存されている tfstateファイルを使用して、操作対象の VM の状態を維持します。vCenter UI などを使用して VM がインストーラの外部で削除された場合、この状態は同期されません。

解決するには、/data/crosswork-cluster.tfstate ファイルを削除します。

シナリオ

5 つ以上のノードを持つクラスタでは、ノードのリロードシナリオ中にデータベースがハイブリッドノードに移動します。ユーザーには次のアラームが表示されます。

「robot-postgres/cw-timeseries-db ポッドは現在、ハイブリッドノードで実行されています。使用可能で正常な場合は、ワーカーノードに再配置してください。」

解決策

アラームを解決するには、移動 API を呼び出してデータベースをワーカーノードに移動します。

次のスクリプトを使用してサービスを配置します。これはジョブが完了したことを確認するためにクエリできるジョブ ID を返します。

[Place Services]

Request
curl --request POST --location 'https://<Vip>:30603/crosswork/platform/v2/placement/move_services_to_nodes' \
--header 'Content-Type: application/json' \
--header 'Authorization: <your-jwt-token>' \
--data '{
    "service_placements": [
        {
            "service": {
                "name": "robot-postgres",
                 "clean_data_folder": true
            },
            "nodes": [
                {
                    "name": "fded-1bc1-fc3e-96d0-192-168-5-114-worker.cisco.com"
                },
                {
                    "name": "fded-1bc1-fc3e-96d0-192-168-5-115-worker.cisco.com"
                }
            ]
        },
        {
            "service": {
                "name": "cw-timeseries-db",
                 "clean_data_folder": true
            },
            "nodes": [
                {
                    "name": "fded-1bc1-fc3e-96d0-192-168-5-114-worker.cisco.com"
                },
                {
                    "name": "fded-1bc1-fc3e-96d0-192-168-5-115-worker.cisco.com"
                }
            ]
        }
    ]
}'
 
 
Response
 
{
    "job_id": "PJ5",
    "result": {
        "request_result": "ACCEPTED",
        "error": null
    }
}

[GetJobs]

Request
curl --request POST --location 'https://<Vip>:30603/crosswork/platform/v2/placement/jobs/query' \
--header 'Content-Type: application/json' \
--header 'Authorization: <your-jwt-token>' \
--data '{"job_id":"PJ5"}'
 
Response
 
{
    "jobs": [
        {
            "job_id": "PJ1",
            "job_user": "admin",
            "start_time": "1714651535675",
            "completion_time": "1714652020311",
            "progress": 100,
            "job_status": "JOB_COMPLETED",
            "job_context": {},
            "job_type": "MOVE_SERVICES_TO_NODES",
            "error": {
                "message": ""
            },
            "job_description": "Move Services to Nodes"
        }
    ],
    "query_options": {
        "pagination": {
            "page_token": "1714650688679",
            "page_size": 200
        }
    },
    "result": {
        "request_result": "ACCEPTED",
        "error": null
    }
}

[GetEvents]

Request
 
curl --request POST --location 'https://<Vip>:30603/crosswork/platform/v2/placement/events/query' \
--header 'Content-Type: application/json' \
--header 'Authorization: <your-jwt-token>' \
--data '{}'

Response
 
{
    "events": [
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "Operation done",
            "event_time": "1714725461179"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "Moving replica pod , to targetNodes [fded-1bc1-fc3e-96d0-192-168-6-115-worker.cisco.com 
                    fded-1bc1-fc3e-96d0-192-168-6-116-worker.cisco.com]",
            "event_time": "1714725354163"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "robot-postgres - Cleaning up target nodes [fded-1bc1-fc3e-96d0-192-168-6-115-worker.cisco.com 
                       fded-1bc1-fc3e-96d0-192-168-6-116-worker.cisco.com] for stale data folder",
            "event_time": "1714725346515"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "Replica pod not found for service robot-postgres",
            "event_time": "1714725346507"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "Started moving leader and replica pods for service robot-postgres",
            "event_time": "1714725346504"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": " robot-postgres - Source and target nodes are not subsets, source nodes 
                    [fded-1bc1-fc3e-96d0-192-168-6-115-worker.cisco.com] , 
            target nodes [fded-1bc1-fc3e-96d0-192-168-6-115-worker.cisco.com fded-1bc1-fc3e-96d0-192-168-6-116-worker.cisco.com]",
            "event_time": "1714725346293"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "Verified cw-timeseries-db location on target nodes",
            "event_time": "1714725345692"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "Moved leader pod cw-timeseries-db-0, to targetNodes [fded-1bc1-fc3e-96d0-192-168-6-115-worker.cisco.com 
                        fded-1bc1-fc3e-96d0-192-168-6-116-worker.cisco.com]",
            "event_time": "1714725345280"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "cw-timeseries-db-0 is ready",
            "event_time": "1714725345138"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "cw-timeseries-db-0 is ready",
            "event_time": "1714725241401"
        },
         
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "Checking for cw-timeseries-db-0 pod is ready",
            "event_time": "1714725211296"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "Moving leader pod cw-timeseries-db-0, to targetNodes [fded-1bc1-fc3e-96d0-192-168-6-115-worker.cisco.com 
                        fded-1bc1-fc3e-96d0-192-168-6-116-worker.cisco.com]",
            "event_time": "1714725211256"
        }
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "cw-timeseries-db-1 is ready",
            "event_time": "1714725132896"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "Checking for cw-timeseries-db-1 pod is ready",
            "event_time": "1714725131684"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "Moving replica pod cw-timeseries-db-1, to targetNodes [fded-1bc1-fc3e-96d0-192-168-6-115-worker.cisco.com 
                       fded-1bc1-fc3e-96d0-192-168-6-116-worker.cisco.com]",
            "event_time": "1714725128203"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "cw-timeseries-db - Cleaning up target nodes [fded-1bc1-fc3e-96d0-192-168-6-115-worker.cisco.com 
                        fded-1bc1-fc3e-96d0-192-168-6-116-worker.cisco.com] for stale data folder",
            "event_time": "1714725119505"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "Started moving leader and replica pods for service cw-timeseries-db",
            "event_time": "1714725117684"
        },
        {
            "event_tags": [
                {
                    "tag_type": "JOB_ID_EVENT",
                    "tag_value": "PJ5"
                }
            ],
            "message": "cw-timeseries-db - Source and target nodes are not subsets, source nodes 
                       [fded-1bc1-fc3e-96d0-192-168-6-111-hybrid.cisco.com fded-1bc1-fc3e-96d0-192-168-6-113-hybrid.cisco.com] , 
            target nodes [fded-1bc1-fc3e-96d0-192-168-6-115-worker.cisco.com fded-1bc1-fc3e-96d0-192-168-6-116-worker.cisco.com]",
            "event_time": "1714725115883"
        }
    ],
    "query_options": {
        "pagination": {
            "page_token": "1714725115883",
            "page_size": 200
        }
    },
    "result": {
        "request_result": "ACCEPTED",
        "error": null
    }
}
表 4. インストーラツールのシナリオ

シナリオ

可能な解決策

欠落しているか無効なパラメータ

インストーラは問題に関する手掛かりを提供しますが、マニフェストファイルの HCL シンタックスにエラーがある場合は、指示が適切でない可能性があります。「タイプエラー」が見つかった場合は、設定マニフェストの形式を確認してください。

マニフェストファイルは、単純な JSON ファイルとして渡すこともできます。https://www.hcl2json.com/ のコンバータを使用して検証または変換を実行します。

次のようなエラーが発生する。

エラー:ロック状態のエラー:状態ロックを取得中のエラー:リソースが一時的に使用できません(Error: Error locking state: Error acquiring the state lock: resource temporarily unavailable)

エラー:仮想マシンの取得エラー:VM が見つかりません(Error: error fetching virtual machine: vm not found)

エラー:無効なインデックス(Error: Invalid index)

これらのエラーは、最初の実行が中断された後(Ctrl+C、TCP タイムアウトなど)にインストーラを再実行するときによく発生します。修復手順は次のとおりです。

  1. クリーン操作を実行するか(./cw-installer.sh clean -m <your manifest here>)または vCenter から手動で VM ファイルを削除します。

  2. 状態ファイル(rm/data/crosswork-cluster.tfstate)を削除します。

  3. インストールを再試行します(./cw-installer.sh clean -m <your manifest here>)。

VM の展開に時間がかかる

インストール中に VM のクローンを作成するために必要な時間は、ホストマシンが使用するディスクドライブのワークロードによって決まります。インストールを順番に実行する([-p] フラグなし)とこの負荷が軽減されますが、VM の展開に必要な時間が長くなります。

インストーラレポートで現在の VM 数よりも多くのリソースを追加する予定がある

Crosswork クラスタの VM 以外に、インストーラは他のメタリソースを追跡します。そのため、たとえば 3 VM クラスタのインストールを実行すると、インストーラは VM の数よりも多くのリソースを追加する「計画」を報告することがあります。

実行中またはクリーニング中に、インストーラが「Error: cannot locate virtual machine with UUID "xxxxxxx": virtual machine with UUID "xxxxxxxx" not found」というエラーを報告します。

解決するには、/data/crosswork-cluster.tfstate ファイルを削除します。

インストーラは、/data/crosswork-cluster.tfstate として保存されている tfstateファイルを使用して、操作対象の VM の状態を維持します。vCenter UI などを使用して VM がインストーラの外部で削除された場合、この状態は同期されません。

実行中に次のエラーのいずれかが発生した:

エラー 1:

% docker run --rm -it -v `pwd`:/data a45 docker:無効な参照形式:リポジトリ名は小文字である必要があります。(% docker run --rm -it -v `pwd`:/data a45 docker: invalid reference format: repository name must be lowercase.)「docker run --help」を参照してください。(See 'docker run --help')

エラー 2:

Docker:デーモンからのエラー応答:マウントが拒否されました:approving /Users/Desktop:ファイルが存在しません ERRO[0000] エラー コンテナを待機しています:コンテキストがキャンセルされました(docker: Error response from daemon: Mounts denied: approving /Users/Desktop: file does not exist ERRO[0000] error waiting for container: context canceled)

パスが小文字(すべて小文字、スペースやその他の特殊文字なし)のディレクトリにファイルを移動してください。次に、そのディレクトリに移動し、インストーラを再実行します。
表 5. デュアルスタックのシナリオ

シナリオ

可能な解決策

展開中に次のエラーメッセージが表示される:

エラー:IPv6 展開に有効な IPv6 アドレスがありません(ERROR: No valid IPv6 address detected for IPv6 deployment)

展開にデュアルスタック構成を使用する場合は、Docker インストーラを実行しているホストマシンが次の要件を満たしていることを確認してください。

  • Crosswork の管理 IPv6 ネットワークと同じプレフィックスからの IPv6 アドレスを持っているか、そのネットワークにルーティングできる必要があります。これを確認するには、ホストから管理 IPv6 ネットワークのゲートウェイ IP に ping を試します。ホストの IPv6 ネットワークを利用するには、Docker インストーラの実行時にパラメータ --network host を 使用します。

  • 指定した IPv6 ネットワーク CIDR とゲートウェイが有効かつ到達可能であることを確認します。

展開中に次のエラーメッセージが表示される:

エラー:シード v4 ホストが空です(ERROR: seed v4 host empty)

展開の実行には、承認されたバージョンの Docker インストーラ(19 以降)を使用してください。

展開中に次のエラーメッセージが表示される:

エラー:インストールに失敗しました。(ERROR: Installation failed.)コンソール経由でアクセスし、/var/log/firstBoot.log を表示して、インストーラと VM のログを確認してください。(Check installer and the VMs' log by accessing via console and viewing /var/log/firstBoot.log)

インストールが失敗する一般的な理由は次のとおりです。

  • 管理インターフェイスまたはデータインターフェイスのいずれかの IPv4 または IPv6 ゲートウェイ IP が間違っている。

  • 管理インターフェイスまたはデータインターフェイスのいずれかの IPv4 または IPv6 ゲートウェイ IP が到達不能である。

  • .tfvars ファイルの MgmtNetworkName および DataNetworkName パラメータの vCenter ネットワークのマッピングにエラーがある。

詳細については firstBoot.log ファイルを確認し、シスコのカスタマー エクスペリエンス チームにお問い合わせください。

次に行う作業:

以下のインストールワークフローに戻ります。VMware vCenter への Cisco Crosswork Network Controller のインストール