Prerequisites

  • Verify that you have Helm charts for the VMware BMA Core platform (VMware-Bare-Metal-Automation-Core-Chart-3.0.0-v2022.7.405-b38.tgz) from VMware download page.
  • Verify that you have container images for VMware BMA Core platform (VMware-Bare-Metal-Automation-Core-3.0.0-v2022.7.405-b38.tar.gz).
  • Verify that your environment has enough resources to accommodate the minimum requirements of the VMware BMA.
  • Verify that you have a machine (with minimum 30 GB disk space) with Docker installed to push VMware BMA container images to your container registry.
  • Verify that you have mapped domain name in a DNS service for your VMware BMA FQDN.
  • Ensure you have a default storage class available on the Kubernetes cluster.
  • Ensure that you have Loadbalancer installed on the Kubernetes cluster. This document explains usage of Metallb loadbalancer as an example.

Procedure

  1. Configure container server or registry.

    You need a container registry to store the container images of VMware BMA.

    VMware verified with Harbor. For more information on Harbor installation, see VMware Telco Cloud Automation Deployment Guide.
  2. Create a public project in Harbor server for VMware BMA Core.
  3. Setup a Kubernetes cluster.
    Note: VMware has validated against VMware Tanzu Kubernetes Grid (TKG) Kubernetes cluster.

    For more information, see Minimum Requirements.

  4. Download the Container images and the Helm charts from the VMware Downloads section.
    md5sum of the images and helm charts are as below:
    • d8ea29d3152670be222818ce1f1e509d VMware-Bare-Metal-Automation-Core-3.0.0-v2022.7.405-b38.tar.gz
    • 06a2fc692a74ba282a68eee6010c55d9 VMware-Bare-Metal-Automation-Core-Chart-3.0.0-v2022.7.405-b38.tgz
  5. Copy the Helm charts to the Kubernetes cluster.
  6. Run the following command to extract the VMware BMA Core tar bundle VMware-Bare-Metal-Automation-Core-3.0.0-v2022.7.405-b38.tar.gz in your machine from where you want to push the container images.
    gunzip VMware-Bare-Metal-Automation-Core-3.0.0-v2022.7.405-b38.tar.gz
  7. Push the container images to your container registry in the public project.

    You can push container images to Harbor server or registry in different ways. The below example explains pushing container images using Docker.

    If Docker is not installed,

    1. Run the following command to start and enable the docker service as sudo if Docker is not installed.
      sudo yum install docker 
      sudo systemctl start docker 
      sudo systemctl enable docker
    2. Run the following command to login to Harbor via Docker.
      docker login harbor_sever_ip -u username -p password
      Example:
      docker login 192.168.10.25 -u admin -p Harbor12345

      In the above example, 192.168.10.25 is the harbor_server_ip, Harbor12345 is the password and admin is the username.

      If Docker login fails, see Docker Login Failure section in Troubleshooting.

    3. Run the following command to load Docker.

      Currently, the repository for VMware BMA Helm charts is 423562884727.dkr.ecr.us-east-1.amazonaws.com.

      docker load -i VMware-Bare-Metal-Automation-Core-3.0.0-v2022.7.405-b38.tar
      994393dc58e7: Loading layer [==================================================>]  5.827MB/5.827MB
      c1028c91aaaa: Loading layer [==================================================>]  109.9MB/109.9MB
      229e2b16c180: Loading layer [==================================================>]  7.888MB/7.888MB
      589d3ff7e046: Loading layer [==================================================>]  3.584kB/3.584kB
      a718107ece0c: Loading layer [==================================================>]  2.048kB/2.048kB
      111061fa764b: Loading layer [==================================================>]  463.9kB/463.9kB
      dee5edbc01b8: Loading layer [==================================================>]  363.5kB/363.5kB
      d48003bfacdd: Loading layer [==================================================>]  77.42MB/77.42MB
      4029444045a2: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-app-gateway-master:v1.17.0
      6977be1a1120: Loading layer [==================================================>]  113.3MB/113.3MB
      42c176c43ffd: Loading layer [==================================================>]   2.56kB/2.56kB
      ce09b1aac7e9: Loading layer [==================================================>]  84.48kB/84.48kB
      32b32f39a969: Loading layer [==================================================>]  129.3MB/129.3MB
      85b5cf05e9fa: Loading layer [==================================================>]  160.3kB/160.3kB
      8aa4c5d73aa9: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-themes-master:v1.46.5
      f1b5933fe4b5: Loading layer [==================================================>]  5.796MB/5.796MB
      9b9b7f3d56a0: Loading layer [==================================================>]  3.584kB/3.584kB
      edd61588d126: Loading layer [==================================================>]  80.28MB/80.28MB
      Loaded image: openjdk:8-jre-alpine
      6dd788b7d09b: Loading layer [==================================================>]  74.35MB/74.35MB
      e4b42219bce6: Loading layer [==================================================>]  1.536kB/1.536kB
      364fda7309a9: Loading layer [==================================================>]  2.048kB/2.048kB
      690d26a7315d: Loading layer [==================================================>]    110MB/110MB
      daf9fa0c039e: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-api-master:v1.130.0
      72e830a4dff5: Loading layer [==================================================>]  5.865MB/5.865MB
      5836ece05bfd: Loading layer [==================================================>]   2.65MB/2.65MB
      34f7184834b2: Loading layer [==================================================>]  317.9MB/317.9MB
      250c11c298f6: Loading layer [==================================================>]  5.504MB/5.504MB
      7bac86259160: Loading layer [==================================================>]  1.536kB/1.536kB
      baa4b860110b: Loading layer [==================================================>]  17.95MB/17.95MB
      c416461d8e44: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-scheduler-master:v1.18.3
      0853d41dbb80: Loading layer [==================================================>]  84.72MB/84.72MB
      636e6cea6e92: Loading layer [==================================================>]   2.56kB/2.56kB
      c08eccd4b7a8: Loading layer [==================================================>]  20.99kB/20.99kB
      b2deeb6860ef: Loading layer [==================================================>]  5.632kB/5.632kB
      f037032a59e2: Loading layer [==================================================>]  3.584kB/3.584kB
      b581fb2b7ad1: Loading layer [==================================================>]  37.44MB/37.44MB
      acfd4053a9d7: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-worker-nodejs-config-master:v1.18.0
      0fcbbeeeb0d7: Loading layer [==================================================>]  5.881MB/5.881MB
      dbd6d554b75d: Loading layer [==================================================>]  817.2kB/817.2kB
      cd08274cc8a9: Loading layer [==================================================>]  27.77MB/27.77MB
      633a92dc2ad8: Loading layer [==================================================>]  4.608kB/4.608kB
      48295f076073: Loading layer [==================================================>]  8.542MB/8.542MB
      bdc70e7488f4: Loading layer [==================================================>]   2.56kB/2.56kB
      f43b9559b44e: Loading layer [==================================================>]  3.584kB/3.584kB
      bed38768b087: Loading layer [==================================================>]  116.2MB/116.2MB
      b447f252632b: Loading layer [==================================================>]  555.5MB/555.5MB
      7c31a1648465: Loading layer [==================================================>]  353.8kB/353.8kB
      0229dd025f63: Loading layer [==================================================>]  11.26kB/11.26kB
      7ca409e22b56: Loading layer [==================================================>]  1.536kB/1.536kB
      963033450474: Loading layer [==================================================>]  60.66MB/60.66MB
      e2a230e63468: Loading layer [==================================================>]  646.7kB/646.7kB
      98bf25872023: Loading layer [==================================================>]  6.308MB/6.308MB
      384dbab78487: Loading layer [==================================================>]   4.49MB/4.49MB
      e03898c2cdb1: Loading layer [==================================================>]  3.072kB/3.072kB
      e1ec175d20c9: Loading layer [==================================================>]  6.656kB/6.656kB
      aa1acee62031: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-ansible-master:v1.10.0
      89ac18ee460b: Loading layer [==================================================>]  238.6kB/238.6kB
      878c5d3194b0: Loading layer [==================================================>]  39.87MB/39.87MB
      1dc71700363a: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: kubernetesui/metrics-scraper:v1.0.1
      ec34fcc1d526: Loading layer [==================================================>]  5.811MB/5.811MB
      063c9a9adbff: Loading layer [==================================================>]   81.6MB/81.6MB
      4a0d6aa7bddc: Loading layer [==================================================>]  7.168kB/7.168kB
      c51c3d51d6fe: Loading layer [==================================================>]  5.632kB/5.632kB
      1a7abb1f416c: Loading layer [==================================================>]  2.307MB/2.307MB
      b30e7b07870c: Loading layer [==================================================>]  19.08MB/19.08MB
      52a54748bb5f: Loading layer [==================================================>]  12.29kB/12.29kB
      b8b7b947c530: Loading layer [==================================================>]  2.048kB/2.048kB
      8d91ca751d8d: Loading layer [==================================================>]  3.072kB/3.072kB
      f8edb242750a: Loading layer [==================================================>]   7.68kB/7.68kB
      927290d3eec6: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-front-master:v1.173.4
      476baebdfbf7: Loading layer [==================================================>]  72.53MB/72.53MB
      93d8d4a59913: Loading layer [==================================================>]  338.4kB/338.4kB
      ba43519ed653: Loading layer [==================================================>]  4.194MB/4.194MB
      4b32cd47950d: Loading layer [==================================================>]  31.73MB/31.73MB
      8d8b11b85449: Loading layer [==================================================>]  2.048kB/2.048kB
      cbdf3b39c399: Loading layer [==================================================>]  3.584kB/3.584kB
      Loaded image: redis:6.2.5
      bdd2dbc0f630: Loading layer [==================================================>]  2.914MB/2.914MB
      81fcfbfaef52: Loading layer [==================================================>]  31.46MB/31.46MB
      e99915b5e7eb: Loading layer [==================================================>]  4.608kB/4.608kB
      1e59f95130e3: Loading layer [==================================================>]   11.5MB/11.5MB
      32cfd03b9172: Loading layer [==================================================>]  5.989MB/5.989MB
      ca5866c3a39c: Loading layer [==================================================>]  87.31MB/87.31MB
      afc9c677b332: Loading layer [==================================================>]   2.56kB/2.56kB
      0e23d9e9e8b0: Loading layer [==================================================>]  22.53kB/22.53kB
      81ad1f4f1c6d: Loading layer [==================================================>]   7.68kB/7.68kB
      a4dc3fc0bc96: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-napalm-master:v3.2.0
      69715584ec78: Loading layer [==================================================>]  5.885MB/5.885MB
      171659ae9bf6: Loading layer [==================================================>]  2.269MB/2.269MB
      09c52f756a07: Loading layer [==================================================>]  45.02MB/45.02MB
      8343cb003e45: Loading layer [==================================================>]   2.56kB/2.56kB
      f5157577b39c: Loading layer [==================================================>]  5.632kB/5.632kB
      7ef664fbe5bf: Loading layer [==================================================>]  5.632kB/5.632kB
      20f928f3d44e: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-versioning-master:v1.18.0
      0360a9dd3ce4: Loading layer [==================================================>]  40.32MB/40.32MB
      8f0fb6101119: Loading layer [==================================================>]   2.56kB/2.56kB
      a357c703ca3a: Loading layer [==================================================>]  4.096kB/4.096kB
      df4c0b242381: Loading layer [==================================================>]  4.608kB/4.608kB
      d194fdc1ef9a: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-textfsm-master:v1.5.0
      d9d07d703dd5: Loading layer [==================================================>]  129.3MB/129.3MB
      4ed121b04368: Loading layer [==================================================>]  11.31MB/11.31MB
      d38adf39e1dd: Loading layer [==================================================>]  19.31MB/19.31MB
      c3d97b4c8180: Loading layer [==================================================>]  11.78kB/11.78kB
      585d2af82849: Loading layer [==================================================>]    154MB/154MB
      c3aebf34537a: Loading layer [==================================================>]  3.072kB/3.072kB
      41cc79677a85: Loading layer [==================================================>]  2.048kB/2.048kB
      07ced48cfc86: Loading layer [==================================================>]  5.632kB/5.632kB
      Loaded image: influxdb:1.8
      a138a8676cac: Loading layer [==================================================>]  97.11MB/97.11MB
      fe94cd34d5ff: Loading layer [==================================================>]  20.48kB/20.48kB
      37278308ece3: Loading layer [==================================================>]  3.584kB/3.584kB
      bfaf0c1d7015: Loading layer [==================================================>]  3.584kB/3.584kB
      dda45d8f1384: Loading layer [==================================================>]   1.51MB/1.51MB
      05f96b7b01f3: Loading layer [==================================================>]  36.86kB/36.86kB
      098b33990a85: Loading layer [==================================================>]  135.1MB/135.1MB
      Loaded image: minio/minio:RELEASE.2022-10-24T18-35-07Z
      Loaded image: minio/minio:latest
      b45078e74ec9: Loading layer [==================================================>]  83.98MB/83.98MB
      ff514d9f6de2: Loading layer [==================================================>]  9.456MB/9.456MB
      4e5cd7ce1ff9: Loading layer [==================================================>]  10.73MB/10.73MB
      d52c8638055c: Loading layer [==================================================>]  606.1MB/606.1MB
      57204f5c6304: Loading layer [==================================================>]  3.072kB/3.072kB
      1ba5a1542e08: Loading layer [==================================================>]  25.95MB/25.95MB
      Loaded image: fluent/fluent-bit:1.9-debug
      5242cd795028: Loading layer [==================================================>]  19.22MB/19.22MB
      286ccd57a256: Loading layer [==================================================>]  3.584kB/3.584kB
      8d14dc56a724: Loading layer [==================================================>]  4.608kB/4.608kB
      7c4dfec5a9f2: Loading layer [==================================================>]  3.584kB/3.584kB
      b85443563c06: Loading layer [==================================================>]  7.168kB/7.168kB
      4069db5b8310: Loading layer [==================================================>]  201.2kB/201.2kB
      dcb2f84b6ac9: Loading layer [==================================================>]  791.6kB/791.6kB
      689347ecceef: Loading layer [==================================================>]  6.656kB/6.656kB
      424203b303b1: Loading layer [==================================================>]  6.656kB/6.656kB
      7f206274b50d: Loading layer [==================================================>]  18.94kB/18.94kB
      e891fff873d2: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-proxy-master:v1.27.0
      e202d8a07c6d: Loading layer [==================================================>]  74.35MB/74.35MB
      277e88a6a91e: Loading layer [==================================================>]  1.536kB/1.536kB
      836533d98b95: Loading layer [==================================================>]  2.048kB/2.048kB
      0c297a072935: Loading layer [==================================================>]  23.58MB/23.58MB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-api-radius-master:v1.6.0
      f1f6e22747cf: Loading layer [==================================================>]  109.9MB/109.9MB
      799bdbca4850: Loading layer [==================================================>]  7.888MB/7.888MB
      b91dc7697d96: Loading layer [==================================================>]  3.584kB/3.584kB
      c3399c5c3307: Loading layer [==================================================>]  2.048kB/2.048kB
      ebf763c85435: Loading layer [==================================================>]  71.68kB/71.68kB
      8c7b4ac6a58f: Loading layer [==================================================>]  337.9kB/337.9kB
      c2807e55899e: Loading layer [==================================================>]  66.59MB/66.59MB
      3ab0668d7138: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-compiler-master:v1.21.0
      af7ed92504ae: Loading layer [==================================================>]  75.15MB/75.15MB
      9d97780abd6b: Loading layer [==================================================>]  2.498MB/2.498MB
      132758df0ae8: Loading layer [==================================================>]  125.6MB/125.6MB
      30951ea94781: Loading layer [==================================================>]  345.1kB/345.1kB
      a5c966b6f2c8: Loading layer [==================================================>]  20.03MB/20.03MB
      a408bfffad6a: Loading layer [==================================================>]  4.608kB/4.608kB
      6cb192dc9d40: Loading layer [==================================================>]  1.536kB/1.536kB
      792d47182440: Loading layer [==================================================>]  17.41kB/17.41kB
      Loaded image: rabbitmq:3.8
      bb4173a55532: Loading layer [==================================================>]  106.8MB/106.8MB
      447c959ed7ca: Loading layer [==================================================>]  11.26kB/11.26kB
      7623ecfa9ced: Loading layer [==================================================>]  2.293MB/2.293MB
      15b866165bfa: Loading layer [==================================================>]   13.9MB/13.9MB
      74f1760df263: Loading layer [==================================================>]  7.168kB/7.168kB
      216abd9deea9: Loading layer [==================================================>]  3.072kB/3.072kB
      31d80fb1385c: Loading layer [==================================================>]  178.4MB/178.4MB
      a0b5c1c527f1: Loading layer [==================================================>]  3.072kB/3.072kB
      4b256c6ebea5: Loading layer [==================================================>]  246.4MB/246.4MB
      a9cc8f217428: Loading layer [==================================================>]  17.41kB/17.41kB
      fd69a81fbde1: Loading layer [==================================================>]  1.536kB/1.536kB
      Loaded image: mysql:8.0
      01a5867299f0: Loading layer [==================================================>]  92.03MB/92.03MB
      Loaded image: kubernetesui/dashboard:v2.0.0-beta6
      9a5d14f9f550: Loading layer [==================================================>]  5.885MB/5.885MB
      515eb4360b11: Loading layer [==================================================>]  8.192kB/8.192kB
      c4e5e30c0349: Loading layer [==================================================>]  81.27MB/81.27MB
      8501b50fb716: Loading layer [==================================================>]   2.56kB/2.56kB
      75b362556f49: Loading layer [==================================================>]  4.096kB/4.096kB
      47aa1d8ef235: Loading layer [==================================================>]  32.77kB/32.77kB
      1172b8c96270: Loading layer [==================================================>]   7.68kB/7.68kB
      3f8b8417a6e4: Loading layer [==================================================>]  19.97kB/19.97kB
      5e3203c91586: Loading layer [==================================================>]  154.1kB/154.1kB
      bf9d851f930e: Loading layer [==================================================>]  5.632kB/5.632kB
      1728d98c313a: Loading layer [==================================================>]  2.048kB/2.048kB
      0c2e4a9837f3: Loading layer [==================================================>]  13.36MB/13.36MB
      bc465fed4347: Loading layer [==================================================>]  394.2kB/394.2kB
      1eb13f0e1533: Loading layer [==================================================>]  2.272MB/2.272MB
      ecbad4542c40: Loading layer [==================================================>]  36.37MB/36.37MB
      2d7e9384f8bc: Loading layer [==================================================>]  13.31kB/13.31kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-worker-nodejs-master:v1.96.0
      7fa0399788b6: Loading layer [==================================================>]  2.238MB/2.238MB
      e81d937994a7: Loading layer [==================================================>]  2.048kB/2.048kB
      aa5f7128b4c2: Loading layer [==================================================>]  5.497MB/5.497MB
      ed4e4b5497d4: Loading layer [==================================================>]  5.632kB/5.632kB
      4268d3390a9f: Loading layer [==================================================>]  7.168kB/7.168kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-trigger-master:v1.37.0
      0438ade5aeea: Loading layer [==================================================>]  1.459MB/1.459MB
      Loaded image: busybox:latest
      fa9b438e48f4: Loading layer [==================================================>]  3.686MB/3.686MB
      cacee284090d: Loading layer [==================================================>]  18.35MB/18.35MB
      e83d4114481d: Loading layer [==================================================>]  2.365MB/2.365MB
      4db385dac8e3: Loading layer [==================================================>]  17.48MB/17.48MB
      c5d282a407bf: Loading layer [==================================================>]  340.5kB/340.5kB
      8c4b76c07872: Loading layer [==================================================>]  25.95MB/25.95MB
      Loaded image: fluent/fluent-bit:1.9
      af5cd07c8fb8: Loading layer [==================================================>]  1.536kB/1.536kB
      978297bcc5ae: Loading layer [==================================================>]  5.336MB/5.336MB
      c5ca7f5d202d: Loading layer [==================================================>]  3.072kB/3.072kB
      54e794a467a0: Loading layer [==================================================>]  3.072kB/3.072kB
      af74a1e252b7: Loading layer [==================================================>]  3.958MB/3.958MB
      72ee9c118ea5: Loading layer [==================================================>]  3.072kB/3.072kB
      57fed2e5bee0: Loading layer [==================================================>]  94.21kB/94.21kB
      48ffba4d52e6: Loading layer [==================================================>]  31.23kB/31.23kB
      cc81263a7603: Loading layer [==================================================>]  7.452MB/7.452MB
      6bdf80ce1b96: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-db-migration-master:v1.34.0
      199ab45ec975: Loading layer [==================================================>]  110.2MB/110.2MB
      747e1b430ef5: Loading layer [==================================================>]   2.56kB/2.56kB
      bcac81c7118d: Loading layer [==================================================>]  5.632kB/5.632kB
      394cf7dcb387: Loading layer [==================================================>]  8.192kB/8.192kB
      55d7946fcab8: Loading layer [==================================================>]  4.096kB/4.096kB
      dd6e4782e16a: Loading layer [==================================================>]  25.09kB/25.09kB
      3081c35a291e: Loading layer [==================================================>]  5.632kB/5.632kB
      53a8b966eefc: Loading layer [==================================================>]   5.12kB/5.12kB
      379b3b1130af: Loading layer [==================================================>]  4.608kB/4.608kB
      b98f88235e65: Loading layer [==================================================>]  21.94MB/21.94MB
      9a81f60f6ec2: Loading layer [==================================================>]  2.048kB/2.048kB
      20e2537f5e0f: Loading layer [==================================================>]  76.76MB/76.76MB
      1d3436caeb2b: Loading layer [==================================================>]  78.94MB/78.94MB
      1be912757ca2: Loading layer [==================================================>]  58.26MB/58.26MB
      e78c76ce4707: Loading layer [==================================================>]  50.31MB/50.31MB
      68311fc38823: Loading layer [==================================================>]  15.13MB/15.13MB
      f4e537f2e2ea: Loading layer [==================================================>]  28.67kB/28.67kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-worker-nodejs-remote-master:v1.35.0
      af7c3dff418f: Loading layer [==================================================>]  101.5MB/101.5MB
      cfd365fa5138: Loading layer [==================================================>]   7.66MB/7.66MB
      92db18d3c4c1: Loading layer [==================================================>]  3.584kB/3.584kB
      e2d8c95783e4: Loading layer [==================================================>]  2.048kB/2.048kB
      4b8a475bd9fc: Loading layer [==================================================>]  28.16kB/28.16kB
      ae01d6213532: Loading layer [==================================================>]  3.491MB/3.491MB
      183b1d395b66: Loading layer [==================================================>]  12.29kB/12.29kB
      0774e3d0f6f8: Loading layer [==================================================>]  2.048kB/2.048kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-mqws-master:v1.4.0
      f1417ff83b31: Loading layer [==================================================>]  7.338MB/7.338MB
      36cfeadc8af0: Loading layer [==================================================>]  3.584kB/3.584kB
      8474c636b937: Loading layer [==================================================>]  3.072kB/3.072kB
      9ba27141c663: Loading layer [==================================================>]  2.048kB/2.048kB
      f9d0b873e031: Loading layer [==================================================>]  53.55MB/53.55MB
      6beff436bdf0: Loading layer [==================================================>]  3.072kB/3.072kB
      dc86122f0336: Loading layer [==================================================>]  56.37MB/56.37MB
      de355be3ccaa: Loading layer [==================================================>]  26.05MB/26.05MB
      173ce71f9a79: Loading layer [==================================================>]  171.3MB/171.3MB
      d37e642d332c: Loading layer [==================================================>]  7.013MB/7.013MB
      42707f239c0a: Loading layer [==================================================>]  12.29kB/12.29kB
      b2bb9be4bcfc: Loading layer [==================================================>]   12.8kB/12.8kB
      7ad3108371be: Loading layer [==================================================>]  6.656kB/6.656kB
      a40030452cdf: Loading layer [==================================================>]  3.072kB/3.072kB
      c6a794f1f903: Loading layer [==================================================>]  4.096kB/4.096kB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-toolbox-develop:v0.1.1
      69aac02c0073: Loading layer [==================================================>]  3.452MB/3.452MB
      529961d467e9: Loading layer [==================================================>]  48.03MB/48.03MB
      5a2151a98c6c: Loading layer [==================================================>]  1.536kB/1.536kB
      4b7686ed7605: Loading layer [==================================================>]  20.07MB/20.07MB
      Loaded image: 423562884727.dkr.ecr.us-east-1.amazonaws.com/bma-utils-master:v1.0.0
      
  8. Run the following command to tag the container images through docker.
    docker tag <loaded_image_location> <registry_image_location>

    In the following example, 192.168.10.25 is the IP address of the Harbor server and vmware-bma-core is the public project created in the Harbor server.

    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-app-gateway-master:v1.17.0 192.168.10.25/vmware-bma-core/pliant-app-gateway-master:v1.17.0
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-themes-master:v1.46.5 192.168.10.25/vmware-bma-core/addon-themes-master:v1.46.5
    docker tag openjdk:8-jre-alpine 192.168.10.25/vmware-bma-core/openjdk:8-jre-alpine
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-api-master:v1.130.0 192.168.10.25/vmware-bma-core/pliant-api-master:v1.130.0
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-scheduler-master:v1.18.3 192.168.10.25/vmware-bma-core/pliant-scheduler-master:v1.18.3
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-worker-nodejs-config-master:v1.18.0 192.168.10.25/vmware-bma-core/pliant-worker-nodejs-config-master:v1.18.0
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-ansible-master:v1.10.0 192.168.10.25/vmware-bma-core/addon-ansible-master:v1.10.0
    docker tag kubernetesui/metrics-scraper:v1.0.1 192.168.10.25/vmware-bma-core/kubernetesui/metrics-scraper:v1.0.1
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-front-master:v1.173.4 192.168.10.25/vmware-bma-core/pliant-front-master:v1.173.4
    docker tag redis:6.2.5 192.168.10.25/vmware-bma-core/redis:6.2.5
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-napalm-master:v3.2.0 192.168.10.25/vmware-bma-core/addon-napalm-master:v3.2.0
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-versioning-master:v1.18.0 192.168.10.25/vmware-bma-core/pliant-versioning-master:v1.18.0
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-textfsm-master:v1.5.0 192.168.10.25/vmware-bma-core/addon-textfsm-master:v1.5.0
    docker tag influxdb:1.8 192.168.10.25/vmware-bma-core/influxdb:1.8
    docker tag minio/minio:RELEASE.2022-10-24T18-35-07Z 192.168.10.25/vmware-bma-core/minio/minio:RELEASE.2022-10-24T18-35-07Z
    docker tag minio/minio:latest 192.168.10.25/vmware-bma-core/minio/minio:latest
    docker tag fluent/fluent-bit:1.9-debug 192.168.10.25/vmware-bma-core/fluent/fluent-bit:1.9-debug
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-proxy-master:v1.27.0 192.168.10.25/vmware-bma-core/pliant-proxy-master:v1.27.0
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-api-radius-master:v1.6.0 192.168.10.25/vmware-bma-core/pliant-api-radius-master:v1.6.0
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-compiler-master:v1.21.0 192.168.10.25/vmware-bma-core/pliant-compiler-master:v1.21.0
    docker tag rabbitmq:3.8 192.168.10.25/vmware-bma-core/rabbitmq:3.8
    docker tag mysql:8.0 192.168.10.25/vmware-bma-core/mysql:8.0
    docker tag kubernetesui/dashboard:v2.0.0-beta6 192.168.10.25/vmware-bma-core/kubernetesui/dashboard:v2.0.0-beta6
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-worker-nodejs-master:v1.96.0 192.168.10.25/vmware-bma-core/pliant-worker-nodejs-master:v1.96.0
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-trigger-master:v1.37.0 192.168.10.25/vmware-bma-core/addon-trigger-master:v1.37.0
    docker tag busybox:latest 192.168.10.25/vmware-bma-core/busybox:latest
    docker tag fluent/fluent-bit:1.9 192.168.10.25/vmware-bma-core/fluent/fluent-bit:1.9
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-db-migration-master:v1.34.0 192.168.10.25/vmware-bma-core/pliant-db-migration-master:v1.34.0
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/pliant-worker-nodejs-remote-master:v1.35.0 192.168.10.25/vmware-bma-core/pliant-worker-nodejs-remote-master:v1.35.0
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-mqws-master:v1.4.0 192.168.10.25/vmware-bma-core/addon-mqws-master:v1.4.0
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/addon-toolbox-develop:v0.1.1 192.168.10.25/vmware-bma-core/addon-toolbox-develop:v0.1.1
    docker tag 423562884727.dkr.ecr.us-east-1.amazonaws.com/bma-utils-master:v1.0.0 192.168.10.25/vmware-bma-core/bma-utils-master:v1.0.0
    
  9. Run the following command to perform docker push to Harbor registry.
    docker push <registry_image_location>
    In the below example, 192.168.10.25 is the IP address of the Harbor server and vmware-bma-core is the public project created in the Harbor server.
    docker push 192.168.10.25/vmware-bma-core/pliant-app-gateway-master:v1.17.0
    docker push 192.168.10.25/vmware-bma-core/addon-themes-master:v1.46.5
    docker push 192.168.10.25/vmware-bma-core/openjdk:8-jre-alpine
    docker push 192.168.10.25/vmware-bma-core/pliant-api-master:v1.130.0
    docker push 192.168.10.25/vmware-bma-core/pliant-scheduler-master:v1.18.3
    docker push 192.168.10.25/vmware-bma-core/pliant-worker-nodejs-config-master:v1.18.0
    docker push 192.168.10.25/vmware-bma-core/addon-ansible-master:v1.10.0
    docker push 192.168.10.25/vmware-bma-core/kubernetesui/metrics-scraper:v1.0.1
    docker push 192.168.10.25/vmware-bma-core/pliant-front-master:v1.173.4
    docker push 192.168.10.25/vmware-bma-core/redis:6.2.5
    docker push 192.168.10.25/vmware-bma-core/addon-napalm-master:v3.2.0
    docker push 192.168.10.25/vmware-bma-core/pliant-versioning-master:v1.18.0
    docker push 192.168.10.25/vmware-bma-core/addon-textfsm-master:v1.5.0
    docker push 192.168.10.25/vmware-bma-core/influxdb:1.8
    docker push 192.168.10.25/vmware-bma-core/minio/minio:RELEASE.2022-10-24T18-35-07Z
    docker push 192.168.10.25/vmware-bma-core/minio/minio:latest
    docker push 192.168.10.25/vmware-bma-core/fluent/fluent-bit:1.9-debug
    docker push 192.168.10.25/vmware-bma-core/pliant-proxy-master:v1.27.0
    docker push 192.168.10.25/vmware-bma-core/pliant-api-radius-master:v1.6.0
    docker push 192.168.10.25/vmware-bma-core/pliant-compiler-master:v1.21.0
    docker push 192.168.10.25/vmware-bma-core/rabbitmq:3.8
    docker push 192.168.10.25/vmware-bma-core/mysql:8.0
    docker push 192.168.10.25/vmware-bma-core/kubernetesui/dashboard:v2.0.0-beta6
    docker push 192.168.10.25/vmware-bma-core/pliant-worker-nodejs-master:v1.96.0
    docker push 192.168.10.25/vmware-bma-core/addon-trigger-master:v1.37.0
    docker push 192.168.10.25/vmware-bma-core/busybox:latest
    docker push 192.168.10.25/vmware-bma-core/fluent/fluent-bit:1.9
    docker push 192.168.10.25/vmware-bma-core/pliant-db-migration-master:v1.34.0
    docker push 192.168.10.25/vmware-bma-core/pliant-worker-nodejs-remote-master:v1.35.0
    docker push 192.168.10.25/vmware-bma-core/addon-mqws-master:v1.4.0
    docker push 192.168.10.25/vmware-bma-core/addon-toolbox-develop:v0.1.1
    docker push 192.168.10.25/vmware-bma-core/bma-utils-master:v1.0.0

    If Docker push fails, see Docker Push Failure in Troubleshooting.

    In Total, container registry public project, here Harbor project, must contain 30 container images for VMware BMA Core.

  10. Trust the insecure registry.

    For https based Harbor, you must download the Harbor certificate and save it under /etc/ssl/certs so that Docker trusts the self-signed certificate.

  11. Establish certificates trust between Harbor server and Kubernetes cluster.
    Add Harbor as partner systems in VMware TCA and associate it with the Kubernetes cluster on top of which VMware BMA runs. This step is required to avoid any certificates related issues while the pods come up.

    For more information, see Add a Partner System to VMware Telco Cloud Automation.

  12. Place the file VMware-Bare-Metal-Automation-Core-Chart-3.0.0-v2022.7.405-b38.tgz on your Kubernetes cluster.
  13. Validate Certificate.
    Certificate validation is the process of establishing the trust between VMware BMA Remote Workers and:
    • VMware BMA Core
    • Any third party TLS communication (Example: iDRAC servers)

    Once the VMware BMA Core installation is complete, the default embedded workers have certificate validation enabled by default. You can disable certificate validation from the VMware BMA Web UI, if it is not required. For more information, see step 14.

    For any external remote worker groups, see Deploy VMware BMA Remote Worker.

    All the servers shipped by Hardware vendors such as Dell, HPE can have certificates signed by one Enterprise CA and customer can add this CA certificate as Trusted CA in VMware BMA Web UI to get the authentication working. For more information, see Create Trusted Certificate. If this is not done, workflow authentication fails while trying any TLS communication.

  14. Create the overrides values YAML file, bma-core-values.yaml, with the following content.
    VMware BMA Helm charts installation with Signed certificates

    bma-core-values.yaml

    # if true, will delete all the PVs and PVCs, created by StatefulSets, during helm uninstall
    deletePersistentVolumes: true
    # if exists - tries to install license, specified by parameter 
    # if license is not set here then customer will have to update the license information from the BMA Core UI post installation.
    license: '<copy your license key>' 
     
    # required - sets the registry for this chart's images. Does not have default value.
    # example, imageRegistry: 192.168.10.25/vmware-bma-core
    imageRegistry: <FQDN/IP>/<VMware BMA Core project name in harbor>
     
    # if set, used as value of imagePullSecrets directive for all images pulled from imageRegistry
    # imagePullSecretName:
    usePublicRegistry: false # optional; used with the public images in the common section; if not enabled - the imageRegistry is used
     
    bma:
      instance:
        # admin_password: "..."
        # scheduler_password: "..."
        worker_group_name: default
        # worker_group_secret_key: "..."
        address: "https://telco-baremetal-automation.local" # optional; sets the host address (with https:// protocol prefix) of this instance, ex. "https://my.host.com". Mandatory if external certificate is set - certificate must match the hostname part of the address
      certificates:
        tls:
          autogen:
            cn: "telco-baremetal-automation.local"
            daysValid: 1826
          # explicitly set TLS certificate and key in plain PEM format or Base64 encoded PEM; if both set, these values override existing TLS cert
          cert: |
                -----BEGIN CERTIFICATE-----
                MIID6jCCAtKgAwIBAgIEPJ/xUjANBgkqhkiG9w0BAQsFADCBjTELMAkGA1UEBhMC
                VVMxKTAnBgNVBAMMIHRlbGNvLWJhcmVtZXRhbC1hdXRvbWF0aW9uLmxvY2FsMRMw
                EQYDVQQIDApDYWxpZm9ybmlhMRIwEAYDVQQHDAlQYWxvIEFsdG8xFDASBgNVBAoM
                C1ZNd2FyZSwgSW5jMRQwEgYDVQQLDAtUZWxjbyBDbG91ZDAeFw0yMjExMDkwNjIz
                MDFaFw0yNzExMDgwNjIzMDFaMIGNMQswCQYDVQQGEwJVUzEpMCcGA1UEAwwgdGVs
                Y28tYmFyZW1ldGFsLWF1dG9tYXRpb24ubG9jYWwxEzARBgNVBAgMCkNhbGlmb3Ju
                aWExEjAQBgNVBAcMCVBhbG8gQWx0bzEUMBIGA1UECgwLVk13YXJlLCBJbmMxFDAS
                BgNVBAsMC1RlbGNvIENsb3VkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
                AQEApCG9nv+a1/IWTzeIiCG74sww1bFeF3z6phYnryve0Y17SOSAZ9LbE4sdi4Db
                l5rzGmaIiiZcJer7pIqseaApscRicujzn5iMM8l9k0XQQAez7DIqs9UR64kQghxb
                X0KVSvLoJup4B/8WLBbom2Udqctzo6VPvlbZy1md8w9byBe89SfspgMkJBumvZ4A
                55Wos42EUJC6g7QmroFDgqZCdimT2E7XPCbDhu3wPywUbeuqRoasgNsirpuyL/LX
                w4nC/sdsPzSOyfJrWcmZHPiEnH54DdUGGIkt2Unxyi3hRbmYmsNHLQW8sQM+LbwN
                +5Gik2t5q3TUzRpKz2dJDUdlHQIDAQABo1AwTjAdBgNVHQ4EFgQUZ26/Lr/TSa25
                +2XrjygBL45Hv6UwHwYDVR0jBBgwFoAUZ26/Lr/TSa25+2XrjygBL45Hv6UwDAYD
                VR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAWBA30D6GNSHXRO8RExGzf8DC
                KkpBGEBmYGC0oiq1hsr3q+360E7Sf8YvgC/7t0OKISrrkUg1CRn5qruQJ+dh3sWA
                5Rfer9wInARrzxhgusIFxaUBl/A35WmpCtDkAs3vWKo3qWMdny1EZDwpbsyiUYrT
                KQtezAzM940s80lmju2FXAPx/MZZTIu9X0bbBrxpzHtV9egjfkn2beOn6LQnATua
                jq7hqjm3jzVIwIH1ciDOESww78F8OfZyXuVqVqqgYmRgTY8iVgV0KxNUFB/K4lBy
                fMbN9w5lXsHOwB0dVrrgJuyZfuX3VXr6taTnADWPfAFPjjyhojHQsn/x+n06WA==
                -----END CERTIFICATE-----
          key:  |
                -----BEGIN PRIVATE KEY-----
                MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCkIb2e/5rX8hZP
                N4iIIbvizDDVsV4XfPqmFievK97RjXtI5IBn0tsTix2LgNuXmvMaZoiKJlwl6vuk
                iqx5oCmxxGJy6POfmIwzyX2TRdBAB7PsMiqz1RHriRCCHFtfQpVK8ugm6ngH/xYs
                FuibZR2py3OjpU++VtnLWZ3zD1vIF7z1J+ymAyQkG6a9ngDnlaizjYRQkLqDtCau
                gUOCpkJ2KZPYTtc8JsOG7fA/LBRt66pGhqyA2yKum7Iv8tfDicL+x2w/NI7J8mtZ
                yZkc+IScfngN1QYYiS3ZSfHKLeFFuZiaw0ctBbyxAz4tvA37kaKTa3mrdNTNGkrP
                Z0kNR2UdAgMBAAECggEBAIJ3q6J67hwf/Knlq+sCXbavt1X2UqP7HcbuL4doKQuM
                Gmbb9FITYz/KwqaEvIlrizj+LiUazv75JiUqcmWP8fSz9cn/8MB5Y2E7Fk3+Hcb4
                GIZ1bkpa4Y7H+k5iuiMj60aThgSBNv6sP3S2lRoJK6Yv6nE31AaqRSAG0a5HFB8d
                sZ01N4ryUFDg1xuuiRZeAbwL80Tx9I81z4Uikzi72KAl6dDOr8kXialk64bOofLf
                u8fsqGclJ1EPFPDDLn6zCp/mdEdtfR09h5N8M622BM5afVBjtiRyDfBD4Ht286Mk
                ooc3h67/nS+57uuuSp0n5A4F2QVotMM/73KYb+37KOECgYEAzTPBSezCiLukOX+8
                TZqLdJkJfviHyUZP0KZ6tbXs3crNTKTfauoB8YIaLjt1Q5e216macxRdx3yRY71e
                LtGp72Ulf+QFzqgrD95rP3qoyMTTJqG7M/FibA7F2d+p8ZBmKUKN+VSoDkgKNJBq
                9ujY3gZcGBW9fskwhvsH+f6A5qkCgYEAzMM9V/v7TBz8NKxHVHve6iuyaxI4HsDd
                6YX8/UPDU+mOOad0ZK43vGgv+essHdQPeOroSBajO1nfOrzmo/3zVr91+wK3GW/s
                q8c5Qzsn+ydk5Ay827hMVU5MXSYuI/5tPZDCZzHFh7CwRraiFniukeqjxuXF6Q4g
                SdMa4yHYt1UCgYEAu5L6tduRu7FinhjQhVOm9I9L6d+/J9J49S6o7t98xQU0A0KW
                48FCw4P88JPzTjUpsxvbDiTo0Ihi0nxw0nVfVHDuBWjnkg+RRXE4Mg+qp9ObfC3M
                1N9q64HZg557V1B6wm6PHwIumNdrVL9Kt6cDTnkbx/xferzn+gsQMIpfQ/kCgYEA
                vycg1EtjXLnOZGnUKTV+c4OZi0U16NfKEqBH/jNNXL+zS3VdPkQ5ugRVjW0TAUGf
                tBUwBWREvDp5H7+LXNrNWVVhkZQGVJPdELvqZC4Mc/VhxVdy03eooxZ2SZtEBcwW
                NRw3r9iR+8thtJH4nRvKdGPkwuBsMtZCJEkUV6eYRgUCgYAlKKlhq9pIIsEOWceE
                OSzdjvScfrmnK+eEnsCMVOH+2whXOu8jK3/ONMMRXvkstl4akjAqO9CWpLAwqYzm
                Hn30r1Ptp5Q1HCjDaVOegweK3Ld8XLTAGhlz5wdTtMxp4ay+1zA2JeHMGzSzatp7
                6i1k0/eUinLv9e2pJITGQwuzXw==
                -----END PRIVATE KEY-----
    VMware BMA Helm charts installation with Self-Signed or auto-generated certificates
    • Enter licence key in licence.
      Note: If you do not enter licence during installation, you can enter licence key later through VMware BMA UI.
    • You must enter image registry information in imageRegistry.
    • Enter password in admin_password
    # if true, will delete all the PVs and PVCs, created by StatefulSets, during helm uninstall
    deletePersistentVolumes: true
    # if exists - tries to install license, specified by parameter
    # if license is not set here then customer will have to update the license information from the BMA Core UI post installation.
    license: '<copy your license key>'
     
    # required - sets the registry for this chart's images. Does not have default value.
    # example, imageRegistry: 192.168.10.25/vmware-bma-core
    imageRegistry: <FQDN/IP>/<VMware BMA Core project name in harbor>
     
    # if set, used as value of imagePullSecrets directive for all images pulled from imageRegistry
    # imagePullSecretName:
    usePublicRegistry: false # optional; used with the public images in the common section; if not enabled - the imageRegistry is used
     
    bma:
      instance:
        # admin_password: "..."
        # scheduler_password: "..."
        worker_group_name: default
        # worker_group_secret_key: "..."
        address: "" # optional; sets the host address (with https:// protocol prefix) of this instance, ex. "https://my.host.com". Mandatory if external certificate is set - certificate must match the hostname part of the address
      certificates:
        tls:
          autogen:
            cn: "telco-baremetal-automation.local"
            daysValid: 1826
          # explicitly set TLS certificate and key in plain PEM format or Base64 encoded PEM; if both set, these values override existing TLS cert
          cert: "" # ex. "-----BEGIN CERTIFICATE-----\n..."
          key: "" # ex. "-----BEGIN PRIVATE KEY-----\n..."

    If self-signed certificate attribute is empty in the Helm chart, then a default auto-generated certificate is assigned. If an external self-signed certificate is assigned, then the Common Name (CN) used in the certificate must be assigned to bma.instance.address field in the helm chart values yaml file.

    Example: If the Common Name used in the certificate is telco-baremetal-automation.local then the value of address must be https://telco-baremetal-automation.local

  15. Run the following command to install VMware BMA.
    helm install <name of the service> -n bma-core --create-namespace -f <overrides Helm chart values file> ./<name of the Helm chart zipped tar bundle.>
    helm install vmware-bma-core -n bma-core --create-namespace -f bma-core-values.yaml ./VMware-Bare-Metal-Automation-Core-Chart-3.0.0-v2022.7.405-b38.tgz
     
    NAME: vmware-bma-core
    LAST DEPLOYED: Fri Apr  10 12:31:07 2023
    NAMESPACE: bma-core
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None
    • vmware-bma-core is the name of the service
    • bma-core is the name of the namespace
    • bma-core-values.yaml is the overrides Helm chart values file.
    • VMware-Bare-Metal-Automation-Core-Chart-3.0.0-v2022.7.405-b38.tgz is the name of the Helm charts zipped tar bundle.
  16. Run the following command to verify if all the pods are running.
    kubectl get pods -n bma-core
    In total, 27 pods are operational after installation.
  17. Install Loadbalancer.
    VMware validated against Metallb.
    1. Download Metallb tar bundle.
    2. Create a namespace to install Loadbalancer.
    3. Run the following command to install the metallb service using the helm-charts provided.
      helm install metallb ./metallb-0.13.7.tgz -n metallb-system --create-namespace
      The example given below uses metallb-system namespace.
      capv@wc-dev-master-control-plane-fcg4g [ ~ ]$ helm install metallb ./metallb-0.13.7.tgz -n metallb-system --create-namespace
       
      NAME: metallb
      LAST DEPLOYED: Fri Apr  10 12:38:50 2023
      NAMESPACE: metallb-system
      STATUS: deployed
      REVISION: 1
      TEST SUITE: None
      NOTES:
      MetalLB is now running in the cluster.
    4. Run the following command to verify if the pods are running.
      kubectl get pods -n metallb-system
      The example given below uses metallb-system namespace.
      capv@wc-dev-master-control-plane-fcg4g [ ~ ]$ kubectl get pods -n metallb-system
       
      NAME                                 READY   STATUS    RESTARTS   AGE
      metallb-controller-7567fb574-65hcg   1/1     Running   0          21s
      metallb-speaker-7l7f8                1/1     Running   0          21s
      metallb-speaker-8nmbc                1/1     Running   0          21s
      metallb-speaker-m5w9n                1/1     Running   0          21s
      metallb-speaker-s4kbj                1/1     Running   0          21s
      metallb-speaker-v5xqj                1/1     Running   0          21s
    5. Create two files ippool.yaml and l2ad.yaml with the following content.
      Note: You must specify the same namespace you created for Metallb loadbalancer.

      l2ad.yaml

      apiVersion: metallb.io/v1beta1
      kind: L2Advertisement
      metadata:
        name: example
        namespace: metallb-system

      ippool.yaml

      apiVersion: metallb.io/v1beta1
      kind: IPAddressPool
      metadata:
        name: first-pool
        namespace: metallb-system
      spec:
        addresses:
        - 192.168.10.1 - 192.168.10.3
      Enter your IP Address Pool range in ippool.yaml file. Among the range provided, one IP address is assigned to the loadbalancer.
    6. Run the following command to apply ippool.yaml and l2ad.yaml files.
      kubectl apply -f l2ad.yaml
      kubectl apply -f ippool.yaml
  18. Run the following command to verify if VMware BMA services are running.
    kubectl get services -n bma-core

    An external IP address is assigned to the load balancer. You can access the VMware BMA Web UI using this IP address.

    Run the following command to retrieve the VMware BMA Load Balancer FQDN or IP.
    kubectl get service -n bma-core pliant-proxy -o jsonpath='{.status.loadBalancer.ingress}'
    Example:
    capv@wc-dev-master-control-plane-fcg4g [ ~ ]$ kubectl get service -n bma-core pliant-proxy -o jsonpath='{.status.loadBalancer.ingress}'
     
    [{"ip":"192.168.10.1"}]

What to do next

  • Verify Signed Certificate through VMware BMA Core UI if an external certificate was assigned during installation.
  • Disable Validate Certificates option from VMware BMA Core UI for the default remote worker before executing any workflows.
    1. Access VMware BMA Web UI.
    2. Click Admin > Worker Groups.
    3. Click Validate Certificate toggle button corresponding to the remote worker.
  • If you do not want to disable certificate, you can add the Certificate of IPMI, against which the workflows must be executed to the Trusted certificates list in VMware BMA Core UI.
    1. Access VMware BMA Web UI.
    2. Click Admin > System Configuration > Trusted Certificates .
    3. Click Create and add the certificate.

You can retrieve the password from the VMware BMA Core UI. For more information, see Retrieve VMware BMA Administrator Password.