Install Admin Console
YugabyteDB clusters are created and managed from YugaWare. The default option to install YugaWare on a host machine that is connected to the Internet.
Step 1. Install Replicated
Connect to the YugaWare instance and do the following.
- Install Replicated.
$ curl -sSL https://get.replicated.com/docker | sudo bash
NOTE: If you are behind a proxy, you would need to run the following:
- Install Replicated behind a proxy.
$ curl -x http://<proxy_address>:<proxy_port> https://get.replicated.com/docker | sudo bash
- After Replicated install completes, make sure it is running.
You can do this as shown below.
$ sudo docker ps
You should see an output similar to the following.
Step 2. Install YugaWare
Set up HTTPS for Replicated
Launch Replicated UI by going to http://yugaware-host-public-ip:8800. The warning shown next states that the connection to the server is not private (yet). We will address this warning as soon as we setup HTTPS for the Replicated Admin Console in the next step. Click Continue to Setup and then ADVANCED to bypass this warning and go to the Replicated Admin Console.
You can provide your own custom SSL certificate along with a hostname.
The simplest option is use a self-signed cert for now and add the custom SSL certificate later. Note that you will have to connect to the Replicated Admin Console only using IP address (as noted below).
Upload license file
Now upload the Yugabyte license file received from Yugabyte Support.
If you are asked to choose an installation type, choose Online
.
Secure Replicated
The next step is to add a password to protect the Replicated Admin Console (note that this Admin Console is for Replicated and is different from YugaWare, the Admin Console for YugabyteDB).
Pre-flight checks
Replicated will perform a set of pre-flight checks to ensure that the host is setup correctly for the YugaWare application.
Clicking Continue above will bring us to YugaWare configuration.
In case the pre-flight check fails, see Troubleshoot Yugabyte Platform to identify the resolution.
An “air-gapped” host has either no or a restricted path to inbound or outbound Internet traffic at all.
Prerequisites
1. Whitelist endpoints
In order to install Replicated and YugaWare on a host with no Internet connectivity at all, you have to first download the binaries on a machine that has Internet connectivity and then copy the files over to the appropriate host. In case of restricted connectivity, the following endpoints have to be whitelisted to ensure that they are accessible from the host marked for installation.
https://downloads.yugabyte.com
https://download.docker.com
2. Install Docker Engine
A supported version of Docker Engine (docker-engine
) (currently 1.7.1 to 17.03.1-ce) needs to be installed on the host. If you do not have docker-engine installed, follow the instructions here to first install docker-engine on an air-gapped host. After Docker Engine (docker-engine
) is installed, perform the following steps to install Replicated and then YugaWare.
Step 1. Install Replicated
On a machine connected to the Internet, perform the following steps.
Make a directory for downloading the binaries.
$ sudo mkdir /opt/downloads
Change the owner user for the directory.
$ sudo chown -R ubuntu:ubuntu /opt/downloads
Change to the directory.
$ cd /opt/downloads
Get the replicated binary.
$ wget https://downloads.yugabyte.com/replicated.tar.gz
Get the yugaware binary where the last 4 digits refer to the version of the binary. Change this number as needed.
$ wget https://downloads.yugabyte.com/yugaware-1.2.6.0.airgap
Change to the directory.
$ cd /opt/downloads
Expand the replicated binary.
$ tar xzvf replicated.tar.gz
Install replicated (yugaware will be installed via replicated ui after replicated install completes) pick eth0
network interface in case multiple ones show up.
$ cat ./install.sh | sudo bash -s airgap
After replicated install completes, make sure it is running.
$ sudo docker ps
You should see an output similar to the following.
Next step is install YugaWare as described in the section below.
Step 2. Install YugaWare using Replicated
Set up HTTPS for Replicated
Launch Replicated UI by going to http://yugaware-host-public-ip:8800. The warning shown next states that the connection to the server is not private (yet). We will address this warning as soon as we setup HTTPS for the Replicated Admin Console in the next step. Click Continue to Setup and then ADVANCED to bypass this warning and go to the Replicated Admin Console.
You can provide your own custom SSL certificate along with a hostname.
The simplest option is use a self-signed cert for now and add the custom SSL certificate later. Note that you will have to connect to the Replicated Admin Console only using IP address (as noted below).
Upload license file
Now upload the Yugabyte license file received from Yugabyte Support.
Two options to install YugaWare are presented.
Secure Replicated
The next step is to add a password to protect the Replicated Admin Console (note that this Admin Console is for Replicated and is different from YugaWare, the Admin Console for YugabyteDB).
Pre-flight checks
Replicated will perform a set of pre-flight checks to ensure that the host is setup correctly for the YugaWare application.
Clicking Continue above will bring us to YugaWare configuration.
In case the pre-flight check fails, review the Troubleshoot Yugabyte Platform section below to identify the resolution.
Prerequisites
You must have a Kubernetes cluster that has Helm configured. If you have not installed Helm client and server (aka Tiller) yet, follow the instructions here.
The YugaWare Helm chart documented here has been tested with the following software versions:
- Kubernetes 1.10+
- Helm 2.8.0+
- YugaWare Docker Images 1.1.0+
- Kubernetes node with minimum 4 CPU core and 15 GB RAM can be allocated to YugaWare.
Confirm that your helm
is configured correctly.
$ helm version
Client: &version.Version{SemVer:"v2.10.0", GitCommit:"...", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.10.0", GitCommit:"...", GitTreeState:"clean"}
Create a cluster
Create a service account with cluster-admin role privileges
For deploying a YugaWare Helm (v2.x) chart, you need to have a service account with cluster-admin
role privileges — if the user in context already has that access, you can skip this step.
$ kubectl apply -f https://raw.githubusercontent.com/yugabyte/charts/master/stable/yugabyte/yugabyte-rbac.yaml
serviceaccount/yugabyte-helm created
clusterrolebinding.rbac.authorization.k8s.io/yugabyte-helm created
Initialize Helm
Initialize helm
with the service account but use the —upgrade
flag to ensure that you can upgrade any previous initializations you may have made.
$ helm init --service-account yugabyte-helm --upgrade --wait
$HELM_HOME has been configured at /Users/<user>/.helm.
Tiller (the Helm server-side component) has been upgraded to the current version.
Happy Helming!
Download YugaWare Helm Chart
You can do this as shown below.
$ wget https://downloads.yugabyte.com/kubernetes/yugaware-1.0.0.tgz
Install YugaWare
Install YugaWare in the Kubernetes cluster using the command below.
$ helm install yugaware-1.0.0.tgz --name yb --set=image.tag=1.1.10.0-b3 --wait
Check the cluster status
You can check the status of the cluster using various commands noted below.
$ helm status yb
LAST DEPLOYED: Wed Jan 2 14:12:27 2019
NAMESPACE: default
STATUS: DEPLOYED
RESOURCES:
==> v1/ConfigMap
NAME AGE
yb-yugaware-global-config 14d
yb-yugaware-app-config 14d
yb-yugaware-nginx-config 14d
yb-yugaware-prometheus-config 14d
==> v1/PersistentVolumeClaim
yb-yugaware-storage 14d
==> v1/ServiceAccount
yugaware 14d
==> v1/ClusterRole
yugaware 14d
==> v1/ClusterRoleBinding
yugaware 14d
==> v1/Service
yb-yugaware-ui 14d
==> v1/StatefulSet
yb-yugaware 14d
==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
yb-yugaware-0 5/5 Running 0 14d
Get service details.
$ kubectl get svc -lapp=yb-yugaware
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
yb-yugaware-ui LoadBalancer 10.102.9.91 10.200.300.400 80:32495/TCP,9090:30087/TCP 15d
You can even check the history of the yb
helm chart.
$ helm history yb
REVISION UPDATED STATUS CHART DESCRIPTION
1 Wed Jan 2 14:12:27 2019 DEPLOYED yugaware-1.0.0 Install complete
Upgrade YugaWare
$ helm upgrade yb yugaware-1.0.0.tgz --set=image.tag=<new-tag> --wait
Delete YugaWare
$ helm delete yb --purge