Skip to main content
Version: development

Namespace-scoped Installation

Aperture Agent can be installed in a single namespace without any cluster level resources.

Prerequisites

  1. Prepare a values.yaml file which switches the Aperture Agent to namespace-scoped:

    agent:
    namespaceScoped: true
  2. If you want to install the Aperture Agent using Helm or don't want to use the certificates generated by aperturectl and want to enable Agent Functions for communication with the Aperture Controller, configure the ConfigMap having the client SSL/TLS certificate for the same in values.yaml file as below:

    agent:
    namespaceScoped: true
    controllerCert:
    cmName: NAME_OF_CONFIGMAP
    certFileName: CERTIFICATE_FILENAME_KEY

Installation

By following these instructions, you will have deployed the Aperture Agent into your cluster.

  1. Configure the below parameters of etcd and Prometheus for the Agent by updating the values.yaml and passing it with install command:

    agent:
    namespaceScoped: true
    config:
    etcd:
    endpoints: ["ETCD_ENDPOINT_HERE"]
    prometheus:
    address: "PROMETHEUS_ADDRESS_HERE"
    agent_functions:
    endpoints: ["CONTROLLER_ENDPOINT_HERE"]

    Replace the values of ETCD_ENDPOINT_HERE and PROMETHEUS_ADDRESS_HERE with the actual values of etcd and Prometheus, which are also being used by the Aperture Controller you want these Agents to connect to. CONTROLLER_ENDPOINT_HERE should point to Aperture Controller. If you skip it, some sub-commands aperturectl commands won't work.

    If you have installed the Aperture Controller on the same cluster in default namespace, with etcd and Prometheus using controller as release name, the values for the values for ETCD_ENDPOINT_HERE, PROMETHEUS_ADDRESS_HERE and CONTROLLER_ENDPOINT_HERE would be as below:

    agent:
    namespaceScoped: true
    config:
    etcd:
    endpoints: ["http://controller-etcd.default.svc.cluster.local:2379"]
    prometheus:
    address: "http://controller-prometheus-server.default.svc.cluster.local:80"
    agent_functions:
    endpoints: ["aperture-controller.default.svc.cluster.local:8080"]
    aperturectl install agent --version main --values-file values.yaml
  2. If you want to modify the default parameters or the Aperture Agent configuration, for example log, you can update the values.yaml file and pass it with install command:

    agent:
    namespaceScoped: true
    config:
    etcd:
    endpoints: ["http://controller-etcd.default.svc.cluster.local:2379"]
    prometheus:
    address: "http://controller-prometheus-server.default.svc.cluster.local:80"
    log:
    level: debug
    pretty_console: true
    non_blocking: false
    aperturectl install agent --version main --values-file values.yaml

    All the configuration parameters for the Aperture Agent are available here.

    A list of configurable parameters for the installation can be found in the README.

  3. If you want to deploy the Aperture Agent into a namespace other than default, use the --namespace flag:

    aperturectl install agent --version main --values-file values.yaml --namespace aperture-agent

Upgrade Procedure

By following these instructions, you will have deployed the upgraded version of Aperture Agent into your cluster.

  1. Use the same values.yaml file created as part of Installation Steps and pass it with below command:

    aperturectl install agent --version main --values-file values.yaml
  2. If you have deployed the Aperture Agent into a namespace other than default, use the --namespace flag:

    aperturectl install agent --version main --values-file values.yaml --namespace aperture-agent

Verifying the Installation

Once you have successfully deployed the resources, confirm that the Aperture Agent is up and running:

kubectl get pod

You should see pods for Aperture Agent in RUNNING state.

Uninstall

You can uninstall the Aperture Agent and its components installed above, by following the below steps.

Use the same values.yaml file created as part of Installation Steps and pass it with below command.

  1. Uninstall the Aperture Agent:

    aperturectl uninstall agent --values-file values.yaml --version main
  2. If you have installed the chart in some other namespace than default, execute the below commands:

    aperturectl uninstall agent --namespace aperture-agent --values-file values.yaml --version main
  3. By default, the ConfigMap generated by the aperturectl for client certificate of the Aperture Controller is not deleted with above steps. If you want to delete them, run the below commands:

    kubectl delete configmap -l app.kubernetes.io/instance=agent-aperture-agent