Installing the Component Pack applications
Install the applications that make up Component Pack.
Before you begin, see Installing Component Pack for Connections for essential background information.
Important: After each of the following tasks, you must verify that all pods are
up and running (or completed) by using the command
kubectl get pods –n
connections
. Only then should you move to the next task.1. Downloading and setting up the package
On the server which has Helm v2 and kubectl configured for your non-root user, download and unpack the Component Pack archive to /opt/microservices_connections.
2. Creating the namespace
On the server which has Helm v2 and kubectl configured for your non-root user, create
the Connections namespace in Kubernetes by running the following command:
kubectl create namespace connections
3. Creating the credentials
You must create credentials for Kubernetes to use to log in to your Docker Registry and pull the images from there. You need to use the name "myregkey" as shown the the following example.
Run this command on your server that has Helm v2 and
kubectl:
kubectl create secret docker-registry myregkey –n connections --docker-
server=mydockerregistry01.internal.mysite.com:5000 --docker-username=admin --docker-
password=password
4. Pushing the images to the registry
On the server where you have Helm v2 and kubectl configured for your non-root user,
and where you unpacked the Component Pack archive, go to
/opt/microservices_connections/hybridcloud/support and run
this command from
there:
./setupImages.sh -dr
mydockerregistry01.internal.mysite.com -u admin -p password
5. Setting up PSP
On the server where you have Helm v2 and kubectl configured for your non-root user,
and where you unpacked the Component Pack archive, run this command to set up
PSP:
helm upgrade k8s-psp
/opt/microservices/hybridcloud/helmbuilds/k8s-psp-*.tgz -i
Note: Depending on which package you're using, you should fix the package name, as the
suffix is the build timestamp and in some cases and asterisk won't work.
6. Setting up PVs and PVCs
On the server where you have Helm v2 and kubectl configured for your non-root user,
and where you unpacked the Component Pack archive, run the following command to set
up persistent volumes (PVs) and persistent volume claims
(PVCs):
helm upgrade connections-volumes /opt/microservices/hybridcloud/helmbuilds/connections-
persistent-storage-nfs-*.tgz -i --set nfs.server=192.168.168.192,persistentVolumePath=/pv-
connections
Note: Depending on which package you're using, you should fix the package name, as the
suffix is the build timestamp and in some cases an asterisk won't work.
7. Bootstrapping the Component Pack cluster
This task creates bunch certificates and everything needed for the components to successfully get up and running.
On the server where you have Helm v2 and kubectl configured for your non-root user,
and where you unpacked the Component Pack archive, run the following command to set
up the bootstrap. Bootstrapping is just a one-time job, not a regular
pod.
helm upgrade bootstrap /opt/microservices/hybridcloud/helmbuilds/bootstrap*.tgz -i --set
env.set_ic_admin_user=wasadmin,env.set_ic_admin_password=waspassword,env.set_ic_internal=ihs01.internal
.mysite.com,env.set_master_ip=k8smaster01.internal.mysite.com,env.set_elasticsearch_ca_password=
setanypasswordhere,env.set_elasticsearch_key_password=setanypasswordhere,env.set_redis_secret=
setanysecrethere,env.set_search_secret=setanysecrethere,env.set_solr_secret=setanysecrethere,
env.skip_configure_redis=false,image.repository=mydockerregistry01.internal.mysite.com:5000/connections
Note: Depending on which package you're using, you should fix the package name, as the
suffix is the build timestamp and in some cases an asterisk won't work.
8. Setting up connections-env configmap
On the server where you have Helm v2 and kubectl configured for your non-root user,
and where you unpacked the Component Pack archive, run the following command to set
up the configmap called connections-env, which is used by all Component Pack
services:
helm upgrade connections-env /opt/microservices/hybridcloud/helmbuilds/connections-env-
*.tgz -i --set
onPrem=false,createSecret=false,ic.host=www.mysite.com,ic.internal=ihs01.internal.mysite.com,
ic.interserviceOpengraphPort=443,ic.interserviceConnectionsPort=443,ic.interserviceScheme=https
Note: Depending on which package you're using, you should fix the package name, as the
suffix is the build timestamp and in some cases and asterisk won't work.
9. Setting up the ingress controller
- On the server where you have Helm v2 and kubectl configured for your
non-root user, and where you unpacked the Component Pack archive, run this
command to set up the ingress controller called
cnx-ingress:
helm upgrade cnx-ingress /opt/microservices/hybridcloud/helmbuilds/cnx-ingress-*.tgz -i --set ingress.hosts.domain=internal.mysite.com,global.onPrem=true,global.image.repository=mydockerregistry01 .internal.mysite.com:5000/connections
- Verify that the ingress controller is there by running
kubectl get ingress –n connections
. You should see three routes there. - Edit each ingress, copy the hosts part, and rename it to mysite.com (from internal.mysite.com). The goal is that, once you are done with this step and you run kubectl get ingress –n connections again, that under Hosts you see for everything both *.internal.mysite.com and *.mysite.com
Note: Depending on which package you're using, you should fix the package name, as
the suffix is the build timestamp and in some cases an asterisk won't
work.
10. Setting up Customizer
- On the server where you have Helm v2 and kubectl configured for your non-root
user, and where you unpacked the Component Pack archive, run this command to set
up
Customizer:
Mount 192.168.168.192:/pv-connections/customizations to /mnt/customizations
- Copy files from /opt/microservices/hybridcloud/support/customizer to /mnt/customizations
- helm upgrade mw-proxy /opt/microservices/hybridcloud/helmbuilds/mw-proxy-*.tgz
-i --set
image.repository=mydockerregistry01.internal.mysite.com:5000/connections,deploymentType=hybrid_cloudNote: Depending on which package you're using, you should fix the package name, as the suffix is the build timestamp and in some cases an asterisk won't work.
- After setting up Customizer, you must set the proxy in front of it (NGINX or anything else). This example uses NGINX running on proxy01.internal.mysite.com. For how to do a proper NGINX configuration, see Configuring the NGINX proxy server for Customizer.
11. Setting up the infrastructure for Orient Me
- Verify that you created PVs and PVCs properly by running
kubectl get pv –n connections
andkubectl get pvc –n connections
. - On the server where you have Helm v2 and kubectl configured for your non-root
user, and where you unpacked the Component Pack archive, run the following
command to set up the infrastructure needed by Orient
Me:
helm upgrade infrastructure /opt/microservices/hybridcloud/helmbuilds/infrastructure-*.tgz -i --set global.onPrem=true,global.image.repository=mydockerregistry01.internal.mysite.com:5000/connections,mongodb .createSecret=false,appregistry-service.deploymentType=hybrid_cloud
Note: Depending on which package you're using, you should fix the package name, as the
suffix is the build timestamp and in some cases an asterisk won't work.
12. Setting up Elasticsearch
- Verify that you created PVs and PVCs properly by running
kubectl get pv –n connections
andkubectl get pvc –n connections
. - On the server where you have Helm v2 and kubectl configured for your non-root
user, and where you unpacked the Component Pack archive, run the following
command to set up the Elasticsearch infrastructure needed by Orient Me, Metrics,
and the Kibana/ELK
stack:
helm upgrade elasticsearch /opt/microservices/hybridcloud/helmbuilds/elasticsearch-*.tgz -i --set image.repository=mydockerregistry01.internal.mysite.com:5000/connections,nodeAffinityRequired=true
Note: Depending on which package you're using, you should fix the package name, as the
suffix is the build timestamp and in some cases an asterisk won't work.
13. Setting up Orient Me
Important: Make sure that you've completed the preceding tasks before
doing this one. Orient Me requires MongoDB and couple of other things that are
part of the infrastructure package (task 11) and ElasticSearch (task 12).
- Verify that you created PVs and PVCs properly by running
kubectl get pv –n connections
andkubectl get pvc –n connections
. - On the server where you have Helm v2 and kubectl configured for your non-root
user, and where you unpacked the Component Pack archive, run the this command to
set up the
OrientMe:
helm upgrade orientme /opt/microservices/hybridcloud/helmbuilds/orientme-*.tgz -i --set global.onPrem=true,global.image.repository=mydockerregistry01.internal.mysite.com:5000/connections, orient-web-client.service.nodePort=30001,itm-services.service.nodePort=31100,mail-service.service .nodePort=32721,community-suggestions.service.nodePort=32200,deploymentType=hybrid_cloud,orient- indexing-service.indexing.solr=false,orient-indexing-service.indexing.elasticsearch=true,orient- retrieval-service.retrieval.elasticsearch=true
- To be able to properly use Orient Me, configure IBM HTTP Server on ihs01.internal.mysite.com by following the steps in Configuring the HTTP server for Orient Me.
- Follow the steps in Migrating the data for the Orient Me home page to migrate the data from the ProfilesDB to the MongoDB that will be used by Orient Me.
Note: Depending on which package you're using, you should fix the package name, as the
suffix is the build timestamp and in some cases and asterisk won't work.