首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

【VMware VCF】VMware Cloud Foundation Part 05:部署 SDDC 管理域。

编程知识
2024年07月26日 10:26

之前文章(“VMware Cloud Foundation Part 03:准备 Excel 参数表。”和“VMware Cloud Foundation Part 04:准备 ESXi 主机。”),我们已经知道了对于部署一个 VMware Cloud Foundation 来说,需要准备部署参数配置文件以及用于部署管理域的 ESXi 主机,这在前期准备当中确实需要花费大量时间和精力,不过等这一切都准备就绪后,到了真正的实施环节,也许几个小时之内就能完成所有部署上线工作,这就是使用 VMware Cloud Foundation 自动化和标准化 SDDC 解决方案所带来的魅力。

话不多说,下面正式进入主题。

一、Cloud Builder 使用技巧

可能有一些小技巧对于 Cloud Builder 工具的使用能带来帮助。工欲善其事,必先利其器。

1)查看 Log 日志文件

在 Cloud Builder 部署 VCF 管理域过程中,有可能会遇到一些报错或者失败的任务,这时可以查看以下 Cloud Builder 中的 Log 日志文件来检查具体错误的原因。SSH 以 admin 用户登录到 Cloud Builder 并切换到 root 用户,执行以下命令。

tail -f /var/log/vmware/vcf/bringup/vcf-bringup.log
tail -f /var/log/vmware/vcf/bringup/vcf-bringup-debug.log

2)开启 History 历史记录

默认情况下,Cloud Builder 虚拟机的 History 命令历史记录功能是关闭的,如果你想查看之前使用过的命令并向上翻阅历史记录,将会失败。如果想开启 History 功能,可以移除关闭历史记录的配置文件。SSH 以 admin 用户登录到 Cloud Builder 并切换到 root 用户,执行以下命令。

mv /etc/profile.d/disable.history.sh .
history

3)重置 Postgres 数据库

当使用 Cloud Builder 部署完成 VCF 管理域以后,最终会显示如下图所示界面。如果你想继续使用 Cloud Builder 重新部署 VCF 管理域或者部署另外一个 VCF 实例,再去访问 Cloud Builder 时始终会停留在下图所示的界面。

要想再次使用 Cloud Builder,可以重置 Postgres 数据库。SSH 以 admin 用户登录到 Cloud Builder 并切换到 root 用户,执行以下命令。

/usr/pgsql/13/bin/psql -U postgres -d bringup -h localhost

delete from execution;
delete from "Resource";
\q

二、vSAN ESA HCL 自定义文件

当你跟我一样使用了嵌套 ESXi 虚拟机来部署 VMware Cloud Foundation 时,如果你选择使用 vSAN OSA 架构来部署 VCF 管理域,那么在部署的时候不会遇到 HCL 兼容性问题,因为不会去检查 HCL JSON 文件;但是,要是你部署 vSAN ESA 架构,并使用官方的 HCL JSON 文件(https://partnerweb.vmware.com/service/vsan/all.json)的话,那一定会遇到兼容性问题,ESXi host vSAN compatibility validation 检查将会失败(Failed to verify HCL status on ESXi Host vcf-mgmt01-esxi01.mulab.local),如下图所示。

1)生成嵌套 ESXi 主机的自定义 HCL JSON 文件

针对上述这个问题,可以使用 VMware 工程师 William Lam 所制作的 PowerCLI 脚本来生成自定义 HCL JSON 文件进行解决,脚本完整内容如下。很有意思的是,这个方法是不是也可以用于嵌套环境中 vSAN ESA 集群的部署和使用基于映像的 vLCM 生命周期管理所遇到的硬件兼容性问题?!注意,你需要安装 PowerCLI 环境,才能执行以下步骤。

# Author: William Lam
# Description: Dynamically generate custom vSAN ESA HCL JSON file connected to standalone ESXi host

$vmhost = Get-VMHost

$supportedESXiReleases = @("ESXi 8.0 U2")

Write-Host -ForegroundColor Green "`nCollecting SSD information from ESXi host ${vmhost} ... "

$imageManager = Get-View ($Vmhost.ExtensionData.ConfigManager.ImageConfigManager)
$vibs = $imageManager.fetchSoftwarePackages()

$storageDevices = $vmhost.ExtensionData.Config.StorageDevice.scsiTopology.Adapter
$storageAdapters = $vmhost.ExtensionData.Config.StorageDevice.hostBusAdapter
$devices = $vmhost.ExtensionData.Config.StorageDevice.scsiLun
$pciDevices = $vmhost.ExtensionData.Hardware.PciDevice

