Installing Connectware (Kubernetes)

Install Connectware on a Kubernetes cluster using Helm.

This guide walks you through installing Connectware on a Kubernetes cluster using Helm charts. The installation process includes configuring your Helm repository, customizing deployment settings in a values.yaml file, and verifying the installation.

Prerequisites

Before installing Connectware, make sure to meet the following requirements:

circle-info

Throughout this guide, command examples use variables like ${NAMESPACE}, ${INSTALLATION_NAME}, and ${REPO_NAME}. Replace these with your actual values. For example, replace ${NAMESPACE} with cybus if that is your chosen namespace.

Overview of the Installation Process

To install Connectware on Kubernetes, you must complete the following steps:

Adding the Helm Chart Repository

  • To use the Connectware Helm chart repository, add it to your system. This guide uses cybus as the repository name.

Example

Configuring the values.yaml File

The values.yaml file configures your Connectware deployment through Helm. Use it to customize deployment parameters, manage resources, and configure version settings.

This guide focuses on basic Kubernetes configuration and commonly used parameters.

circle-info

We recommend that you store the values.yaml file in a version control system.

Creating a Copy of the Default values.yaml File

A Helm chart includes default configuration values. We recommend creating a copy of the default values.yaml file named default-values.yaml for reference, and a new empty values.yaml file for your customizations.

  • Extract the default values and store them in default-values.yaml via the following command:

Example

Creating a values.yaml File

After creating the default-values.yaml file, create an empty values.yaml file for your custom configuration.

  • Create and open the file with your preferred editor via the following command. This example uses vi. Substitute with your preferred editor:

Example

Specifying the License Key

A valid license key is required to install Connectware.

  • In the values.yaml file, add your license key to the Helm value global.licensekey:

Example

Specifying the Broker Cluster Secret

You must specify a secret for your broker cluster. This secret secures your broker cluster.

circle-exclamation
  • In the values.yaml file, specify the broker cluster secret in the Helm value global.broker.clusterSecret:

Example

Allowing Immutable Labels

For new Connectware installations, we recommend that you set best-practice labels on immutable workload objects like StatefulSet volumes.

  • In the values.yaml file, set global.setImmutableLabels to true:

Example

Configuring DNS Names in Helm Values

circle-info

If you are replacing the external Connectware CA certificate chain and manage cybus_server.crt manually, ensure that any DNS name with which you address Connectware or individual components is included. You can skip adding them to global.ingressDNSNames.

To enable external agents to connect to the Connectware Control Plane, you must configure the global.ingressDNSNames through Helm values. This setting defines the hostnames that will be included in the Connectware server certificate's (cybus_server.crt) Subject Alternative Names (SAN) section.

  • Set the global.ingressDNSNames list in your Helm values to include all hostnames used for Connectware access.

Example

If the hostname on which Connectware is running is named company.io, set the Helm value to:

Hostname Formats

You can include multiple hostnames in the list. The certificate will include all specified names in its SAN section.

The configuration accepts various hostname formats:

  • Wildcards (e.g., *.company.io)

  • Subdomains (e.g., connectware.company.io)

  • Custom hostnames (e.g., localhost)

Example

Specifying the NATS Streaming Server Cluster Replica Count (Optional)

By default, Connectware uses three nodes for the control connection NATS streaming server cluster that is used for inter-service communication.

You may configure an odd number of nodes to suit your environment:

  • Increase the replica count (e.g., 5) to improve redundancy. With 5 nodes, the redundancy factor increases from N+1 to N+2.

  • Reduce the replica count (e.g., 1) for lightweight test environments. Note that a single-node setup provides no redundancy.

  • Typical production configurations are 3 (default) or 5 nodes.

circle-exclamation
  • In the values.yaml file, specify the number of NATS nodes in the Helm value global.nats.replicas.

Example

Specifying the Broker Cluster Replica Count (Optional)

By default, Connectware uses three nodes for the broker cluster that moves data. You can specify a custom number of broker nodes. For example, increase the broker nodes to handle higher data loads or decrease the broker nodes for a testing environment.

  • In the values.yaml file, specify the number of broker nodes in the Helm value global.broker.replicaCount.

Example

Specifying Which StorageClass Connectware Should Use (Optional)

