Install, Upgrade, and Uninstall Agents

Kubernetes Agents

Install

Kubernetes Agent installation has a different flow than normal agents.

Steps

  1. Create a configuration for a Kubernetes platform
    1. Kubernetes Daemonset: Deploys an agent to each node in the cluster.
    2. Kubernetes Deployment: Deploys an agent as a single pod deployment.
    3. OpenShift Daemonset: Deploys an agent to each node in the cluster.
    4. OpenShift Deployment: Deploys an agent as a single pod deployment.
  2. Navigate to Agent's page and select "Install Agents"
  3. Choose a Kubernetes Platform
  4. Select your configuration from step 1
  5. Copy the YAML manifest to a file
  6. Deploy the YAML manifest with kubectl apply -f <file name>

The agents will be deployed to the cluster in the bindplane-agent namespace and connect to BindPlane OP automatically.

Example Installation

Create a configuration using a Kubernetes compatible source. this example uses the Kubernetes Container Logs source.

Once the configuration has been created, navigate to the Agents page and select "Install Agents".

Select your Kubernetes platform and configuration. You will be prompted to copy the YAML manifest. Copy it and save it to a file.

Ensure that the OPAMP_ENDPOINTenvironment variable has the correct value for your server. If you did not configure ingress, this value to match your deployments clusterIP service name and namespace. In this example, the service name is "my-bindplane" and the namespace is "default".

- name: OPAMP_ENDPOINT
  value: "ws://my-bindplane.default.svc.cluster.local:3001/v1/opamp"

If you configured ingress, your OPAMP_ENDPOINT should contain the ingress hostname and port. The port should be 80 for non TLS ingress, and 443 if ingress TLS is enabled. Similarly, the protocol should be ws (websocket) when TLS is not configured, and wss (secure web socket) when TLS is enabled.

Deploy the YAML manifest with kubectl apply -f <manifest file path>. Once deployed, your agent(s) will appear on the Agents page, and they will be bound to your configuration.

Upgrade

You can upgrade the agent version by re-deploying the agents using the process outlined in the Install section. Alternatively, you can modify the image tag and re-deploy with kubectl apply.

Uninstall

Agents can be uninstalled by using the kubectl delete command against the previously downloaded YAML manifest.

kubectl delete -f <file name>

Limitations

Agent Update

Kubernetes agents cannot be updated through the web interface. Instead, updates are performed by modifying the Kubernetes YAML manifest image tag or by re-generating the YAML manifest using the Install Agents page.

Change Configurations

Kubernetes agents are bound to a single configuration. Changes to that configuration are supported, however, changing to a new configuration is not supported. To change to a new configuration, you can re-deploy the agents by using the Install Agents page and selecting your new configuration.

Non Kubernetes Agents

Agents running outside of Kubernetes can be installed as long as ingress has been configured. See the getting started guide for agent installation instructions.