$ctrResults = @()
$ssdResults = @()
$seen = @{}
foreach ($storageDevice in $storageDevices) {
    $targets = $storageDevice.target
    if($targets -ne $null) {
        foreach ($target in $targets) {
            foreach ($ScsiLun in $target.Lun.ScsiLun) {
                $device = $devices | where {$_.Key -eq $ScsiLun}
                $storageAdapter = $storageAdapters | where {$_.Key -eq $storageDevice.Adapter}
                $pciDevice = $pciDevices | where {$_.Id -eq $storageAdapter.Pci}

                # Convert from Dec to Hex
                $vid = ('{0:x}' -f $pciDevice.VendorId).ToLower()
                $did = ('{0:x}' -f $pciDevice.DeviceId).ToLower()
                $svid = ('{0:x}' -f $pciDevice.SubVendorId).ToLower()
                $ssid = ('{0:x}' -f $pciDevice.SubDeviceId).ToLower()
                $combined = "${vid}:${did}:${svid}:${ssid}"

                if($storageAdapter.Driver -eq "nvme_pcie" -or $storageAdapter.Driver -eq "pvscsi") {
                    switch ($storageAdapter.Driver) {
                        "nvme_pcie" {
                            $controllerType = $storageAdapter.Driver
                            $controllerDriver = ($vibs | where {$_.name -eq "nvme-pcie"}).Version
                        }
                        "pvscsi" {
                            $controllerType = $storageAdapter.Driver
                            $controllerDriver = ($vibs | where {$_.name -eq "pvscsi"}).Version
                        }
                    }

                    $ssdReleases=@{}
                    foreach ($supportedESXiRelease in $supportedESXiReleases) {
                        $tmpObj = [ordered] @{
                            vsanSupport = @( "All Flash:","vSANESA-SingleTier")
                            $controllerType = [ordered] @{
                                $controllerDriver = [ordered] @{
                                    firmwares = @(
                                        [ordered] @{
                                            firmware = $device.Revision
                                            vsanSupport = [ordered] @{
                                                tier = @("AF-Cache", "vSANESA-Singletier")
                                                mode = @("vSAN", "vSAN ESA")
                                            }
                                        }
                                    )
                                    type = "inbox"
                                }
                            }
                        }
                        if(!$ssdReleases[$supportedESXiRelease]) {
                            $ssdReleases.Add($supportedESXiRelease,$tmpObj)
                        }
                    }

                    if($device.DeviceType -eq "disk" -and !$seen[$combined]) {
                        $ssdTmp = [ordered] @{
                            id = [int]$(Get-Random -Minimum 1000 -Maximum 50000).toString()
                            did = $did
                            vid = $vid
                            ssid = $ssid
                            svid = $svid
                            vendor = $device.Vendor
                            model = ($device.Model).trim()
                            devicetype = $device.ApplicationProtocol
                            partnername = $device.Vendor
                            productid = ($device.Model).trim()
                            partnumber = $device.SerialNumber
                            capacity = [Int]((($device.Capacity.BlockSize * $device.Capacity.Block) / 1048576))
                            vcglink = "https://williamlam.com/homelab"
                            releases = $ssdReleases
                            vsanSupport = [ordered] @{
                                mode = @("vSAN", "vSAN ESA")
                                tier = @("vSANESA-Singletier", "AF-Cache")
                            }
                        }

                        $controllerReleases=@{}
                        foreach ($supportedESXiRelease in $supportedESXiReleases) {
                            $tmpObj = [ordered] @{
                                $controllerType = [ordered] @{
                                    $controllerDriver = [ordered] @{
                                        type = "inbox"
                                        queueDepth = $device.QueueDepth
                                        firmwares = @(
                                            [ordered] @{
                                                firmware = $device.Revision
                                                vsanSupport = @( "Hybrid:Pass-Through","All Flash:Pass-Through","vSAN ESA")
                                            }
                                        )
                                    }
                                }
                                vsanSupport = @( "Hybrid:Pass-Through","All Flash:Pass-Through")
                            }
                            if(!$controllerReleases[$supportedESXiRelease]) {
                                $controllerReleases.Add($supportedESXiRelease,$tmpObj)
                            }
                        }

                        $controllerTmp = [ordered] @{
                            id = [int]$(Get-Random -Minimum 1000 -Maximum 50000).toString()
                            releases = $controllerReleases
                        }

                        $ctrResults += $controllerTmp
                        $ssdResults += $ssdTmp
                        $seen[$combined] = "yes"
                    }
                }
            }
        }
    }
}

