Namespace-scoped Installation
Aperture Agent can be installed in a single namespace without any cluster level resources.
Prerequisites
Prepare a
values.yaml
file which switches the Aperture Agent to namespace-scoped:agent:
namespaceScoped: trueIf you want to install the Aperture Agent using
Helm
or don't want to use the certificates generated byaperturectl
and want to enable Agent Functions for communication with the Aperture Controller, configure the ConfigMap having the client SSL/TLS certificate for the same invalues.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.
Configure the below parameters of etcd and Prometheus for the Agent by updating the
values.yaml
and passing it withinstall
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
andPROMETHEUS_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-commandsaperturectl
commands won't work.If you have installed the Aperture Controller on the same cluster in
default
namespace, with etcd and Prometheus usingcontroller
as release name, the values for the values forETCD_ENDPOINT_HERE
,PROMETHEUS_ADDRESS_HERE
andCONTROLLER_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
- Helm
aperturectl install agent --version v2.6.0 --values-file values.yaml
helm install agent aperture/aperture-agent -f values.yaml --skip-crds
If you want to modify the default parameters or the Aperture Agent configuration, for example
log
, you can update thevalues.yaml
file and pass it withinstall
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
- Helm
aperturectl install agent --version v2.6.0 --values-file values.yaml
helm install agent aperture/aperture-agent -f values.yaml --skip-crds
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.
If you want to deploy the Aperture Agent into a namespace other than
default
, use the--namespace
flag:- aperturectl
- Helm
aperturectl install agent --version v2.6.0 --values-file values.yaml --namespace aperture-agent
helm install agent aperture/aperture-agent -f values.yaml --namespace aperture-agent --create-namespace --skip-crds
Upgrade Procedure
By following these instructions, you will have deployed the upgraded version of Aperture Agent into your cluster.
Use the same
values.yaml
file created as part of Installation Steps and pass it with below command:- aperturectl
- Helm
aperturectl install agent --version v2.6.0 --values-file values.yaml
helm template agent aperture/aperture-agent -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 agent aperture/aperture-agent -f values.yaml
If you have deployed the Aperture Agent into a namespace other than
default
, use the--namespace
flag:- aperturectl
- Helm
aperturectl install agent --version v2.6.0 --values-file values.yaml --namespace aperture-agent
helm template agent aperture/aperture-agent -f values.yaml --namespace aperture-agent | 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 agent aperture/aperture-agent -f 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.
Uninstall the Aperture Agent:
- aperturectl
- Helm
aperturectl uninstall agent --values-file values.yaml --version v2.6.0
helm uninstall agent -f values.yaml
If you have installed the chart in some other namespace than
default
, execute the below commands:- aperturectl
- Helm
aperturectl uninstall agent --namespace aperture-agent --values-file values.yaml --version v2.6.0
helm uninstall agent --namespace aperture-agent -f values.yaml
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