Edit the globals.yaml.gotmplfile
Run the following command to edit the globals.yaml.gotmpl file which is at /var/appd/config:
vi globals.yaml.gotmplThis page explains the parameters in the globals.yaml.gotmpl.
dnsDomain
dnsDomain: appd.example.com dnsNames
List the Ingress domain names that you require to configure for the Virtual Appliance.
- Include local host for
appdclito access the cluster. If the domain names are unavailable, specify<nodeip>.nip.iofor each cluster. You must also include thednsDomainas a value, in addition to other specified values. - Some network policies might block the IP address that contains
x.x.x.x.nip.io. In such scenarios, update the/etc/hostsfile. See, Update DNS Configuration for an Air-Gapped Environment. - If you are using domain names for your Virtual Appliance, comment or delete the
range splitfunction. And, comment thelocalhost.
dnsNames: &dnsNames
# - localhost
- 10.0.0.1.nip.io
- 10.0.0.2.nip.io
- 10.0.0.3.nip.io
- appd.example.com
# If you are using Virtual IP address for your standalone Controller, comment or delete the range split function.
{{ range split " " $internalIPs }} {{ printf " - %s.%s" . "nip.io" }}
{{ end }}license
Specify the license file that you require to apply on your Virtual Appliance.
By default, the globals.yaml.gotmpl file has random UUIDs for controllerKey and eumKey. In case of Standard deployment, if you wish to generate new UUIDs for controllerkey and eumkey, run the gen-uuid.sh script from the helm charts folder (/home/appduser/appd-charts/utils).
Specify the generated UUIDs in the license section for service and agent authorization.
license:
file: |
{{ if isFile "/var/appd/config/license.lic" }}
{{ readFile "/var/appd/config/license.lic" | indent 4 }}
{{ end }}
controllerKey: <Controller Key>
eumKey: <EUM Key>appdController
Specify the Controller details that you want to bootstrap during deployment.
tenantAccountName: Specify the default account name (customer1). The Controller uses this name to create an account.nodeLocked: (Only for standard deployment) Set this field toTrueif you require to apply the MAC address-based license on a specific node in the cluster.nodeName: (Only for standard deployment) Specify the name of the node if thenodeLockedis set toTrue. The Controller is bound to this node.customCaCerts: (Only for standard deployment) Specify additional CA certs for outbound API calls from the Controller. By default, the Controller specifies the common CA certs.
appdController:
tenantAccountName: &account customer1
nodeLocked: false
nodeName: "appd-node-1"
customCaCerts: false
{{ if isFile "/var/appd/config/cacert-extras.jks" }}
caCertsFile: {{ readFile "/var/appd/config/cacert-extras.jks" | b64enc | quote }}
{{ end }}eum
Specify the external EUM URL. Ingress is configured for the Virtual Appliance. Therefore, this URL is set up with one of the dnsNames .
eum:
externalUrl: <URL_of_EUM>events
Specify the external events URL for Analytics Agent. This uses the node port as 32105
enableSsl: TLS is enabled for the events endpoint. The default value istrue.externalUrl: Events service external URL.
sudo ufw allow 32105/tcpevents:
enableSsl: true
externalUrl: <URL_of_Events_Service>aiops
Specify the external AIOps URL. This is set with one of dnsNames because Ingress is configured for the Virtual Appliance.
aiops:
externalUrl: <URL_of_AIOps>ingress
Configure SSL for the Ingress controller. By default, Ingress endpoint has self-signed certificates enabled.
defaultCert: Set totrueto use self-signed certificates, which are auto-generated. Set tofalseif CA certs are provided.keyFile: Specify the private key from the CA provider to be used for Ingress in/var/appd/config/ingress.key.certFile: Specify the public key (PEM file) from the CA provider to be used for Ingress in/var/appd/config/ingress.crt.
- Ensure the
ingess.keyis in PEM plain text format. - The SAN of the server certificate in
ingress.crtmust include all the hostnames that are defined in the dnsNames section.
{{
ingress:
defaultCert: true
{{ if isFile "/var/appd/config/ingress.key"}}
keyFile: {{ readFile "/var/appd/config/ingress.key" | b64enc | quote }}
{{ end }}
{{ if isFile "/var/appd/config/ingress.crt" }}
certFile: {{ readFile "/var/appd/config/ingress.crt" | b64enc | quote }}
{{ end }}}}enableClusterAgent
By default, this parameter is set to true. This setting helps you monitor the CPU, Memory, and Network usage of your cluster nodes. See View Container Details
false.enableClusterAgent: falsehybrid
By default, this parameter is set to false.
Enable this parameter to true to leverage your current Controller, Events Service, and End User Monitoring components from Splunk AppDynamics On-Premises while installing Anomaly Detection and Secure Application Services in your Kubernetes cluster.
When set to true, the Controller and MySQL settings refer to an existing deployment of Controller.
- Set the Controller domain name.Note:
If you have set up the Virtual Appliance without a load-balancer or virtual IP address, the connection will not automatically switch to the active node during high-availability failover.
Therefore, update the IP address, edit
hybrid.controller.domainNameandhybrid.mysql.dbhostin theglobal.yaml.gotmplfile after failover.If you have set up the Virtual Appliance with a load-balancer (virtual IP address), enter the load-balancer's domain name and port in the
hybrid.controller.domainName,hybrid.controller.port, andhybrid.mysql.dbhostsections of theglobal.yaml.gotmplfile.This domain name should resolve to the load-balancer's virtual IP address.
- Configure the port to access the standalone Controller.
- If the TLS is enabled in the Controller
- Set the
sslEnabledfield totrue. - Upload the Controller CA certificates for the standalone Controller in
/var/appd/config/hybrid-controller-ca.crtif it is absent.
- Set the
- Configure the MySQL host. It is the same host as the Controller domain.
- Configure a port for the standalone Controller database.
- Enter the MySQL CA certificates that you copied from the On-Premises Classic deployment.Note: Ensure that the filename is correct in
hybrid.mysql.mysqlCaCertsFileparameter. - (Optional) Enter CA certificates for Kafka services.Note:
Ensure that the filename is correct in
hybrid.kafka.certFileparameter.When you generate the CA certificates for Kafka, ensure to specify the Kafka IP addresses. These IP addresses are the same node IP addresses.
Example IP Addresses:
ipAddresses: - 10.0.0.1 - 10.0.0.2 - 10.0.0.3
hybrid:
enable: false
controller:
domainName: controller.nip.io
port: 8181
sslEnabled: true
{{ if isFile "/var/appd/config/hybrid-controller-ca.crt" }}
controllerCaCertsFile: {{ readFile "/var/appd/config/hybrid-controller-ca.crt" | b64enc | quote }}
{{ end }}
mysql:
dbHost: controller.nip.io
dbPort: 3388
{{ if isFile "/var/appd/config/hybrid-mysql-ca.crt" }}
mysqlCaCertsFile: {{ readFile "/var/appd/config/hybrid-mysql-ca.crt" | b64enc | quote }}
{{ end }}
kafka:
defaultCert: true
{{ if isFile "/var/appd/config/hybrid-kafka.key" }}
keyFile: {{ readFile "/var/appd/config/hybrid-kafka.key" | b64enc | quote }}
{{ end }}
{{ if isFile "/var/appd/config/hybrid-kafka.crt" }}
certFile: {{ readFile "/var/appd/config/hybrid-kafka.crt" | b64enc | quote }}
{{ end }}
schemaregistry:
externalUrl: https://<domain_name>/schemaregistrynfs
If you enable the NFS server to back up and restore, update the NFS parameters.
# NFS parameters
nfs:
enabled: false
server: nfs-server
path: /mnt/nfs_sharebackup
You can back up and restore Elasticsearch, PostgreSQL, and MySQL by the MinIO and NFS server.
Update the backup section based on the approach. For more information, see Backup and Restore Virtual Appliance.
# Backup config for datastores
backup:
elasticsearch:
s3:
enabled: false
repoName: repo2
endpoint: https://s3-endpoint
protocol: https
bucket: es-bucket
region: us-east-1
{{ if isFile "/var/appd/config/es-s3-ca.jks" }}
certFile: {{ readFile "/var/appd/config/es-s3-ca.jks" | b64enc | quote }}
{{ end }}
fs:
enabled: false
repoName: repo3
storage: 5Gi
postgresql:
s3:
enabled: false
repoName: repo2
endpoint: https://s3-endpoint
bucket: postgresql-bucket
region: us-east-1
{{ if isFile "/var/appd/config/postgres-s3-ca.crt" }}
certFile: {{ readFile "/var/appd/config/postgres-s3-ca.crt" | b64enc | quote }}
{{ end }}
fs:
enabled: false
repoName: repo3
storage: 5Gi
mysql:
s3:
enabled: false
repoName: repo2
endpoint: https://s3-endpoint
bucket: mysql-bucket
region: us-east-1
{{ if isFile "/var/appd/config/mysql-s3-ca.crt" }}
certFile: {{ readFile "/var/appd/config/mysql-s3-ca.crt" | b64enc | quote }}
{{ end }}
fs:
enabled: false
repoName: repo3
storage: 5Gi