# Retrieve the latest vSAN HCL jsonUpdatedTime
$results = Invoke-WebRequest -Uri 'https://vsanhealth.vmware.com/products/v1/bundles/lastupdatedtime' -Headers @{'x-vmw-esp-clientid'='vsan-hcl-vcf-2023'}
# Parse out content between '{...}'
$pattern = '\{(.+?)\}'
$matched = ([regex]::Matches($results, $pattern)).Value

if($matched -ne $null) {
    $vsanHclTime = $matched|ConvertFrom-Json
} else {
    Write-Error "Unable to retrieve vSAN HCL jsonUpdatedTime, ensure you have internet connectivity when running this script"
}

$hclObject = [ordered] @{
    timestamp = $vsanHclTime.timestamp
    jsonUpdatedTime = $vsanHclTime.jsonUpdatedTime
    totalCount = $($ssdResults.count + $ctrResults.count)
    supportedReleases = $supportedESXiReleases
    eula = @{}
    data = [ordered] @{
        controller = @($ctrResults)
        ssd = @($ssdResults)
        hdd = @()
    }
}

$dateTimeGenerated = Get-Date -Uformat "%m_%d_%Y_%H_%M_%S"
$outputFileName = "custom_vsan_esa_hcl_${dateTimeGenerated}.json"

Write-Host -ForegroundColor Green "Saving Custom vSAN ESA HCL to ${outputFileName}`n"
$hclObject | ConvertTo-Json -Depth 12 | Out-File -FilePath $outputFileName

运行 Powershell,使用 PowerCLI 命令 Connect-VISserver 连接到嵌套 ESXi 主机,并运行自定义 HCL JSON 文件生成脚本。

生成的自定义 HCL JSON 文件内容如下所示。注意,运行上述脚本需要电脑连接互联网,如果不能连网,则需要手动下载官方的 HCL JSON 文件(https://partnerweb.vmware.com/service/vsan/all.json),然后将 timestamp 和 jsonUpdatedTime 字段的值修改为官方的 HCL JSON 文件中的最新值。

{
    "timestamp":  1721122728,
    "jsonUpdatedTime":  "July 16, 2024, 2:38 AM PDT",
    "totalCount":  2,
    "supportedReleases":  [
                              "ESXi 8.0 U2"
                          ],
    "eula":  {

             },
    "data":  {
                 "controller":  [
                                    {
                                        "id":  33729,
                                        "releases":  {
                                                         "ESXi 8.0 U2":  {
                                                                             "nvme_pcie":  {
                                                                                               "1.2.4.11-1vmw.802.0.0.22380479":  {
                                                                                                                                      "type":  "inbox",
                                                                                                                                      "queueDepth":  510,
                                                                                                                                      "firmwares":  [
                                                                                                                                                        {
                                                                                                                                                            "firmware":  "1.3",
                                                                                                                                                            "vsanSupport":  [
                                                                                                                                                                                "Hybrid:Pass-Through",
                                                                                                                                                                                "All Flash:Pass-Through",
                                                                                                                                                                                "vSAN ESA"
                                                                                                                                                                            ]
                                                                                                                                                        }
                                                                                                                                                    ]
                                                                                                                                  }
                                                                                           },
                                                                             "vsanSupport":  [
                                                                                                 "Hybrid:Pass-Through",
                                                                                                 "All Flash:Pass-Through"
                                                                                             ]
                                                                         }
                                                     }
                                    }
                                ],
                 "ssd":  [
                             {
                                 "id":  25674,
                                 "did":  "7f0",
                                 "vid":  "15ad",
                                 "ssid":  "7f0",
                                 "svid":  "15ad",
                                 "vendor":  "NVMe",
                                 "model":  "VMware Virtual NVMe Disk",
                                 "devicetype":  "NVMe",
                                 "partnername":  "NVMe",
                                 "productid":  "VMware Virtual NVMe Disk",
                                 "partnumber":  "f72c2cf6551ae47e000c2968afc4b0ec",
                                 "capacity":  61440,
                                 "vcglink":  "https://williamlam.com/homelab",
                                 "releases":  {
                                                  "ESXi 8.0 U2":  {
                                                                      "vsanSupport":  [
                                                                                          "All Flash:",
                                                                                          "vSANESA-SingleTier"
                                                                                      ],
                                                                      "nvme_pcie":  {
                                                                                        "1.2.4.11-1vmw.802.0.0.22380479":  {
                                                                                                                               "firmwares":  [
                                                                                                                                                 {
                                                                                                                                                     "firmware":  "1.3",
                                                                                                                                                     "vsanSupport":  {
                                                                                                                                                                         "tier":  [
                                                                                                                                                                                      "AF-Cache",
                                                                                                                                                                                      "vSANESA-Singletier"
                                                                                                                                                                                  ],
                                                                                                                                                                         "mode":  [
                                                                                                                                                                                      "vSAN",
                                                                                                                                                                                      "vSAN ESA"
                                                                                                                                                                                  ]
                                                                                                                                                                     }
                                                                                                                                                 }
                                                                                                                                             ],
                                                                                                                               "type":  "inbox"
                                                                                                                           }
                                                                                    }
                                                                  }
                                              },
                                 "vsanSupport":  {
                                                     "mode":  [
                                                                  "vSAN",
                                                                  "vSAN ESA"
                                                              ],
                                                     "tier":  [
                                                                  "vSANESA-Singletier",
                                                                  "AF-Cache"
                                                              ]
                                                 }
                             }
                         ],
                 "hdd":  [

                         ]
             }
}

2)重新另存为 HCL JSON 文件

