5.5.1 IDIH Manual Deployment on KVM

Perform the following procedure to perform IDIH Manual Deployment on KVM using IDIH VMDK image:

  1. Log in to the KVM host machine.
  2. Navigate to a directory where enough space is available.
  3. Download the IDIH deliverable images and untar them to get Kafka, MySQL, and Service in VMDK format images.
  4. Download the zip containing all the manual installation scripts from the documentation center and untar it.
  5. Perform the following command to run the script:
    ./create_manual_kvm_idihvms.sh
    1. Example for MySql VM:
      
      Enter VM type (mysql/kafka/service): mysql
      Enter IDIH Image path (EX: /mnt/data): /mnt/data/Images
      Enter source VMDK image file name: idih-mysql-9.x.0.vmdk
      Enter VM name: idih-mysql
      Enter desired disk size in GB: 220
    2. Example for Kafka VM:
      
      Enter VM type (mysql/kafka/service): kafka
      Enter IDIH Image path (EX: /mnt/data): /mnt/data/Images
      Enter source VMDK image file name: idih-kafka-9.x.0.vmdk
      Enter VM name: idih-kafka
      Enter desired disk size in GB: 170
    3. Example for Service VM:
      
      Enter VM type (mysql/kafka/service): service
      Enter IDIH Image path (EX: /mnt/data): /mnt/data/Images
      Enter source VMDK image file name: idih-service-9.x.0.vmdk
      Enter VM name: idih-service
      Enter desired disk size in GB: 120
  6. After all the three VMs are created successfully, the login screen appears where user can login using the required credentials.

MySQL Setup

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

  1. Access the MySQL VM: log in and navigate to the MySQL directory.
  2. Run the following commands to expand disk partition and filesystem
    
    growpart /dev/vda 1
    resize2fs /dev/vda1
  3. Identify Network Interfaces: Run ifconfig and note down the device names: enp1s0 (XMI) and enp2s0 (IMI).
  4. Configure Static IP Addresses:
    1. XMI:
      nmcli con add type ethernet ifname enp1s0 con-name enp1s0 ipv4.method manual ipv4.addresses 10.75.249.231/27 ipv4.gateway 10.75.249.225 ipv4.dns 8.8.8.8 autoconnect yes
      nmcli con up enp1s0
    2. IMI:
      nmcli con add type ethernet ifname enp2s0 con-name enp2s0 ipv4.method manual ipv4.addresses 192.168.1.251/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 autoconnect yes
      nmcli con up enp2s0
  5. Run ip or ifconfig to verify all configured networks and IPs.
  6. Adjust Metric for XMI IP Access:
    1. Get the XMI interface name using nmcli con show.
    2. Run the following commands to adjust the metric for the XMI IP:
      
      nmcli con mod '<XMI_INTERFACE_NAME>' ipv4.route-metric 1
      nmcli con up '<XMI_INTERFACE_NAME>'
      
  7. Run MySQL Setup Script
    1. Navigate to the /opt/ directory.
    2. Locate or download the manual_mysql_setup.sh script.
    3. Run the setup script:
      ./manual_mysql_setup.sh
  8. When prompted, enter the IMI IP of the MySQL VM as the bind address.
  9. After the script completes, MySQL will be set up successfully on the VM.

Kafka Setup

