Configure Cloud Providers
This section details how to configure cloud providers for YugaByte DB using the YugaWare Admin Console. If no cloud providers are configured in YugaWare yet, the main Dashboard page highlights the need to configure at least 1 cloud provider.
If you plan to run YugaByte DB nodes on public cloud providers such as Amazon Web Services (AWS) or Google Cloud Platform (GCP), all you need to provide on YugaWare UI is your cloud provider credentials. YugaWare will use those credentials to automatically provision and de-provision instances that run YugaByte. An ‘instance’ for YugaByte includes a compute instance as well as local or remote disk storage attached to the compute instance.
Private cloud or on-premises data centers
The prerequisites here are same as that of the Community Edition.
Configure your cloud provider in YugaWare
YugaWare ensures that YugaByte DB nodes run inside your own AWS account and are secured by a dedicated VPC and Key Pair. After you provide your AWS Access Key ID and Secret Key, YugaWare invokes AWS APIs to perform the following actions. Note that the AWS Account Name should be unique for each instance of YugaWare integrating with a given AWS Account.
Retrieves the regions/AZs as well as the available instance types configured for this AWS account and initializes its own Amazon cloud provider.
Creates a new AWS Key Pair to be used to SSH into the YugaByte instances. The private key will be available for download later from the YugaWare UI.
Creates a new AWS VPC for YugaByte instances and then peers them with YugaWare’s own VPC
Now we are ready to create a YugaByte universe on AWS.
Let’s go to the
Configuration nav on the left-side and then click on the GCP tab. You should see
something like this:
Fill in the couple of pieces of data and you should get something like:
Take note of the following for configuring your GCP provider:
- Give this provider a relevant name. We recommend something that contains Google or GCP in it, especially if you will be configuring other providers as well.
- Upload the JSON file that you obtained when you created your service account.
- Assuming this is a brand new deployment, we recommend keeping the toggle for using the host VPC on not. This way, you allow YugaWare to provision another VPC, designed specifically for housing YugaByte nodes and which will have network connectivity to your current VPC, in which YugaWare resides.
- Finally, click
Saveand give it a couple of minutes, as it will need to do a bit of work in the background. This includes generating a new VPC, a network, subnetworks in all available regions, as well as a new firewall rule, VPC peering for network connectivity and a custom SSH keypair for YugaWare-to-YugaByte connectivity
Note: Choosing to use the same VPC as YugaWare is an advanced option, which currently assumes that you are in complete control over this VPC and will be responsible for setting up the networking, SSH access and firewall rules for it!
If all went well, you should see something like:
Now we are ready to create a YugaByte universe on GCP.
The local cluster approach is great for testing operational scenarios including fault-tolerance and auto rebalancing. The same local cluster approach is also possible in YugaWare.
Go to the Docker tab in the Configuration section and click Setup to initialize Docker as a cloud provider. Note that Docker Platform is already installed on the YugaWare host when you installed Replicated.
As you can see above, the above initialization setup creates 2 dummy regions (US West and US East) with 3 dummy availability zones each. Now we are ready to create a containerized YugaByte universe running on the YugaWare host.
Dedicated hosts or cloud VMs running CentOS 7 with local or remote attached storage. All these hosts should be accessible over SSH from the YugaWare host. If your instance does not have public Internet access, make sure the following packages have been installed (all can be retrieved from the yum repo epel, make sure to use the latest epel release repo):
Here’s the command to install these packages.
# install pre-requisite packages $ sudo yum install -y epel-release ntp collectd python-pip python-devel python-psutil libsemanage-python policycoreutils-python
Configure the On-Premises Datacenter provider
You are now ready to create YugaByte DB universes as outlined in the next section.