很奇怪,不知道为什么上面自动生成的 HCL JSON 文件我这边直接使用有问题,我将生成的 HCL JSON 文件通过记事本打开,然后全部复制到另一个记事本中,再另存为 JSON 文件(如 all.json),最后导入到 Cloud Builder 才验证成功。如果你遇到同样的问题,可以尝试这一操作。

3)上传 HCL JSON 文件到 Cloud Builder

使用上面脚本生成了嵌套 ESXi 主机的自定义 HCL JSON 文件后,需要通过 SFTP 将它上传到 Cloud Builder,同时需要在 Excel 参数表中配置 HCL JSON 文件的路径,后续在部署管理域的时候需要使用。

mv /home/admin/all.json /opt/vmware/bringup/tmp/
chmod 644 /opt/vmware/bringup/tmp/all.json
chown vcf_bringup:vcf /opt/vmware/bringup/tmp/all.json

三、NSX Manager 部署技巧

1)增加 NSX Manager 部署的等待时间

VCF 管理域部署期间,在自动部署和配置 NSX 组件的时候花费的时间最长,如果部署环境的硬件性能不好,可能会持续很长时间,最后甚至会失败。可以调整 Cloud Builder 部署 NSX 组件的等待时间,这样也能在超时之前完成部署过程。SSH 以 admin 用户登录到 Cloud Builder 并切换到 root 用户,执行以下命令。

vim /opt/vmware/bringup/webapps/bringup-app/conf/application.properties

增加下面参数:

nsxt.manager.wait.minutes=100 (或者更长)

重启 Cloud Builder 服务。

systemctl restart vcf-bringup

2)修改 NSX Manager 部署节点的数量

默认情况下,部署 NSX Manager 组件的时候会部署 3 个 NSX Manager 节点并配置完整的 NSX 集群。其实,如果只是测试学习,当部署 VCF 环境的宿主机的资源不是很充足的情况下,可以只部署 1 个 NSX Manager 节点,这样还可以大大降低资源的占用。

通过将 Excel 参数表转换成 JSON 配置文件,然后找到 JSON 文件中关于 NSX 的配置,如下所示。

 "nsxtSpec":
  {
    "nsxtManagerSize": "medium",
    "nsxtManagers": [
      {
          "hostname": "vcf-mgmt01-nsx01a",
          "ip": "192.168.32.67"
      },
      {
          "hostname": "vcf-mgmt01-nsx01b",
          "ip": "192.168.32.68"
      },
      {
          "hostname": "vcf-mgmt01-nsx01c",
          "ip": "192.168.32.69"
      }
    ],
    "rootNsxtManagerPassword": "Vcf5@password",
    "nsxtAdminPassword": "Vcf5@password",
    "nsxtAuditPassword": "Vcf5@password",
    "vip": "192.168.32.66",
    "vipFqdn": "vcf-mgmt01-nsx01",

将另外 2 个 NSX Manager 节点从 JSON 文件中删除,如下所示。这样你就可以只部署 1 个节点了。

  "nsxtSpec":
  {
    "nsxtManagerSize": "medium",
    "nsxtManagers": [
      {
          "hostname": "vcf-mgmt01-nsx01a",
          "ip": "192.168.32.67"
      }
    ],
    "rootNsxtManagerPassword": "Vcf5@password",
    "nsxtAdminPassword": "Vcf5@password",
    "nsxtAuditPassword": "Vcf5@password",
    "vip": "192.168.32.66",
    "vipFqdn": "vcf-mgmt01-nsx01",

3)调整 NSX Manager 默认存储策略

同样的原因,当硬件性能不够时,可以通过调整 vSAN 默认的存储策略,将 FTT 修改为 0,也就是没有任务副本,这样在部署 NSX Manager 组件的时候也可以加快部署,等后续 VCF 管理域部署成功之后,再将 NSX Manager 节点的 vSAN 存储策略调整为 vSAN ESA 默认的存储策略(RAID 5)。注意,这需要在 Cloud Builder 部署 NSX Manager 组件之前登录 vSphere Client 进行调整。

4)修改  NSX Manager 内存预留

同样的原因,当硬件资源不够时,可以将 NSX Manager 节点虚拟机的内存配置中的内存预留修改为“0”,也就是不占用分配的全部内存资源。当然这个可根据需要在 VCF 管理域部署成功之后登录 vSphere Client 进行修改。

四、准备 JSON 配置文件

1)Excel 参数表

下面是针对当前环境准备的 Excel 参数表,大家可以有个直观的了解。License 已经过处理。

  • Credentials 参数表

  • Hosts and Networks 参数表

  • Deploy Parameters 参数表

2)JSON 配置文件

后面将使用 JSON 格式的配置文件导入部署,只保留了 1 个 NSX Manager 节点。License 已经过处理。

