Setting up a Kubernetes environment on Ubuntu
You can use the readily available scripts to set up a microk8s Kubernetes environment along with other configurations to install HCL OneTest™ Server software in the Ubuntu server.
Before you begin
-
You must have completed the tasks provided in the Prerequisites section. See Prerequisites for installing the server software on Ubuntu.
-
Created a support ticket to get the credentials that are required to access the product binaries from the Harbor repository. For more information, refer to How to create an HCL Support case.
-
You must have a static IP address or Domain Name Server (DNS) to resolve host name into a machine-readable IP address.
Procedure
- Log in to the Ubuntu server as a non-root user.
-
Add the software registry to Helm by entering the following command:
Note:
You must replace
{okta-email-address}
with the username of the Harbor repository and{harbor-cli-secret}
with the secret key that you have copied from the Harbor repository.helm repo add hclsoftware https://hclcr.io/chartrepo/ot --username {okta-email-address} --password {harbor-cli-secret}
-
Run the following command to get the latest updates from the repository:
helm repo update
-
Run the following two commands to fetch the scripts that are used to install
Kubernetes:
helm pull --untar hclsoftware/hcl-onetest-base --version 2.1011.0 chmod +x hcl-onetest-base/*.sh
-
Run one of the following two sets of commands to install the Kubernetes
environment:
Note: The second option allows you to override the name of the Kubernetes domain that is created.
-
To install with the default name that is either based on IP address or fully qualified host name, run the following commands:
$ cd hcl-onetest-base $ sudo ./ubuntu-init.sh
-
To install by overriding the default name, run the following commands:
$ cd hcl-onetest-base $ sudo INGRESS_DOMAIN={onetest}.myorg.com ./ubuntu-init.sh
where:- {onetest} is a sub-domain name that you select for the server.
- myorg.com is a domain name of your organization.
On completion of the scripts, the output displays the following information on the command-line interface:
-
The INGRESS_DOMAIN that is in use. This is the URL from where you can access HCL OneTest™ Server login page.
-
The DNS information that the Kubernetes cluster uses to resolve names.
-
Certificate Authority that you must be import into the browser to prevent certificate errors.
-
Instructions to confirm whether the Kubernetes environment has started.
-
Instructions to access Keycloak to manage and authenticate users. You can use the username as keycloak and password can be retrieved by running the following command:
where:kubectl get secret -n namespace onetest-keycloak-postgresql -o jsonpath="{.data.password}" | base64 --decode; echo
- onetest is a sub-domain name that you select for the server.
- namespace is the name of the namespace that you created.
-
Instructions to access Kiali to open product logs. You can use the username as kiali and password can be retrieved by running the following command:
kubectl get secret --namespace istio-system kiali -o jsonpath='{.data.passphrase}' | base64 --decode; echo
-
-
Perform one of the following to configure a firewall:
-
Run the following script to configure the firewall that allows traffic on cni0 and port 443:
$ sudo ./ubuntu-firewall.sh
-
You must update the firewall that allows traffic on cni0 and port 443, if your Ubuntu server is already configured with the firewall.
-
- Optional:
Run the following command to enable the Jaeger traces for performance and Web
UI tests:
$ ./service.sh expose jaeger
Note:If you do not enable Jaeger, HCL OneTest™ Server produces text output in a microservice log file instead of Jaeger traces, when you run performance and Web UI test assets.
Important:The Jaeger traces are not protected, thus, any information logged into the Jaeger server might be easily accessible by anyone who has or discovers the <server-url>/jaeger URL.
- Optional:
Run the following command to enable the Prometheus server to monitor your
system resources by using metrics data:
$ ./service.sh expose prometheus
Important:The Prometheus metrics are not protected, thus, any information logged into the Prometheus server might be easily accessible by anyone who has or discovers the <server-url>/prometheus URL.
Results
You have set up the Kubernetes environment on Ubuntu and you can now install the server software.
What to do next
-
You must log in again to the server host system after the installation process completes so that changes to the group membership are applied.
-
You can run the
kubectl get pods -A
command to verify that the Kubernetes environment is working. After a while, the status of the pods must be Running state. - You must install the server software. See Installing the server software on Ubuntu using microk8s.