Redis requirements for Voice services
Register services and endpoints that connect to Redis.
Before you deploy the Voice services, you must deploy the infrastructure services. See Third-party prerequisites for the list of required infrastructure services. It is your responsibility to deploy and manage all required third-party services.
This page describes how to register Redis services in Consul to enable connections from the Voice services. Complete the work on this page before you make any changes described in Configure Voice Microservices.
Register the Redis service in Consul
After you create the Redis cluster, register the Redis IP address with Consul. You must create cluster information for the Kubernetes services and endpoints that connect to Redis. Once the Kubernetes services are created, Consul will automatically sync those services and register them in Consul.
Create Kubernetes services and endpoints
Perform Redis registration for all of the following Redis service names. The Voice services use these service names to connect to the Redis cluster.redis-agent-state
redis-call-state
redis-config-state
redis-ors-state
redis-ors-stream
redis-registrar-state
redis-rq-state
redis-sip-state
redis-tenant-stream
Manifest file
For all the preceding Redis service names, create a separate service and endpoint using the following example:apiVersion: v1
kind: Service
metadata:
name: <redis-service-name> (ex, redis-agent-state)
namespace: <namespace> (ex, voice)
annotations:
"consul.hashicorp.com/service-sync": "true"
spec:
clusterIP: None
---
apiVersion: v1
kind: Endpoints
metadata:
name: <redis-service-name> (ex, redis-agent-state)
namespace: <namespace> (ex, voice)
subsets:
- addresses:
- ip: <redis Cluster IP> (ex, 51.143.122.147)
ports:
- port: <redis port> (ex, 6379)
name: redisport
protocol: <redis transport> (ex, TCP)
kubectl get service infra-redis-redis-cluster -n infra -o jsonpath='{.spec.clusterIP}'