{
    "subscriptionLicensing": false,
  "skipEsxThumbprintValidation": false,
  "managementPoolName": "vcf-mgmt01-np01",
  "sddcManagerSpec": {
    "secondUserCredentials": {
      "username": "vcf",
      "password": "Vcf5@password"
    },
    "ipAddress": "192.168.32.70",
    "hostname": "vcf-mgmt01-sddc01",
    "rootUserCredentials": {
      "username": "root",
      "password": "Vcf5@password"
    },
    "localUserPassword": "Vcf5@password"
  },
  "sddcId": "vcf-mgmt01",
  "esxLicense": "00000-00000-00000-00000-00000",
  "taskName": "workflowconfig/workflowspec-ems.json",
  "ceipEnabled": false,
  "fipsEnabled": false,
  "ntpServers": ["192.168.32.3"],
  "dnsSpec": {
    "subdomain": "mulab.local",
    "domain": "mulab.local",
    "nameserver": "192.168.32.3"
  },
  "networkSpecs": [
    {
      "networkType": "MANAGEMENT",
      "subnet": "192.168.32.0/24",
      "gateway": "192.168.32.254",
      "vlanId": "0",
      "mtu": "1500",
      "portGroupKey": "vcf-mgmt01-vds01-pg-mgmt",
      "standbyUplinks":[],
      "activeUplinks":[
        "uplink1",
        "uplink2"
      ]
    },
    {
      "networkType": "VMOTION",
      "subnet": "192.168.40.0/24",
      "gateway": "192.168.40.254",
      "vlanId": "40",
      "mtu": "9000",
      "portGroupKey": "vcf-mgmt01-vds01-pg-vmotion",
      "includeIpAddressRanges": [{"endIpAddress": "192.168.40.4", "startIpAddress": "192.168.40.1"}],
      "standbyUplinks":[],
      "activeUplinks":[
        "uplink1",
        "uplink2"
      ]
    },
    {
      "networkType": "VSAN",
      "subnet": "192.168.41.0/24",
      "gateway": "192.168.41.254",
      "vlanId": "41",
      "mtu": "9000",
      "portGroupKey": "vcf-mgmt01-vds02-pg-vsan",
      "includeIpAddressRanges": [{"endIpAddress": "192.168.41.4", "startIpAddress": "192.168.41.1"}],
      "standbyUplinks":[],
      "activeUplinks":[
        "uplink1",
        "uplink2"
      ]
    },
    {
      "networkType": "VM_MANAGEMENT",
      "subnet": "192.168.32.0/24",
      "gateway": "192.168.32.254",
      "vlanId": "0",
      "mtu": "9000",
      "portGroupKey": "vcf-mgmt01-vds01-pg-vm-mgmt",
      "standbyUplinks":[],
      "activeUplinks":[
        "uplink1",
        "uplink2"
      ]
    }
  ],
  "nsxtSpec":
  {
    "nsxtManagerSize": "medium",
    "nsxtManagers": [
      {
          "hostname": "vcf-mgmt01-nsx01a",
          "ip": "192.168.32.67"
      }
    ],
    "rootNsxtManagerPassword": "Vcf5@password",
    "nsxtAdminPassword": "Vcf5@password",
    "nsxtAuditPassword": "Vcf5@password",
    "vip": "192.168.32.66",
    "vipFqdn": "vcf-mgmt01-nsx01",
    "nsxtLicense": "33333-33333-33333-33333-33333",
    "transportVlanId": 42,
    "ipAddressPoolSpec": {
       "name": "vcf-mgmt01-tep01",
       "description": "ESXi Host Overlay TEP IP Pool",
       "subnets":[
          {
             "ipAddressPoolRanges":[
                {
                   "start": "192.168.42.1",
                   "end": "192.168.42.8"
                }
             ],
             "cidr": "192.168.42.0/24",
             "gateway": "192.168.42.254"
          }
       ]
    }
  },
  "vsanSpec": {
      "licenseFile": "11111-11111-11111-11111-11111",
      "vsanDedup": "false",
      "esaConfig": {
        "enabled": true
      },
      "hclFile": "/opt/vmware/bringup/tmp/all.json",
      "datastoreName": "vcf-mgmt01-vsan-esa-datastore01"
  },
  "dvsSpecs": [
    {
      "dvsName": "vcf-mgmt01-vds01",
      "vmnics": [
        "vmnic0",
        "vmnic1"
      ],
      "mtu": 9000,
      "networks":[
        "MANAGEMENT",
        "VMOTION",
        "VM_MANAGEMENT"
      ],
      "niocSpecs":[
        {
          "trafficType":"VSAN",
          "value":"HIGH"
        },
        {
          "trafficType":"VMOTION",
          "value":"LOW"
        },
        {
          "trafficType":"VDP",
          "value":"LOW"
        },
        {
          "trafficType":"VIRTUALMACHINE",
          "value":"HIGH"
        },
        {
          "trafficType":"MANAGEMENT",
          "value":"NORMAL"
        },
        {
          "trafficType":"NFS",
          "value":"LOW"
        },
        {
          "trafficType":"HBR",
          "value":"LOW"
        },
        {
          "trafficType":"FAULTTOLERANCE",
          "value":"LOW"
        },
        {
          "trafficType":"ISCSI",
          "value":"LOW"
        }
      ],
      "nsxtSwitchConfig": {
        "transportZones": [
        {
          "name": "vcf-mgmt01-tz-vlan01",
          "transportType": "VLAN"
        }
        ]
      }
    },
    {
      "dvsName": "vcf-mgmt01-vds02",
      "vmnics": [
        "vmnic2",
        "vmnic3"
      ],
      "mtu": 9000,
      "networks":[
        "VSAN"
      ],
      "nsxtSwitchConfig": {
        "transportZones": [ {
          "name": "vcf-mgmt01-tz-overlay01",
          "transportType": "OVERLAY"
        },
        {
          "name": "vcf-mgmt01-tz-vlan02",
          "transportType": "VLAN"
        }
        ]
      }
    }
  ],
  "clusterSpec":
  {
    "clusterName": "vcf-mgmt01-cluster01",
    "clusterEvcMode": "intel-broadwell",
    "clusterImageEnabled": true,
    "vmFolders": {
      "MANAGEMENT": "vcf-mgmt01-fd-mgmt",
      "NETWORKING": "vcf-mgmt01-fd-nsx",
      "EDGENODES": "vcf-mgmt01-fd-edge"
    }
  },
  "pscSpecs": [
    {
      "adminUserSsoPassword": "Vcf5@password",
      "pscSsoSpec": {
        "ssoDomain": "vsphere.local"
      }
    }
  ],
  "vcenterSpec": {
      "vcenterIp": "192.168.32.65",
      "vcenterHostname": "vcf-mgmt01-vcsa01",
      "licenseFile": "22222-22222-22222-22222-22222",
      "vmSize": "small",
      "storageSize": "",
      "rootVcenterPassword": "Vcf5@password"
  },
  "hostSpecs": [
    {
      "association": "vcf-mgmt01-datacenter01",
      "ipAddressPrivate": {
        "ipAddress": "192.168.32.61"
      },
      "hostname": "vcf-mgmt01-esxi01",
      "credentials": {
        "username": "root",
        "password": "Vcf5@password"
      },
      "sshThumbprint": "SHA256:PYxgi8oEfK3j263pHx3InwL1xjIY1rAYN6pR607NWjc",
      "sslThumbprint": "FF:A2:88:5B:C3:9A:A0:14:CE:ED:6D:F7:CE:5C:55:B6:2B:6D:35:E8:60:AE:79:79:FD:A3:A7:6C:D7:C1:5C:FA",
      "vSwitch": "vSwitch0"
    },
    {
      "association": "vcf-mgmt01-datacenter01",
      "ipAddressPrivate": {
        "ipAddress": "192.168.32.62"
      },
      "hostname": "vcf-mgmt01-esxi02",
      "credentials": {
        "username": "root",
        "password": "Vcf5@password"
      },
      "sshThumbprint": "SHA256:h6HfTvQi/HJxFq48Q4SQH1TevWqNvgEQ1kWARQwpjKw",
      "sslThumbprint": "70:1A:62:4F:B6:A9:A2:E2:AC:6E:4D:28:DE:E5:A8:FE:B1:F3:B0:A0:3F:26:93:86:F1:66:B3:A6:44:50:1F:AE",
      "vSwitch": "vSwitch0"
    },
    {
      "association": "vcf-mgmt01-datacenter01",
      "ipAddressPrivate": {
        "ipAddress": "192.168.32.63"
      },
      "hostname": "vcf-mgmt01-esxi03",
      "credentials": {
        "username": "root",
        "password": "Vcf5@password"
      },
      "sshThumbprint": "SHA256:rniXpvC4JmiXVq7nd+FkjMrX+oTKCM+CgkvglKATgEE",
      "sslThumbprint": "76:84:9E:03:BB:C5:10:FE:72:FC:D3:24:84:71:F5:85:7B:A7:0B:55:7C:7B:0F:BB:83:EA:D7:4F:66:3E:B1:8D",
      "vSwitch": "vSwitch0"
    },
    {
      "association": "vcf-mgmt01-datacenter01",
      "ipAddressPrivate": {
        "ipAddress": "192.168.32.64"
      },
      "hostname": "vcf-mgmt01-esxi04",
      "credentials": {
        "username": "root",
        "password": "Vcf5@password"
      },
      "sshThumbprint": "SHA256:b5tRZdaKBbMUGmXPAph5s6XdMKQ5Mh0pjzgM0A16J/g",
      "sslThumbprint": "97:83:39:DE:C0:D3:99:06:49:FF:1C:E8:BA:76:60:C6:C1:45:19:BD:C9:10:B0:C2:58:AC:71:12:C8:21:A9:BF",
      "vSwitch": "vSwitch0"
    }
  ]
}

五、部署 SDDC 管理域

在准备以上所有环境后,现在正式进入 SDDC 管理域的部署。通过跳板机访问到 Cloud Builder 并完成登录。

选择 VMware Cloud Foundation 平台。

确定接受,点击 NEXT。

已准备好参数配置文件,点击 NEXT。

上传 JSON 配置文件,点击 NEXT。

完成配置文件检查,点击 NEXT。

点击确定部署 SDDC。

开始 SDDC Bringup 构建过程。

可以去吃个饭喝杯咖啡,然后完成部署。

部署过程的全部任务(之前截图)。

DOWNLOAD 部署报告,用了 2 小时。

点击 FINISH,访问 SDDC Manager。

跳转到 vCenter Server 并输入密码登录。

查看 VMware Cloud Foundation 版本。

六、SDDC 管理域相关信息

1)SDDC Manager

  • SDDC Manager 仪表盘

  • SDDC Manager 清单中所有工作负载域

  • vcf-mgmt01 管理工作负载域摘要

  • vcf-mgmt01 管理工作负载域中的主机

  • vcf-mgmt01 管理工作负载域中的集群

  • vcf-mgmt01 管理工作负载域组件证书

  • SDDC Manager 清单中的所有主机

  • SDDC Manager 中所包含的发行版本

  • SDDC Manager 中所创建的网络池

  • SDDC Manager 配置备份

  • SDDC Manager 中组件密码管理