A broker cluster can contain several Kubernetes StorageClasses. You can specify which StorageClass Connectware should use.

  • In the values.yaml file, specify the StorageClass in the Helm value global.storage.storageClassName.

Example

There are several configuration parameters to control the StorageClass of each volume that Connectware uses.

Specifying CPU and Memory Resources (Optional)

By default, Connectware is configured for high-performance systems and according to the guaranteed Quality of Service (QoS) class. However, you can use the Kubernetes resource management values requests and limits to specify the CPU and memory resources that Connectware is allowed to use.

circle-exclamation
  • In the values.yaml file, specify the CPU and memory limits and requests in the Helm value global.podResources. Specify the limits and requests as Kubernetes quantities.

  • You can use the default values shipped with Connectware as a starting point. You can find these in your default-values.yaml file you created earlier.

Example

See also

Installing Connectware

Once you've configured your values.yaml file, deploy Connectware to your Kubernetes cluster.

  • Run the following command, specifying your installation name and target namespace:

Example

Result: Connectware deploys to your cluster according to your kubectl configuration.

Verifying the Connectware Installation

Monitor the Connectware installation progress to ensure everything runs smoothly and identify any potential issues.

Monitoring the Installation Progress

The installation typically takes a few minutes. Choose one of these monitoring options:

  • To monitor the current status of the installation process, enter the following command:

  • To monitor the continuous progress of the installation process, enter the following command. This command refreshes every 5 seconds to reflect the current status:

  • To stop monitoring the continuous progress of the installation process , press Ctrl+C.

Pod Stages During Installation

During the Connectware installation, pods progress through these stages:

  • Pending

  • PodInitializing

  • ContainerCreating

  • Init:x/x

  • Running

When pods reach Running status, they complete their startup process before reporting as ready. All pods must reach Running status with all containers ready. This is shown when the READY column displays matching numbers (e.g., 1/1).

Example

NAME
READY
STATUS
RESTARTS
AGE

admin-web-app-7cd8ccfbc5-bvnzx

1/1

Running

0

3h44m

auth-server-5b8c899958-f9nl4

1/1

Running

0

3m3s

broker-0

1/1

Running

0

3h44m

broker-1

1/1

Running

0

2m1s

connectware-7784b5f4c5-g8krn

1/1

Running

0

21s

container-manager-558d9c4cbf-m82bz

1/1

Running

0

3h44m

ingress-controller-6bcf66495c-l5dpk

1/1

Running

0

18s

postgresql-0

1/1

Running

0

3h44m

protocol-mapper-67cfc6c848-qqtx9

1/1

Running

0

3h44m

service-manager-f68ccb767-cftps

1/1

Running

0

3h44m

system-control-server-58f47c69bf-plzt5

1/1

Running

0

3h44m

workbench-5c69654659-qwhgc

1/1

Running

0

15s

Result: When all pods show Running status with matching READY values, Connectware is installed and started. You can now access the Admin UI for additional configuration or verification.

Troubleshooting Pod Stages

If a pod is in another state than expected or if it is stuck at a certain stage for more than three minutes, there might be an issue.

  • To investigate the pod status, enter the following command:

For help on solving issues, see Troubleshooting Connectware on Kubernetes.

Logging Into Connectware for the First Time

Access the Admin UI through the Kubernetes LoadBalancer Service. In your new Connectware installation, the LoadBalancer is named connectware. How to access the LoadBalancer depends on which LoadBalancer provider your cluster offers.

  1. Check if your load balancer provider has connected to your Connectware service via the following command:

  1. Depending on the result, do one of the following:

    1. If your IP address or hostname is displayed in the EXTERNAL-IP column, you can access the Admin UI through it.

    2. If no load balancer provider is available in your cluster, you can add an external load balancer.

  2. To verify that the installation was successful, enter the following command to forward the service to your local machine through kubectl:

  1. Access the Admin UI at https://localhost:10443. Connectware uses its own PKI infrastructure by default.

  2. Accept the certificate warning in your browser.

  3. Log in with the default credentials:

    • Username: admin

    • Password: admin

triangle-exclamation
  1. To change the username and password, see Changing Usernames and Changing User Passwords.

  2. Navigate to System > Status and verify all components show Running status.

Result: Your Connectware installation is ready to use.

For more information about LoadBalancer services, see LoadBalancer (Kubernetes documentation)arrow-up-right.

Last updated

Was this helpful?