Namespace-scoped Installation
Aperture Controller can be installed in a single namespace without any cluster level resources.
Prerequisites
Prepare a
values.yaml
file which switches the Aperture Controller to namespace-scoped:controller:
namespaceScoped: trueIf you want to install the Aperture Controller using
Helm
or 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
install
command with thevalues.yaml
file prepared above:- Helm
- aperturectl
helm install controller aperture/aperture-controller -f values.yaml --skip-crds
If 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.yaml
If you want to use your own certificates, run the below command:
aperturectl install controller --version v2.34.0 --values-file values.yaml
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 theinstall
command: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_HERE
andPROMETHEUS_ADDRESS_HERE
with 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-crds
aperturectl install controller --version v2.34.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: Ensure that the flag
web.enable-remote-write-receiver
is 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.yaml
file and pass it withinstall
command: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-crds
aperturectl install controller --version v2.34.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.
If you want to deploy the Aperture Controller into a namespace other than
default
, use the--namespace
flag:- Helm
- aperturectl
helm install controller aperture/aperture-controller -f values.yaml --namespace aperture-controller --create-namespace --skip-crds
aperturectl 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.yaml
file 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.yaml
aperturectl install controller --version v2.34.0 --values-file values.yaml --generate-cert
If you have deployed the Aperture Controller into a namespace other than
default
, use the--namespace
flag:- 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-controller
aperturectl 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.yaml
aperturectl uninstall controller --values-file values.yaml --version v2.34.0
If 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.yaml
aperturectl uninstall controller --namespace aperture-controller --values-file values.yaml --version v2.34.0
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