2)NSX Manager

  • NSX 系统配置概览

  • NSX 节点设备

  • NSX 传输节点

  • NSX 配置文件

  • NSX 传输区域

  • NSX 配置备份

3)vCenter Server

  • VCF 管理域的主机和集群

  • VCF 管理域 vSAN ESA 存储架构

  • VCF 管理域相关组件虚拟机

  • VCF 管理域所使用的 vSAN 存储

  • VCF 管理域的分布式交换机配置

  • VCF 管理域 ESXi 主机的网络配置

From:https://www.cnblogs.com/juniormu/p/18305135
本文地址: http://shuzixingkong.net/article/449
0评论
提交 加载更多评论
其他文章 《左耳听风 传奇程序员练级攻略》读书笔记
本书是程序员大牛陈皓的文章汇总,内容包括技术、沟通、工程师文化等,通读之后摘录其中精华部分。开卷有益,能读到摘录部分也会收益,当然最好是去读原文,知识转化效率更高。除本书之外,还有一些他的文章也非常值得阅读,包括程序员如何变现,如何学习英语主题等。
《左耳听风 传奇程序员练级攻略》读书笔记 《左耳听风 传奇程序员练级攻略》读书笔记
Vue入门记录(一)
效果 本文为实现如下前端效果的学习实践记录: 实践 入门的最佳实践我觉得是先去看官网,官网一般都会有快速入门指引。 根据官网的快速上手文档,构建一个新的Vue3+TypeScript,查看新建的项目结构: 现在先重点关注components、views、App.vue与main.ts。 compon
Vue入门记录(一) Vue入门记录(一) Vue入门记录(一)
一下午连续故障两次,谁把我们接口堵死了?!
唉。。。 大家好,我是程序员鱼皮。又来跟着鱼皮学习线上事故的处理经验了喔! 事故现场 周一下午,我们的 编程导航网站 连续出现了两次故障,每次持续半小时左右,现象是用户无法正常加载网站,一直转圈圈。 用户很快就在群里炸开锅了,甚至有用户表示 “我提前进去了,都不敢刷新。。” 看到这些我真的非常难受,
一下午连续故障两次,谁把我们接口堵死了?! 一下午连续故障两次,谁把我们接口堵死了?! 一下午连续故障两次,谁把我们接口堵死了?!
Java 监听POST请求
本文简要介绍了使用Servlet API监听POST请求的完整示例,并给广大读者详细介绍了Servlet的概念及使用方法。
pytest-req插件:更简单的做接口测试
pytest-req插件:更简单的做接口测试 背景 我们经常会用到 pytest 和 requests 进行接口自动化测试。 pytest 提供了非常方便的插件开发能力,在pytest中使用requests库首先会想到是否有已经封装好的插件,就像pytest-playwright、pytest-se
记一次NACOS开放公网访问导致服务器被挖矿的解决流程 [kdcflush] acosd
我要在这里放一段代码块 // 这是一段防爬代码块,我不介意文章被爬取,但请注明出处 console.log("作者主页:https://www.hanzhe.site"); console.log("原文地址:https://www.cnblogs.com/hanzhe
记一次NACOS开放公网访问导致服务器被挖矿的解决流程 [kdcflush] acosd 记一次NACOS开放公网访问导致服务器被挖矿的解决流程 [kdcflush] acosd 记一次NACOS开放公网访问导致服务器被挖矿的解决流程 [kdcflush] acosd
Linux服务器PBS任务队列作业提交脚本的使用方法
本文介绍在Linux服务器中,通过PBS(Portable Batch System)作业管理系统脚本的方式,提交任务到服务器队列,并执行任务的方法~
Linux服务器PBS任务队列作业提交脚本的使用方法 Linux服务器PBS任务队列作业提交脚本的使用方法 Linux服务器PBS任务队列作业提交脚本的使用方法
基于.NET开源、强大易用的短链生成及监控系统
前言 今天大姚给大家分享一个基于.NET开源(MIT License)、免费、强大易用的短链生成及监控系统:SuperShortLink。 项目介绍 SuperShortLink是一个基于.NET开源(MIT License)、免费、强大易用的短链生成及监控系统,包含了短URL的生成、短URL跳转长
基于.NET开源、强大易用的短链生成及监控系统 基于.NET开源、强大易用的短链生成及监控系统 基于.NET开源、强大易用的短链生成及监控系统