Install XCO in a Multi-Node Deployment using Single CLI

You can install XCO in a multi-node cluster for high availability.

About this task

Follow this procedure to install XCO in a multi-node deployment using single CLI.

Procedure

  1. Download the XCO tar file and the digests file to the Linux server. XCO is installed on this server using an administrative account.
    admin@server$ ls efa-3.3.0-digests.tar.gz  efa-3.3.0.tar.gz
  2. Verify the PGP signature as described in article 48172 on the Extreme Portal.
  3. Extract the XCO tarball to a desired location. Ensure that this location has the permissions to allow your administrative user to run the commands.
  4. Change the current directory to the extracted file location.
    1. Run the following command for fabric:
      source deployment.sh -I --deploy-suite fabric --deploy-type multi-node --peer-node-ip 10.32.85.114 --virtual-ipv4 10.32.85.119
    2. Run the following command for visibility:
      source deployment.sh -I --deploy-suite packet --deploy-type multi-node --peer-node-ip 10.32.85.114 --virtual-ipv4 10.32.85.119
      Note

      Note

      Based on the requirements, provide additional parameters. For more information about commands and supported parameters, see ExtremeCloud Orchestrator Command Reference, 3.3.0 .

      The XCO installer begins in a series of dialog.

  5. Verify the installation.
    1. From the XCO command line, on the console or SSH session, run the sudo efactl status command to see the status of nodes, pods, and services.
    2. From the XCO command line, run the efa status command to ensure that status of all the nodes are up.
  6. Verify the installation.
    1. From the XCO command line, run the sudo efactl status command to see the status of nodes, pods, and services.
    2. From the XCO command line, run the efa status command to ensure that status of all the nodes are up.

Example

The following is an example of multi-node deployment of XCO using Single CLI:

source deployment.sh -I --deploy-suite fabric --deploy-type multi-node --peer-node-ip 10.32.85.114 --virtual-ipv4 10.32.85.119
Checking for EFA Stack...
Deployment mode is normal
Verifying connectivity to 10.32.85.114...
10.32.85.114 server is reachable...
You have entered:
- a multi-node EFA installation
- of 3.3.0 build 781
- with IP Stack ipv4
- with suites: Fabric Automation
- with peer 10.32.85.114
- and with VIP 10.32.85.119
Verifying system requirements
Verifying system requirements on all nodes
Checking ports on all nodes...
Checking required ports availability on 10.32.85.111 10.32.85.114...
All required ports are available
Completed verification of ports on all nodes
Checking system configuration on 10.32.85.111 10.32.85.114...
Ensuring machine clocks are in sync
Verifying clocks are approximately in sync
Checking default gateway reachability on all nodes...
Completed verification of default gateway reachability on all nodes
Ensuring peer hostnames are unique
Verifying unique hostname between nodes
Hostnames are unique
Ensuring compatible OS version
Verifying Operating System between nodes
Operating system of all nodes are same
Ensuring networking components are ready
Installing software dependencies
Started installing helm
Installing database migrate client
Installing glusterfs filesystem software
Installing glusterfs 9.6...
GlusterFS Installation Success
Install utilities
Generating certificates
Creating clustered filesystem
Configuring glusterfs volumes
Mounting efa volumes for replication to start
Mounting gluster units
Done with mounting of glusterfs efa volumes on nodes
Completed configuring glusterfs
Setting up EFA database
Installing and configuring mariadb server for HA...
Removing previous mysql installation...
Installing perl dependency for database use
Installing database client
Installing database server
Installing mariadb server...
MariaDB Installation Success
Configuring database server
Completed installing and configuring mariadb
Set expected cluster size 
Verify mariadb external datastore on nodes 
Completed configuring mariadb galera cluster
Setting up keepalived for cluster virtual IP
Setting up multiaccess networks
Configuring keepalived on nodes
Temporarily stopping keepalived on nodes
Configuring nodes to form the cluster
Verifying if monitor service is running on 10.32.85.111 10.32.85.114...
Installing k3s container orchestration
Installing EFA container images
Unpacking images of EFA on 10.32.85.111 10.32.85.114...
Installing coredns service
Installing host authentication service
Verifying if host authentication service is running on 10.32.85.111 10.32.85.114...
Configuring EFA container services
Setting up OS user for EFA
Generating Unix user for EFA use
Waiting for k3s DNS
Verifying if k3s services are running on 10.32.85.111 10.32.85.114...
Ensuring database schema at latest version
Completed Database migration for inventory 
Completed Database migration for fabric 
Completed Database migration for tenant 
Completed Database migration for notification 
Completed Database migration for vcenter 
Completed Database migration for hyperv 
Completed Database migration for openstack 
Completed Database migration for rbac 
Completed Database migration for auth 
Completed Database migration for system 
Completed Database migration for snmp 
Completed Database migration for policy 
Completed Database migration for faultmanager 
Completed Database migration for evm 
Completed Database migration for monitoring 
Completed Database migration for raslog 
Successfully finished database migration
Time taken to migrate database is 54 seconds
Starting EFA services
Saving EFA user information for this node (efa)...
Installing replication components
Waiting for EFA containers to start
Waiting for EFA services
Extreme Fabric Automation Stack is now deployed and ready.

(efa)sbr@efa1:~/builds/3.3.0/efa$ k3s kubectl get pods -n efa
NAME                           READY   STATUS    RESTARTS      AGE
efa-api-docs-rkc2w             1/1     Running   0             11m
ui-service-8q299               1/1     Running   0             11m
gosnmp-service-wkbbn           1/1     Running   0             10m
goopenstack-service-jq4f7      1/1     Running   0             10m
rabbitmq-r2jz5                 1/1     Running   1 (11m ago)   11m
gosystem-service-9pl9h         1/1     Running   0             11m
gonotification-service-f5xk9   1/1     Running   0             11m
goinventory-service-5k7tf      1/1     Running   0             11m
goauth-service-4tjj6           1/1     Running   0             11m
gorbac-service-h9jtm           1/1     Running   0             11m
gofaultmanager-service-wrt25   1/1     Running   0             11m
govcenter-service-x2rcm        1/1     Running   0             10m
gohyperv-service-jmqbc         1/1     Running   0             10m
goraslog-service-brcpc         1/1     Running   0             11m
gofabric-service-g27c4         1/1     Running   0             11m
gopolicy-service-6l79t         1/1     Running   0             11m
gotenant-service-h8tp2         1/1     Running   0             11m

(efa)sbr@efa1:~/builds/3.3.0/efa$ efa status
+-----------+---------+--------+--------------+
| Node Name | Role    | Status | IP           |
+-----------+---------+--------+--------------+
| efa1      | active  | up     | 10.32.85.111 |
+-----------+---------+--------+--------------+
| efa2      | standby | up     | 10.32.85.114 |
+-----------+---------+--------+--------------+
--- Time Elapsed: 5.293435458s ---