Inštalácia vCenter servera pomocou šablóny JSON

Viete ako ušetriť kopu času pri inštalácii vCenter servera? Alebo ako nainštalovať vCenter server popri pití rannej kávy? ;-) Stačí použiť šablónu JSON, dostupnú v každom inštalačnom ISO súbore vCenter servera.

Ja viem, že mnohí z vás neinštalujete vCenter server často. Ale tí, ktorí pracujete pre partnerov, možno inštalujete vCenter aj niekoľkokrát za rok. Pre urýchlenie inštalácie, a prípadné zamedzenie preklepov, využívam inštaláciu pomocou šablóny JSON.

Šablóna JSON sa nachádza v každom inštalačnom ISO súbore na ceste: \vcsa-cli-installer\templates\install. Je ich na výber viacero. Výber konkrétnej závisí od toho, akú inštaláciu vCenter servera chcete vykonať. Typicky inštalujeme vCenter server priamo na ESXi host, takže ako podklad pre tento blog si vyberieme embedded_vCSA_on_ESXi.json.

Pre jej vyplnenie nepotrebujete žiadne extra vstupy. Stačia vám presne tie informácie, ktoré zvyknete zadávať pri UI inštalácii. Príklad vyplnenej šablóny uvádzam nižšie.

{
    "__version": "2.13.0",
    "__comments": "Sample template to deploy a vCenter Server Appliance with an embedded Platform Services Controller on an ESXi host.",
    "new_vcsa": {
        "esxi": {
            "hostname": "10.0.0.1",
            "username": "root",
            "password": "VMware1234!",
            "deployment_network": "sPG-211",
            "datastore": "ds1-local"
        },
        "appliance": {
            "__comments": [
                "You must provide the 'deployment_option' key with a value, which will affect the vCenter Server Appliance's configuration parameters, such as the vCenter Server Appliance's number of vCPUs, the memory size, the storage size, and the maximum numbers of ESXi hosts and VMs which can be managed. For a list of acceptable values, run the supported deployment sizes help, i.e. vcsa-deploy --supported-deployment-sizes"
            ],
            "thin_disk_mode": true,
            "deployment_option": "tiny",
            "name": "vcsa02"
        },
        "network": {
            "ip_family": "ipv4",
            "mode": "static",
            "system_name": "vcsa02.psguy.local",
            "ip": "10.0.0.2",
            "prefix": "24",
            "gateway": "10.0.0.254",
            "dns_servers": [
                "10.0.0.10"
            ]
        },
        "os": {
            "password": "VMware12345!",
            "time_tools_sync": true,
            "ssh_enable": false
        },
        "sso": {
            "password": "VMware123456!",
            "domain_name": "vsphere.local"
        }
    },
    "ceip": {
        "description": {
            "__comments": [
                "++++VMware Customer Experience Improvement Program (CEIP)++++",
                "VMware's Customer Experience Improvement Program (CEIP) ",
                "provides VMware with information that enables VMware to ",
                "improve its products and services, to fix problems, ",
                "and to advise you on how best to deploy and use our ",
                "products. As part of CEIP, VMware collects technical ",
                "information about your organization's use of VMware ",
                "products and services on a regular basis in association ",
                "with your organization's VMware license key(s). This ",
                "information does not personally identify any individual. ",
                "",
                "Additional information regarding the data collected ",
                "through CEIP and the purposes for which it is used by ",
                "VMware is set forth in the Trust & Assurance Center at ",
                "http://www.vmware.com/trustvmware/ceip.html . If you ",
                "prefer not to participate in VMware's CEIP for this ",
                "product, you should disable CEIP by setting ",
                "'ceip_enabled': false. You may join or leave VMware's ",
                "CEIP for this product at any time. Please confirm your ",
                "acknowledgement by passing in the parameter ",
                "--acknowledge-ceip in the command line.",
                "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
            ]
        },
        "settings": {
            "ceip_enabled": false
        }
    }
}

Vami editovanú šablónu JSON si uložte.

Deploy

Pred samotnou inštaláciou si vytvorte adresár, kde sa uložia logy z inštalácie. Neskôr ho zadefinujete pomocou parametra –log-dir=. 

vcsa-deploy.exe je uložený v inštalačnom ISO súbore na ceste: \vcsa-cli-installer\win32 (Windows),\vcsa-cli-installer\mac (macOS),\vcsa-cli-installer\lin64 (Linux)

Ak si nieste istí, či máte správne vyplnenú JSON šablónu, je dobré si ju nechať skontrolovať. Urobíte tak príkazom:

vcsa-deploy.exe --accept-eula --acknowledge-ceip --no-ssl-certificate-verification --verify-only C:\Install\VCSA\json\embedded_vCSA_on_ESXi_psguy.json

V prípade, že kontrola prebehla úspešne, môžete spustiť samotnú inštaláciu:

vcsa-deploy.exe install --accept-eula --no-ssl-certificate-verification --log-dir=C:\Install\VCSA\deploy-log\ C:\Install\VCSA\json\embedded_vCSA_on_ESXi_psguy.json

O úspešnej inštalácii vás upovedomí inštalačný script takto:

Poznámka 1:

V prípade, že ešte nemáte v svojej infraštruktúre NTP servery, vymažte riadok:

"ntp_servers": "sk.pool.ntp.org",

a nahraďte ho:

"time_tools_sync": true,

Poznámka 2:

Môže sa stať, že po spustení vcsa-deploy.exe v Powershell okne sa nič neudeje. Otvorte si klasickú cmd.exe a skúste spustiť vcsa-deploy.exe znova. Ak dostanete chybové hlásenie, že vám chýba v systéme VCRUNTIME140.DLL, stači nainštalovať knižnicu Microsoft Visual C++ Redistributable package, ktorú môžete stiahnuť z oficiálnych stránok Microsoftu.

Author: Martin

Infrastructure engineer | virtualization & cloud enthusiast | vSphere specialist | blogger | Veeam Vanguard 2021,2022,2023 | VMware vExpert 2017 - 2023 | VMCE | Slovak VMUG Leader |  user group ambassador for kmug.sk | husband&father