Skip to main content
Version: 2.7.0

Namespace-scoped Installation

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

Prerequisites

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

    controller:
    namespaceScoped: true
  2. If you want to install the Aperture Controller using Helm or don't want to use the certificates generated by aperturectl, you have to create a Secret containing the server SSL/TLS certificate and key for the Aperture Controller.

    Add the name of the Secret in the values.yaml:

    controller:
    namespaceScoped: true
    serverCert:
    secretName: SECRET_NAME_HERE
    certFileName: "CERTIFICATE_FILENAME_HERE"
    keyFileName: "KEY_FILENAME_HERE"

Installation

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

  1. Run the following install command with the values.yaml file prepared above:

    If you want to use the Self-signed certificates generated by aperturectl, run the below command:

    aperturectl install controller --version v2.7.0 --generate-cert --values-file values.yaml

    If you want to use your own certificates, run the below command:

    aperturectl install controller --version v2.7.0 --values-file values.yaml
  2. By default, Prometheus and etcd instances are installed. If you do not want to install and use your existing instances of Prometheus or etcd, configure the following values in the values.yaml file and pass it with the install command:

    controller:
    namespaceScoped: true
    config:
    etcd:
    endpoints: ["ETCD_ENDPOINT_HERE"]
    prometheus:
    address: "PROMETHEUS_ADDRESS_HERE"
    etcd:
    enabled: false

    prometheus:
    enabled: false

    Replace the values of ETCD_ENDPOINT_HERE and PROMETHEUS_ADDRESS_HERE with the actual values of etcd and Prometheus, which will be used by the Aperture Controller.

    aperturectl install controller --version v2.7.0 --values-file values.yaml --generate-cert

    A list of all the configurable parameters for etcd are available here and Prometheus are available here.

    Note: Please ensure that the flag web.enable-remote-write-receiver is enabled on your existing Prometheus instance, as it is required by the Aperture Controller.

  3. If you want to modify the default parameters or the Aperture Controller configuration, for example log, you can update the values.yaml file and pass it with install command:

    controller:
    namespaceScoped: true
    config:
    log:
    level: debug
    pretty_console: true
    non_blocking: false
    aperturectl install controller --version v2.7.0 --values-file values.yaml --generate-cert

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

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

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

    aperturectl install controller --version v2.7.0 --values-file values.yaml --namespace aperture-controller --generate-cert

Upgrade Procedure

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

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

    aperturectl install controller --version v2.7.0 --values-file values.yaml --generate-cert
  2. If you have deployed the Aperture Controller into a namespace other than default, use the --namespace flag:

    aperturectl install controller --version v2.7.0 --values-file values.yaml --namespace aperture-controller --generate-cert

Verifying the Installation

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

kubectl get pod

You should see pods for Aperture Controller in RUNNING state.

Uninstall

You can uninstall the Aperture Controller 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 Controller:

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

    aperturectl uninstall controller --namespace aperture-controller --values-file values.yaml --version v2.7.0
  3. By default, the Secret and ConfigMap generated by the aperturectl for certificates of the Aperture Controller is not deleted with above steps. If you want to delete them, run the below commands:

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