5.5.2 IDIH Manual Deployment on VMware

Virtual Machine Setup

Create three separate virtual machines (VMs) with the latest OL8 ISO image from the yum-oracle repository (for example, OL8.10 https://yum.oracle.com/ISOS/OracleLinux/OL8/u10/x86_64/OracleLinux-R8-U10-x86_64-dvd.iso).

  1. Create three virtual machines with the following configuration:
    1. If the image is not already onboarded on VMware then user must upload it.
    2. To upload the image:
      1. From the main menu, navigate to Libraries, Content Libraries, Media and Other, then click ADD and add the following details:
        1. Catalog: Select ISO
        2. Name: Specify the name of the image you are uploading. Example: OracleLinux-R8-U10-x86_64-dvd.iso.
        3. Click Select media to upload and upload the image. Wait for the image to be uploaded.
    3. Login in to the VMware console and select the appropriate datacenter, then navigate to Compute and Virtual Machines, click NEW VM and enter the following details:
      1. Name: Provide an appropriate name for each of the following 3 VMs (serviceVM, kafkaVM, and MySqlVM).
      2. Computer Name: Same as above
      3. Type: Select New.
      4. Power on: This field is automatically enabled.
      5. Guest OS family: Select Linux
      6. Guest OS: Select Oracle Linux 8 (64 bit).
      7. Boot image: Whichever image uploaded for OL8 ISO (example: OracleLinux-R8-U10-x86_64-dvd.iso).
      8. Boot Firmware: Select BIOS.
      9. Enter Boot Setup: Do not enable.
      10. CPU: Enter 6, Cores Per Socket: 1, Number of sockets is automatically populated based on the CPU value, Memory: 16, Storage: 120GB for Service VM, similarly 170 GB for Kafka VM, and 220GB for MySql VM. Select VM default policy.

        Note:

        Do not enable Use custom storage policy.
      11. Networking
        1. Configure Kafka, MySql, and Service VMs:
          1. Click Add beside Networking to add the configuration.
          2. Select the Network, Network Adapter Type, and IP Mode as per the image shown below and click OK.

            Figure 5-1 Networking


            Networking

            Note:

            Service and MySql requires XMI and IMI network, Kafka VM requires all the three interfaces (XMI, IMI, and XSI).
  2. After creating the new VM, user must select the VM which is created (wait for a few minutes to display on the homepage) and click LAUNCH WEB CONSOLE from the upper menu bar then perform the following steps to install the OS:
    1. Wait for the GUI to appear (wait for a few minutes) and select the language English and click Continue.
    2. In the Installation Summary page, click Root Password under USER SETTINGS and set changeme as the password for the root user and click Done.

      Note:

      The user must click Done twice to set the root password.
    3. Under the SYSTEM, click Installation Destination, verify if the VMWare Standard Disk is selected under the Local Standard Disk and under the Storage Configuration automatic must be selected by default and click Done.
    4. Now user will be back to the Installation Summary page, click Begin Installation.

      Note:

      The Begin Installation will take 15 to 20 minutes for the setup.
    5. Select Reboot System, it will take a few minutes to restart.
    6. Click License Information and accept the license, click Done and then click FINISH CONFIIGURATION.
    7. Keep clicking Next until the About You page appears, here user may give any name and username for the system, avoid whitespaces, click Next and set the password changeme, and then click Next.
    8. Click Start Using Oracle Linux Server.
    9. Now user will get the VM GUI, click Activities from the top left menu and open a New Terminal and perform the following configuration:
      1. Perform the following commands to configure all the interfaces with these IPs:
        Run the following command to log into the root user:
        sudo su -
        Perform the following command to connect all the interfaces:
        
        nmcli device status  #Get the disconnected interface names
        nmcli device connect <interface-name> #Connect the interfaces. Example: nmcli device connect ens192  
        User must modify all the interfaces one by one with the proper assigned IP and CIDR block:
        nmcli connection modify <interface-name> +ipv4.address <ip-address>/<interface-CIDR-Block>"    # Ex:  nmcli connection modify ens192 +ipv4.address 10.75.190.130/26
        

        Note:

        Do not obtain VM IPs from inside the VM using any networking command such as "ip route" or "hostname -I" as there could be stale IPs present. To retrieve the correct IPs assigned to the VM, select VM, Hardware, and NICs to get the IPs from VMware.
        Perform the following command to retrieve the modified interfaces:
        nmcli connection up <interface-name>" Example: nmcli connection up ens192
        
    10. Now the VM is accessible from outside, perform the following commands to expand the disk partition for the root:
      cd /
      fuser -km /home
      umount -l /home
      
      lvremove /dev/ol/home
      
      lvextend -l +100%FREE /dev/ol/root
      xfs_growfs /
  3. Installation Package Download and Extraction:
    1. Download the installation TAR file on any of the three VMs.
    2. Extract the TAR file:
      tar -xvf <tar-file-name>.tar
    3. Directory Structure: After extraction, the directory structure will be as follows:

      Figure 5-2 Directory Structure


      Directory Structure

  4. Deployment of components across VMs:
    1. Distribute directories:
      1. MySQL directory to MySQL VM
      2. Kafka directory to Kafka VM
      3. Services directory to Service VM
    1. MySQL Setup

      Perform the following procedure to set up MySQL on the MySQL VM:

      1. Access the MySQL VM:
        1. Log in and navigate to the MySQL directory.
        2. Run the MySQL Setup Script:
          1. Locate setup-mysql.sh.
          2. Run the below command to run the script:
            ./setup-mysql.sh
        3. Configuration During Execution: Enter the IMI IP of the MySQL VM when prompted for the MySQL bind address.

          Completion: After the script is complete, MySQL will be successfully set up on the VM.

    2. Kafka Setup
      1. Access the Kafka VM: Log in and navigate to the Kafka directory.
      2. Run the Kafka Setup Script:
        1. Locate the setup-kafka.sh script
        2. Run the below command for the script:
          ./setup-kafka.sh
      3. Configuration during execution
        1. When prompted, enter the Kafka IMI IP and Kafka XSI IP. when prompted by the script.
        2. Kafka and Kraft services will be initiated on the specified IPs.

        After the successful health check is completed, Kafka will be successfully set up on VM.

      4. Optional step, only if you need to use Kafka XMI IP instead of the default Kafka IMI IP for communication with DSR.
        1. Uncomment:
          advertised.listeners=INTERNAL_PLAINTEXT://192.168.1.237:9092,INTERNAL_SSL://192.168.1.237:9093,EXTERNAL://[kafka_xmi]:9094 line in broker.properties file(path: /opt/kafka/config) and replace[kafka_xmi] with Kafka XMI IP
        2. Comment:
          advertised.listeners=INTERNAL_PLAINTEXT://192.168.1.237:9092,INTERNAL_SSL://192.168.1.237:9093, EXTERNAL://10.196.84.46:9094 line.
        3. Run the below commands to restart Kraft and Kafka services:
          
          systemctl restart kafka

        After successful execution of the health check, Kafka is successfully set up on VM.

    3. Service Setup
      1. Access the Service VM
      2. Navigate to the directory where the setup-service.sh script is located.
      3. Move the store Directory to the /opt/ path using the following command:
        mv store /opt/
      4. Edit the Docker-compose file:
        1. Navigate to the Services/ directory.
        2. Edit cnidih_VM.yaml file:

          Note:

          Uncomment the below command if you are using IPv6 setup, ensure indentation of both the properties must be at same level.
          
          networks:
            cnidih-network:
              enable_ipv6: true
              external: true
          
          1. <REPLACE WITH SOAM VIP> must be replaced with a valid active SOAM IP.
          2. Navigate to Protrace section and enable the following property NFCONFIG_CLIENT_ENABLED to true.
          3. Save and exit.
        3. Run the following command to uninstall the libraries:
          sudo yum remove -y slirp4netns dnsmasq criu containers-common fuse3-libs fuse-common fuse3 containernetworking-plugins fuse-overlayfs libnet podman podman-catatonit conmon shadow-utils-subid podman-plugins runc protobuf-c podman-gvproxy container-selinux libslirp podman-docker
        4. Run the following command for the Service Setup Script:
          ./setup-service.sh
      5. Configuration during execution: The script will prompt for several inputs during execution:
        1. Enter Service IMI IP, Service XMI IP, Kafka IMI IP, and MySQL IMI IP.

          Note:

          For IPv6 setups, the above IPs must be entered in square brackets ( [] ).

          After these inputs are provided, the script will start the required services and proceed with the health check.

        2. Run the following command to verify if all services are running:
          podman ps -a

          Access the UI at: https://<SERVICE XMI IP>/#/

        Conclusion: This completes the setup for MySQL, Kafka, and Services. The deployment is now ready for use.