Perform the following steps to set up Kafka on the Kafka VM:

  1. Access the Kafka VM: Log in and navigate to the Kafka directory.
  2. Run the following commands to expand disk partition and filesystem:
    
    growpart /dev/vda 1
    resize2fs /dev/vda1
    
  3. Run ifconfig and note down the device names: enp1s0 (XMI), enp2s0 (IMI), and enp3s0 (XSI).
  4. Configure Static IP Addresses:
    1. XMI:
      nmcli con add type ethernet ifname enp1s0 con-name enp1s0 ipv4.method manual ipv4.addresses 10.75.249.253/27 ipv4.gateway 10.75.249.225 ipv4.dns 8.8.8.8 autoconnect yes
      nmcli con up enp1s0
      
    2. IMI:
      nmcli con add type ethernet ifname enp2s0 con-name enp2s0 ipv4.method manual ipv4.addresses 192.168.1.191/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 autoconnect yes
      nmcli con up enp2s0
      
    3. XSI:
      nmcli con add type ethernet ifname enp3s0 con-name enp3s0 ipv4.method manual ipv4.addresses 10.196.84.71/27 ipv4.gateway 10.196.84.33 ipv4.dns 8.8.8.8 autoconnect yes
      nmcli con up enp3s0
      
  5. Run ip or ifconfig to verify the networks and IPs.
  6. Adjust metric for XMI IP access:
    1. Get the XMI interface name using nmcli con show.
    2. Run the following commands:
      nmcli con mod '<XMI_INTERFACE_NAME>' ipv4.route-metric 1
      nmcli con up '<XMI_INTERFACE_NAME>'
      
  7. Run Kafka Setup Script
    1. Navigate to the /opt/ directory.
    2. Locate or download the manual_kafka_setup.sh script.
    3. Perform the following command to run the script:
      ./manual_kafka_setup.sh
  8. Provide configuration inputs during execution:
    1. Enter the IMI IP of the Kafka VM when prompted for the Kafka IMI IP.
    2. Enter the XSI IP of the Kafka VM when prompted for the Kafka XSI IP.
    3. Kafka and Kraft services will start on the provided IPs.
  9. After successful completion, Kafka will be set up and health-checked.
  10. Optional Configuration for Kafka XMI IP
    1. If user need to use Kafka's XMI IP instead of the default XSI IP, modify the broker.properties file (or individual brokerX.properties files for IDIH 9.3):
      advertised.listeners=INTERNAL_PLAINTEXT://<IP>:9092,INTERNAL_SSL://<IP>:9093,EXTERNAL://[kafka_xmi]:9094
      
    2. Replace kafka_xmi with the Kafka XMI IP and comment the default XSI line:
      #advertised.listeners=INTERNAL_PLAINTEXT://<IP>:9092,INTERNAL_SSL://<IP>:9093,EXTERNAL://<kafka_xsi>:9094
      
  11. Restart Kafka and Kraft services:
    
    systemctl restart kraft-controller
    # (For IDIH 9.1, 9.2)
    systemctl restart kafka
    # (For IDIH 9.3)
    systemctl restart kafka-broker1  # same for broker2, broker3
    

Service Setup

Perform the following steps to set up the services on the Service VM:

  1. Access the Service VM: Log in and navigate to the Service directory.
  2. Run the following commands to expand disk partition and filesystem:
    
    growpart /dev/vda 1
    resize2fs /dev/vda1
    
  3. Run ifconfig and note down the device names: enp1s0 (XMI) and enp2s0 (IMI).
  4. Configure Static IP Addresses:
    1. XMI:
      nmcli con add type ethernet ifname enp1s0 con-name enp1s0 ipv4.method manual ipv4.addresses 10.75.249.253/27 ipv4.gateway 10.75.249.225 ipv4.dns 8.8.8.8 autoconnect yes
      nmcli con up enp1s0
      
    2. IMI:
      nmcli con add type ethernet ifname enp2s0 con-name enp2s0 ipv4.method manual ipv4.addresses 192.168.1.191/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 autoconnect yes
      nmcli con up enp2s0
      
  5. Run ip or ifconfig to verify the networks and IPs.
  6. Adjust metric for XMI IP access:
    1. Get the XMI interface name using nmcli con show.
    2. Run the following commands:
      nmcli con mod '<XMI_INTERFACE_NAME>' ipv4.route-metric 1
      nmcli con up '<XMI_INTERFACE_NAME>'
      
  7. Edit the Docker-Compose File
    1. Navigate to the Services/ directory.
    2. Edit the cnidih_VM.yaml file.
      1. Replace <REPLACE WITH SOAM VIP> with the active SOAM IP.
      2. Enable NFCONFIG_CLIENT_ENABLED=true in the Protrace section.
    3. Save and exit.
  8. Run the Service Setup Script
    1. Go to the /opt directory.
    2. Locate or download the manual_service_setup.sh script.
    3. Run the script:
      ./manual_service_setup.sh
  9. Enter the following when prompted:
    1. Service IMI IP
    2. Service XMI IP
    3. Kafka IMI IP
    4. MySQL IMI IP

      Note:

      For ipv6 setups, the above ips have to be entered in square brackets ( [] ).
    5. After these inputs are provided, the script will start the required services and proceed with the health check.
  10. UI Access
    • Perform the following command to verify that all services are up and running:
      podman ps -a
    • Access the UI at:
      https://<SERVICE XMI IP>

    This completes the setup for MySQL, Kafka, and Services. The deployment is now completed.