Getting Started

This section presents the steps to prepare your target and deployer machines.

Begin the deployment with the following pre-deployment steps:

Prerequisites

To get you started on deploying Autonomous Identity in your environment, make sure the following prerequisites are followed:

  • Operating System. The target machine requires CentOS 7, Docker, and Python 3.6 or later. The deployer machine can use any operating system as long as Docker is installed. For this chapter, we use CentOS 7 as its base operating system.

  • Memory Requirements. Make sure you have enough free disk space on the deployer machine before running the deployer.sh commands. We recommend at least a 40GB/partition with 14GB used and 27GB free after running the commands.

Autonomous Identity provides a Docker image that creates a deployer.sh script to download all of the images necessary for the installation. The following images are downloaded:

  • Release 2020.6 microservices

  • Apache Spark 2.4.4

  • Cassandra 3.11.2

  • Analytics service v19

  • Various RPM and PIP packages that Autonomous Identity requires.

Set Up the Deployer Machine

Let’s set up the deployer machine from which we will run Docker commands to install Autonomous Identity onto the target node.

For prerequisites, make sure you have CentOS 7 or higher installed on your server.

Check the Deployer Machine

  1. The install assumes that you have CentOS 7 as your operating system. Check your CentOS 7 version.

    $ [../../resources/install.bash:#check-centos-version]
  2. As root, configure the user for passwordless sudo. Replace "username" with your username.

    # [../../resources/install.bash:#add-passwordless-sudo]
  3. Install yum-utils package on the deployer machine. yum-utils is a utilities manager for the Yum RPM package repository. The repository compresses software packages for Linux distributions.

    $ sudo yum -y install yum-utils
  4. Check your python version.

    $ python3 --version
  5. If you do not have Python 3.6 or higher. Install it on your system.

    $ sudo yum -y install  python3

Install Docker on the Deployer Machine

  1. Create the installation directory. Note that you can use any install directory for your system as long as your run the deployer.sh script from there. Also, the disk volume where you have the install directory must have at least 8GB free space for the installation.

    $ mkdir ~/autoid-config
  2. Set up the Docker-CE repository.

    $ sudo yum-config-manager \
         --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. Install the latest version of the Docker CE, the command-line interface, and containerd.io, a containerized website.

    $ sudo yum -y install  docker-ce docker-ce-cli containerd.io
  4. Enable Docker to start at boot.

    $ sudo systemctl enable docker
  5. Start Docker.

    $ sudo systemctl start docker
  6. Add the user to the Docker group.

    $ sudo usermod -aG docker $USER

Set Up SSH

The deployer machine requires SSH for communication with its managed nodes. The deployer machine’s public SSH key should be copied to the autoid-config installation directory on the managed node in addition to the ~/.ssh/authorized_keys directory. The autoid-config directory allows the autoid user on the deployer machine to log in to the account on the target.

Note that in single node deployments, SSH is still required for the deployer to communicate with itself.

  1. On the deployer machine, run ssh-keygen to generate an RSA keypair, and then click Enter. You can use the default filename. Enter a password for protecting your private key.

    $ ssh-keygen -t rsa

    The public and private rsa key pair is stored in home-directory/.ssh/id_rsa and home-directory/.ssh/id_rsa.pub .

  2. On the deployer machine, copy the SSH key to the autoid-config directory.

    $ cp ~/.ssh/id_rsa ~/autoid-config
  3. Change the privileges to the file.

    $ chmod 400 ~/autoid-config/id_rsa
  4. Copy the public key file to your authorized_keys directory on the target node.

    $ [../../resources/install.bash:#copy-ssh-key-to-target-authorized-keys]
  5. Copy the public key file to the installation directory on the target node.

    $ [../../resources/install.bash:#copy-ssh-key-to-target-autoid-config]
  6. Test your setup.

    $ ping remote_username@server_ip_address