Using HCL Compass RESTful service in Kubernetes without search features
You can create a RESTful service for HCL Compass running on Kubernetes.
Before you begin
Procedure
-
Create new .yaml files to update the default Helm chart values for
the database connection and to disable search.
- Create a .yaml file named
compass_without_search.yaml. Set values for the following:
- The Secret name that you created in Deploying HCL Compass on Google Kubernetes Engine.
- The FlexNet License URL and License ID.
- The database connection-1 parameters in the db.connectionSet. If you need to add more than one database connection setting, use the ("connection-1" "connection-3" ..... "connection-n") format to add connection 2 through connection N.
######################## The secret name #################### ## global.hclImagePullSecret: Your own secret-name with your credentials to HCL's docker repository. ############################################################# global: hclImagePullSecret: <secret-name> ################ HCL FlexNet license setting ################ ## hclFlexnetURL: Your HCL FlexNet license server URL. ## hclFlexnetID: Your HCL FlexNet license ID. ############################################################# hclFlexnetURL: <license_url> hclFlexnetID: <license_id> hcl-compass: ############# Database connection settings ################ ## This example shows one database connection for connection-1. ## For additional connection setting use must follow this format: ## ("connection-1" "connection-2" ..... "connection-n") ########################################################### db: connectionSet: ("-v <db_vendor> -d <db_name> -s <db_server> -u <user> -p <password> -dbset <dbset_name>") ## Disabled Search feature configuration. ########## Disabled Search feature configuration ########### ## search.withCompass: Set false when the HCL Compass search feature is not configure in HCL Compass RESTful pod's container. ############################################################ search: withCompass: false ########### Disabled the search app1 service ############# ## searchapp1.service: Set false to disable the internal oracle service ########################################################### searchapp1: service: false ########### Disabled the search app2 service ############# ## searchapp2.service: Set false to disable the internal oracle service ########################################################### searchapp2: service: false ######### Disabled search service and oracle Service ###### ## service.enabled.oracle Set false to disable the internal oracle service and create and connection to you own database. ## service.enabled.search Set false to disable search service. ########################################################### service: enabled: oracle: false search: false
- Optionally, if you plan to install SSL certificates, follow the instructions in Managing the search features service.
- Create a .yaml file named
compass_without_search.yaml. Set values for the following:
-
Install the solution and start HCL Compass.
- Run the helm install command using
- f compass_without_search.yaml -f ssl.yaml
.$ helm install [release-name] [file-name] \ -f compass_without_search.yaml -f ssl.yaml \ --namespace [solution namespace]
- release-name
- The release name that you select.
- file-name
- The HCL Compass Solution Chart .tgz file.
- namespace
- The solution namespace that you created.
- Run kubectl get pods to make sure that all pods are in the
Running
state andREADY
set to 1/1.$ kubectl get pods --namespace [namespace_name]
For example:user@cloudshell:~/dev (hcl-gcp-l2com-sofy)$ kubectl get pods --namespace dev NAME READY STATUS RESTARTS AGE acs-kc-compass1-0 1/1 Running 0 22m compass1-access-control-service-58f9fbb4-j2vbr 1/1 Running 0 22m compass1-acs-kc-postgresql-0 1/1 Running 0 22m compass1-ambassador-58d87d8cbc-2ww89 1/1 Running 0 22m compass1-ambassador-58d87d8cbc-hs6kg 1/1 Running 0 22m compass1-ambassador-58d87d8cbc-jbpc7 1/1 Running 0 22m compass1-anchor-55d485b6dd-xzvvb 1/1 Running 0 22m compass1-grafana-58f9f86998-4p5nk 2/2 Running 0 22m compass1-hcl-compass-bb6b98c76-vfmsw 1/1 Running 0 22m compass1-ksmetrics-576b9bc495-4rp7c 1/1 Running 0 22m compass1-openldap-75dbb976f4-dkh2g 1/1 Running 0 22m compass1-prometheus-server-6564dd994f-tz4xk 2/2 Running 0 22m compass1-sofy-console-fb6dd56db-q4db4 1/1 Running 0 22m compass1-solution-controller-df475689d-6h4fk 1/1 Running 0 22m
The HCL Compass pod names appear in the following format:
-hcl-compass-<unique_number>: compass1-hcl-compass-bb6b98c76-vfmsw
- Run kubectl get services to get the
EXTERNAL-IP
address from the LoadBalances Service type:$ kubectl get services --namespace [namespace_name]
For example:user@cloudshell:~/dev (hcl-gcp-l2com-sofy)$ kubectl get services -n dev NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE acs-kc-compass1-headless ClusterIP None <none> 80/TCP 28m acs-kc-compass1-http ClusterIP 10.212.31.181 <none> 80/TCP,8443/TCP,9990/TCP 28m compass1-access-control-service ClusterIP 10.212.16.40 <none> 80/TCP 28m compass1-acs-kc-postgresql ClusterIP 10.212.31.90 <none> 5432/TCP 28m compass1-acs-kc-postgresql-headless ClusterIP None <none> 5432/TCP 28m compass1-ambassador LoadBalancer 10.212.24.222 35.230.166.196 80:31449/TCP,443:30586 28m compass1-ambassador-admin ClusterIP 10.212.22.72 <none> 8877/TCP 28m compass1-anchor ClusterIP 10.212.24.78 <none> 80/TCP 28m compass1-grafana ClusterIP 10.212.18.86 <none> 80/TCP 28m compass1-hcl-compass ClusterIP 10.212.29.160 <none> 8191/TCP 28m compass1-hcl-compass-oracle ClusterIP 10.212.17.115 <none> 1521/TCP,5500/TCP 28m compass1-ksmetrics ClusterIP 10.212.19.172 <none> 80/TCP 28m compass1-openldap ClusterIP 10.212.23.231 <none> 389/TCP,636/TCP 28m compass1-prometheus-server ClusterIP 10.212.19.104 <none> 80/TCP 28m compass1-sofy-console ClusterIP 10.212.24.96 <none> 80/TCP 28m compass1-sofy-service ClusterIP 10.212.28.139 <none> 80/TCP
The
EXTERNAL-IP
is seen from the compass1-ambassador service and is 35.230.166.196. - Optionally, you can view the container logs by using the following
command:
$ kubectl logs <pod_name> –namespace [namespace_name]
- Start the Solution Console app in your browser by using:
https://sofy-console.<EXTERNAL-IP>.nip.io/
You will see warnings about the certificate that is used in the solution; it is safe to accept these and proceed to the Solution Console application. Log in to the application with the default user ID and password. The default user ID is sol-admin and the default password is pass. The solution console provides information about all parts of the solution, as well as links to the homepage of the HCL Compass product.- Go to the General Information page to see the links to the HCL Compass home page, API Base URLs, and log files for all containers.
- If you see any issue with pods and services, check the HCL Compass pod log files. The pod may need to be restarted. Deleting the pod will restart the pod.
- To fix any issues, you can go to the Kubernetes Resources page, and click on Pods. Find the pod for hcl-compass and then delete it. The deleted pod will start again. If the same problem still exists, contact the HCL Compass support team.
- Click the General Information page from the Solution Console Dashboard to see the Solution Content page. You can get and start the HCL Compass URL from the HCL Compass Solution Content page.
- When you are finished with your solution, you can uninstall it with the following
command:
$ helm delete {release-name} --namespace [namespace_name]
- Run the helm install command using