Namespace-scoped Installation
Aperture Controller can be installed in a single namespace without any cluster level resources.
Prerequisites
Prepare a
values.yamlfile which switches the Aperture Controller to namespace-scoped:controller:
namespaceScoped: trueIf you want to install the Aperture Controller using
Helmor don't want to use the certificates generated byaperturectl, 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.
Run the following
installcommand with thevalues.yamlfile prepared above:- Helm
- aperturectl
helm install controller aperture/aperture-controller -f values.yaml --skip-crdsIf you want to use the Self-signed certificates generated by
aperturectl, run the below command:aperturectl install controller --version v2.34.0 --generate-cert --values-file values.yamlIf you want to use your own certificates, run the below command:
aperturectl install controller --version v2.34.0 --values-file values.yamlBy 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.yamlfile and pass it with theinstallcommand:controller:
namespaceScoped: true
config:
etcd:
endpoints: ["ETCD_ENDPOINT_HERE"]
prometheus:
address: "PROMETHEUS_ADDRESS_HERE"
etcd:
enabled: false
prometheus:
enabled: falseReplace the values of
ETCD_ENDPOINT_HEREandPROMETHEUS_ADDRESS_HEREwith the actual values of etcd and Prometheus, which will be used by the Aperture Controller.- Helm
- aperturectl
helm install controller aperture/aperture-controller -f values.yaml --skip-crdsaperturectl install controller --version v2.34.0 --values-file values.yaml --generate-certA list of all the configurable parameters for etcd are available here and Prometheus are available here.
Note: Ensure that the flag
web.enable-remote-write-receiveris enabled on your existing Prometheus instance, as it is required by the Aperture Controller.If you want to modify the default parameters or the Aperture Controller configuration, for example
log, you can update thevalues.yamlfile and pass it withinstallcommand:controller:
namespaceScoped: true
config:
log:
level: debug
pretty_console: true
non_blocking: false- Helm
- aperturectl
helm install controller aperture/aperture-controller -f values.yaml --skip-crdsaperturectl install controller --version v2.34.0 --values-file values.yaml --generate-certAll the configuration parameters for the Aperture Controller are available here.
A list of configurable parameters for the installation can be found in the README.
If you want to deploy the Aperture Controller into a namespace other than
default, use the--namespaceflag:- Helm
- aperturectl
helm install controller aperture/aperture-controller -f values.yaml --namespace aperture-controller --create-namespace --skip-crdsaperturectl install controller --version v2.34.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.
Use the same
values.yamlfile created as part of Installation Steps and pass it with below command:- Helm
- aperturectl
helm template controller aperture/aperture-controller -f values.yaml | kubectl apply -f -Once all the pods are in a running state after upgrade, run the below command to keep the Helm release updated:
helm upgrade controller aperture/aperture-controller -f values.yamlaperturectl install controller --version v2.34.0 --values-file values.yaml --generate-certIf you have deployed the Aperture Controller into a namespace other than
default, use the--namespaceflag:- Helm
- aperturectl
helm template controller aperture/aperture-controller -f values.yaml --namespace aperture-controller | kubectl apply -f -Once all the pods are in a running state after upgrade, run the below command to keep the Helm release updated:
helm upgrade controller aperture/aperture-controller -f values.yaml --namespace aperture-controlleraperturectl install controller --version v2.34.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.
Uninstall the Aperture Controller:
- Helm
- aperturectl
helm uninstall controller -f values.yamlaperturectl uninstall controller --values-file values.yaml --version v2.34.0If you have installed the chart in some other namespace than
default, run the below commands:- Helm
- aperturectl
helm uninstall controller --namespace aperture-controller -f values.yamlaperturectl uninstall controller --namespace aperture-controller --values-file values.yaml --version v2.34.0By default, the Secret and ConfigMap generated by the
aperturectlfor 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