25min

Installing ContainIQ

Install ContainIQ Metrics Server

Check if it's already installed:

kubectl get pods --all-namespaces | grep metrics-server

If nothing is returned, install it with the command below:

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml



Install ContainIQ Agent

Using kubectl

Download the deployment file: curl -L -o deployment.yaml https://raw.githubusercontent.com/containiq/containiq-deployment/master/deployment.yaml

The deployment.yaml file contains all the necessary resources to run the ContainIQ agent in your cluster.

Step 1

Add your API key to the secret object on line 19 of the deployment.yaml file.

Step 2 (Optional)

On line 28 in the configmap, replace default with a name of your choice. This is later used when filtering by cluster on our backend and allows you to differentiate between your clusters.

Step 3

Run kubectl apply -f deployment.yaml

Using Helm

Shell
|

Helm 2

Shell
|

Helm 3

Shell
|



Installing ContainIQ On-Prem

ContainIQ can be run both in-cloud or on-prem following the same installation instructions above. To learn more about ContainIQ's on-prem solution, please contact us directly. It should be noted, in order to run ContainIQ on-prem properly, you will need to install the following tools: PostgreSQL, Kafka, and ClickHouse.

Uninstalling ContainIQ

Uninstall using Kubectl

To uninstall ContainIQ run the following command:

kubectl delete ns containiq

Uninstall using HELM

Shell
|



How to Disable the Latency Feature Set

Disable using kubectl

Download the deployment file: curl -L -o deployment.yaml https://raw.githubusercontent.com/containiq/containiq-deployment/master/deployment.yaml

Step 1

Open the deployment.yaml file and remove the latency-controller DaemonSet (lines 109 through172) and save the file.

Step 2

Run kubectl apply -f deployment.yaml

Disable using Helm

To uninstall the ContainIQ latency-controller using Helm, change latency.enabled=false.

Shell
|



How to Disable the Logging Feature Set

Disable using kubectl

Download the deployment file: curl -L -o deployment.yaml https://raw.githubusercontent.com/containiq/containiq-deployment/master/deployment.yaml

Step 1

Open the deployment.yaml file and remove all mentions of fluentd (lines 173 through 287) and save the file.

Step 2

Run kubectl apply -f deployment.yaml.



Disable using Helm

To uninstall the ContainIQ logging feature set using Helm, change logs.enabled=false.



Sending Fargate Logs to ContainIQ

Create a Firehose stream in Kinesis

Document image



  • Change delivery stream name to ContainIQ
  • Select Direct Put for the source field
  • Select HTTP endpoint for the destination
  • Put https://api.containiq.com/ingest/logs/fargate into the HTTP endpoint URL
  • Put your API key into the access key field
  • Add the parameter cluster with the value equal to what was set when you initially deployed the ContainIQ agent



AWS configuration

Create the aws-observability namespace

Run kubectl create ns aws-observability.

Create the FluentBit config

Replace <aws-region> below with the region of your cluster.

Shell
|



Apply the config

Run kubectl apply -f fluentbit-config.yaml.

Create the role JSON

Replace resource below with the ARN from the Firehose stream you created in the first step.

Shell
|



Apply the role JSON

Run aws iam create-policy \ --policy-name FluentBitEKSFargate \ --policy-document file://allow_kinesis_put_permission.json.

Set the pod execution role

Replace <Your-Cluster-Name> below with the name of your EKS cluster. You can find this name by running aws eks list-clusters.

Replace <fargate-profile> below with the Fargate profile you want to get logs from. You can find this by running aws eks list-fargate-profiles --cluster-name <Your-Cluster-Name> .

POD_EXEC_ROLE=$(aws eks describe-fargate-profile \ --cluster-name <Your-Cluster-Name> \ --fargate-profile-name <fargate-profile> | jq -r '.fargateProfile.podExecutionRoleArn' | awk -F"/" '{print (NF>1)? $NF : ""}' )

Set the policy name

Shell
|



Attach the policy

Run aws iam attach-role-policy \ --policy-arn $POLICY_NAME \ --role-name $POD_EXEC_ROLE.



Updated 10 May 2022
Did this page help?
Yes
No