Deploy Cluster and Deployer

This section provides details of the deployer script and how to run it. You can run the deployer script to deploy both the deployer and the cluster.

Deploy the Deployer or Cluster

Run the deployer script to deploy the clusters using the following command:


$ ./deploy
Usage: ./deploy -c <config_file> <options>
with the following optional parameters or flags:
    -i <install_opt> : Cluster installation option: deploy, redeploy, or upgrade
    -u               : Deployer upgrade flag
    -v               : Config validation flag

The following options are available in the deployer script:

  • -c <config_file>: Configuration file (Mandatory Argument). This option is the first option in the command.

  • -i <install_opt>: Cluster installation options: deploy, redeploy, or upgrade [Optional]

  • -u: Cluster Upgrade Flag [Optional]

  • -v: Config Validation Flag, [Optional]

The -u flag is for updating the deployer. When this flag is present, the script processes all deployers in the deployers section in the configuration file. Also, ignores clusters in the clusters section.

For cluster installation, use one of the following options in the -i flag section:

  • deploy: The default installation mode when you do not provide the -i option in the command. In this mode, the cluster is pinged. If it is not pingable, the cluster is deployed. Otherwise, no operation is performed on the cluster.

  • redeploy: In this mode, the cluster is uninstalled, if it is already available. Then the new cluster is redeployed.

    With the redeploy option, all data in the original cluster is lost.
  • upgrade: In this mode, the cluster is upgraded with the software in the package.

The deployer script triggers the docker command that requires root permission to run. Depending on your setting, you can use the sudo to the deploy command.

The deployer script does the following operations:

  • If you are running the deployer script for the first time, it prompts you to enter all passwords required for installation.

    • For vCenter environment: vCenter password for the user specified in the environment configuration.

    • For deployer: SSH password of the user admin for the deployer's Operation Center.

    • For Smart PHY cluster: SSH password for all VMs in the cluster; for user specified in the cluster's config. Also, the SSH passwords for the three Operation Centers (Cisco Smart PHY, Operations Hub, and CEE); for user admin.

    You are prompted twice to enter each password. The password is saved inside the staging directory in encrypted form for future use.

  • Passwords for the deployer, the cluster, and the Operation Centers should be eight characters long, and should have a lowercase letter, uppercase letter, a digit, and a special character.

  • The deployer script generates an SSH key pair when the private-key-file line is missing for the deployer or the cluster in the configuration file. The generated private key files are in the .sec sub directory under the staging directory, with <cluster-name>_auto.pem filename.

  • The root user owns the generated private keys. When logging in using SSH and these private key files, make sure that you run it with sudo.

  • If the deployer is not running, the deployer script installs the deployer.

  • The deployer script checks if the deployer is missing any of the product packages that are found in the offline-images directory, and if it finds any missing, it uploads them to the deployer.

  • The script also generates the configuration for each cluster and pushes them to the deployer.

  • The deployer script triggers the deployer to perform the sync operation for the cluster. The sync operation applies the configuration to the cluster. If you have not set up the cluster, it installs the cluster. Or the sync operation updates the cluster with the configuration.

  • If the sync operation times out, the deployer script triggers the sync operation again. The script waits for the sync operation to complete, and then continues to monitor the cluster to make sure that all helm charts are deployed and all pods are created.

You can repeat the deployer script to deploy more than one cluster by providing the corresponding configuration files. Alternatively, you can run this command appending a -v flag. The -v flag forces the deployer script to skip the sync operation and the rest. Use this option to push the configuration of a cluster to the deployer without deploying or updating the cluster.