Configure Splunk AppDynamics Virtual Appliance to use a self-managed Valkey service.
Confirm that the exact Valkey or Redis product, version, and topology are supported by the target release. A service described as Redis-compatible is not automatically supported.
Storage Requirements
Ensure that you have sufficient storage on Valkey to create required PVCs.
- Prepare a Valkey or Redis service that meets the supported contract.
Valkey Cluster mode, a non-default ACL user, separate data and Sentinel passwords, plaintext connections, client-certificate authentication, and services that do not expose the required Sentinel protocol are not supported.
- Configure availability, persistence, and capacity.
For production, use one writable primary, at least two replicas, three Sentinel voters, and Sentinel quorum 2. Place them across independent failure domains.
Use a tested eviction policy equivalent to allkeys-lru. Size the service for application data, connections, replication, persistence, failover, backups, and maintenance. Replication is not a backup; test restore and failover before production.
Because EUM uses the stable data endpoint directly, that endpoint must follow the writable role after failover. Sentinel discovery alone is not sufficient.
- Verify private network and DNS access from OpenShift.
- Plan non-overlapping network ranges.
- Configure forward and return routes, DNS, firewalls or security groups, NACLs, egress rules, and NetworkPolicies.
- Allow the configured data and Sentinel ports, normally
6379 and 26379, only from approved sources.
- Confirm that pods can reach the stable data endpoint, every Sentinel, and every primary address that Sentinel can advertise.
- Check whether the Kubernetes cluster has network connectivity.
- Prepare the TLS trust chain.
Provide the complete PEM-encoded public CA chain for the server certificates. Certificate SANs must cover the stable data endpoint, every Sentinel endpoint, and the exact DNS name or IP address that Sentinel advertises.
- Configure endpoints and TLS policy in config/external-redis.yaml.
externalRedis:
schemaVersion: 1
dataEndpoint:
host: redis-primary.customer.example.com
port: 6379
sentinel:
endpoints:
- redis-sentinel-1.customer.example.com:26379
- redis-sentinel-2.customer.example.com:26379
- redis-sentinel-3.customer.example.com:26379
masterName: primaryset
tls:
enabled: true
requireHostnameVerification: true
Keep both TLS settings true. Do not put the password or CA in this file.
- Add the password and CA to the protected config/secrets.yaml file.
redis:
external:
password: "<default-user-and-sentinel-password>"
caCert: |-
-----BEGIN CERTIFICATE-----
<public-CA-chain>
-----END CERTIFICATE-----
Keep config/secrets.yaml out of source control and restrict access to it.
- Validate the service before installation.
From the OpenShift network, verify DNS, routing, TLS identity, password authentication, Sentinel agreement, the writable role, and the required read/write and Lua operations. Confirm that the stable endpoint and the address returned by Sentinel identify the same writable primary.
- Verify Valkey or Redis after installation.
- Confirm that the
redis-external release is deployed and that external mode is reported.
Install Virtual Appliance with external services after you configure every external service required by the target release.