Install an Obcerv instance

Create a parameters file

Caution: It is possible to install using only the default parameters. However, this will result in containers with no resource limits that may consume all cluster resources. As a result, the default disk sizes may not be adequate depending on the expected volume. Consult your ITRS representative for more information.

Configure TLS

TLS is used to secure network traffic inside the cluster (service to service) and outside the cluster (clients connecting via an Ingress).

Ingress TLS is always enabled and cannot be disabled. However, TLS inside the cluster is optional and enabled by default. It can be disabled in the config:

tls:
  internal:
    enabled: false

Additionally, self-signed certificates can be automatically generated for quickly bootstrapping non-production environments. To enable:

tls:
  external:
    selfSigned: true

If self-signed certificates are not enabled, then you must either:

Port numbers

The Obcerv instance must have a unique port to listen to for client connection. The default port is TCP port 443 for communication from the client to the Obcerv instance.

If you are using a cloud service (such as AWS, Azure, or Google Cloud Platform), port 22 is needed to enable SSH access to the terminal for installation.

If these ports are unavailable, then you need to select available unique ports for the Obcerv instance.

Install Obcerv

Each instance of Obcerv must be assigned a unique name, for example demo.

helm install -f obcerv.yaml demo itrs/obcerv --version 1.1.0 -n itrs 

Check the installation status

Check the progress of the installation:

kubectl describe obcerv <instanceName> -n <namespace>

Refer to the Status section. While installation is in progress, the status will be DEPLOYING. After a successful installation, the status will be DEPLOYED. If any installation errors occur, the status will be FAILED and a reason will be given.

Multiple instances on one cluster

Multiple Obcerv instances can be installed on the same cluster. Each instance must be installed in its own namespace.

Obcerv includes a Collection Agent DaemonSet that is deployed on each node. This may lead to clashes with other Obcerv instances on the same cluster. The agent listens on the statsd port (8125 by default) and collects logs for all pods running on that node. To avoid clashing ports and collecting duplicate logs from each instance, set the following parameters uniquely for each instance:

collection:
  metrics:
    statsdPort: 8126
    # Only collect kube metrics for these namespace(s)
    namespaces:
    - "my-namespace"
  logs:
    # Only collect kube logs for these namespace(s)
    namespaces:
    - "my-namespace"
["Obcerv"] ["User Guide", "Technical Reference"]

Was this topic helpful?