Advisory Software Engineer, IBM Collaboration Solutions
On 15th October 2018, Component Pack 220.127.116.11 was released to Fix Central and made available free of charge to all IBM Connections customers. 18.104.22.168 is the seventh release of the PINK journey; however, this is the release that many have been waiting for — a simpler, more flexible solution to deploy the Orient Me, Customizer and Elasticsearch offerings for IBM Connections.
The new flexible platform
The main difference between this release and the previous one is that the dependency of the IBM Cloud Private (ICP) platform has now been removed. This is music to many people’s ears, as it now allows customers to choose their preferred Kubernetes platform, as long as it adheres to the specifications in reference implementation (more on this later).
It did, however, cause some eyebrows to be raised, and the question to be asked – How do I deploy Kubernetes now? Well, the good news is that as part of this release, a full re-write of the Component Pack documentation was posted to the IBM Knowledge Center. Included in this documentation is the reference implementation, a zero to hero, step by step guide on how to deploy a Kubernetes platform for the Component Pack to be deployed to. The guide uses a tool called kubeadm and steps are provided to deploy a non-HA as well a HA Kubernetes platform.
In line with the new flexible model, using kubeadm to deploy your Kubernetes platform is optional. You can use any tool or service to deploy your platform as long as it adheres to the specifications in the reference implementation. These specifications include Docker v17.03, Kubernetes v1.11 and Helm v2.11. Customers must be current with the Kubernetes platform reference implementation as well as Component Pack updates for support.
The new deployment model
Previous releases of Component Pack have all included Bash installer scripts that were used to set up the Docker / Kubernetes platform (using IBM Cloud Private), as well as install the Component Pack offerings. Although this method seemed convenient, in actual fact, it turned out to be quite restrictive. Firstly, the scripts could only be supported on a limited number of operating systems (Red Hat and CentOS), and secondly, some customers did not like the idea of running scripts that make operating system changes, as different corporations have different compliance policies. Trying to accommodate every customer’s needs was simply too hard with the old model. With the 22.214.171.124 release, all of the installer Bash scripts have been scrapped, and instead we leverage Helm capabilities in order to provide easier deployment management, reduced overhead, and a more flexible deployment model.
The actual zip now only contains Docker images, Helm charts and a small number of support files. As a prerequisite, a Docker registry is now required to push the images to. Many customers are already using a hosted or private Docker registry within their organization, so the images can simply be pushed to this. However, for anyone who does not have a registry, a local registry can be set up very easily using the steps on the Docker website.
Helm is the underlying technology used to deploy and manage the Component Pack offerings. Helm has actually been used under the hood since the 126.96.36.199 release; however, with 188.8.131.52, a “chart of charts” model has been used to bundle Helm charts together, meaning there are fewer Helm charts to deploy and manage.
Previously, all of the Helm install commands were hard coded into the Bash installer scripts, but since these scripts are no more, the documentation now provides the commands that should be used in order to install the components. This means that installations can be customized to suit the customerâ€™s needs by setting Helm values with the installation commands. For example, your deployment may require different values if you have a strict SSL enabled environment, or a security proxy in play such as ISAM (formerly TAM) or SPNEGO.
This approach also allows customers to only deploy the Helm chart that they require based on the offerings they want to deploy (Orient Me, Customizer, Elasticsearch).
This overall model, along with the move to Kubernetes v1.11, has laid the foundation for zero downtime future upgrades of the Component Pack.
Component Pack Helm Charts
The following table shows what Helm charts are required for each offering.
|Helm Chart||Orient Me||Customizer||Elasticsearch|
There are also some optional Helm charts which are included as part of the release:
|sanity||Provides a dashboard where you can monitor the health of all applications|
|sanity-watcher||Monitors the installed releases and upgrades sanity with the latest list of services to monitor when it detects any helm release has been added or removed.|
|connections-persistent-storage-nfs||Set up and configure the required PVâ€™s using NFS|
|elasticstack||Integrates with the Component Pack Elasticsearch to provide a method to search, analyze, and visualize log data in real time.|
|esbackuprestore||Backup or restore data for Elasticsearch-based components.|
What else is new in 184.108.40.206?
The big changes in this release were all around the new platform and flexible deployment model. However, there were several other changes also included in this release such as:
- Bug Fixes and security updates
- Stability and performance fixes based on IBM Connections public cloud feedback
- Improved UI behavior
- New bootstrap Helm chart used to set up required secrets and certs
- New Helm chart included to manage persistent volumes using NSF
- New optional Elastic Stack Helm chart that integrates with the Component Pack Elasticsearch to provide a method to search, analyze, and visualize log data in real time.
The power of Elasticsearch
The Component Pack Elasticsearch offering was included in the 220.127.116.11 release to replace the Cognos solution, which reached end of support in April 2018, to allow organizations to get meaningful metrics from their IBM Connections environment.
Fast forward to 18.104.22.168, and Elasticsearch can now be used for the following features:
- Metrics for IBM Connections
In the CR3 release, new filters have been included in Metrics to provide additional insights into usage activity and community health, and Metrics now allows for the import of additional historic data.
- Type-ahead search for IBM Connections
Type-ahead remembers where you have been recently, so you can find content faster–for example, recently viewed Files and Communities. Previously, the type-ahead feature was only available by deploying a stand-alone Solr server. Starting with CR3, this feature is available with Elasticsearch instead of Solr, which provides a more enterprise ready solution. For CR3, both Solr and Elasticsearch solutions are supported, however support for type-ahead using Solr will eventually be phased out in a future release.
- Elastic Stack
Built on an open source foundation, the Elastic Stack lets you reliably and securely take data from any source, in any format, and search, analyze, and visualize it in real time.
The Elastic Stack implementation (optional deployment) will integrate with the Component Pack Elasticsearch cluster. Logs collected by Filebeat will be processed by LogStash for storage in ElasticSearch, discoverable by Kibana.
Stand-alone Elasticsearch Offering
There is an alternative way to deploy Elasticsearch that does not require a Kubernetes or Docker platform. This solution is ideal for customers who do not want Orient Me or Customizer but do want Elasticsearch. The IBM Knowledge Center has been updated with a guide on setting up stand-alone Elasticsearch. This offering is considered part of the Metrics solution delivered with CR3 and not part of the Component Pack.
The following table is very handy in determining the best Elasticsearch solution for you.
|Elasticsearch solution||Valid Deployments||Ideal Customer|
|Component Pack 22.214.171.124
||Ideal solution for a customer who also wants Orient Me and/or Customizer as these both need a Docker/Kubernetes cluster to run on.|
|Stand-alone ES solution||
||Ideal solution for a customer who does not want Orient Me or Customizer. This solution means they do no need to set up a Docker/Kubernetes cluster to use the features based on Elasticsearch.|
Get started with 126.96.36.199
What are you waiting for??
The full deployment guide for Component Pack can be found in the IBM Knowledge Center: https://www.ibm.com/support/knowledgecenter/en/SSYGQH_6.0.0/admin/install/cp_install_config_intro.html
Or, you can follow the extremely useful â€śzero to heroâ€ť guide that Martti Garden presented at Social Connections in Berlin in October 2018: