Я установил Bitnami Helm Chart для HA Redis: https://bitnami.com/stack/redis/helm
aleg@Azure:~$ kubectl get pods | grep redis
redis-1580896952-master-0 1/1 Running 0 67m
redis-1580896952-slave-0 1/1 Running 0 67m
redis-1580896952-slave-1 1/1 Running 0 65m
aleg@Azure:~$ kubectl get svc | grep redis
redis-1580896952-headless ClusterIP None <none> 6379/TCP 67m
redis-1580896952-master ClusterIP 10.0.244.169 <none> 6379/TCP 67m
redis-1580896952-slave ClusterIP 10.0.250.136 <none> 6379/TCP 67m
Как мне к нему подключиться? Обслуживать или осваивать капсулу или что-то еще? Пожалуйста посоветуй.
Это хорошо объясняется Пример: развертывание приложения гостевой книги PHP с помощью Redis.
Объясняется весь процесс настройки, а затем Настройте и откройте интерфейс гостевой книги описывает, как открыть веб-интерфейс, обслуживающий HTTP-запросы. Он настроен для подключения к redis-master
сервис для запросов на запись и в redis-slave
сервис для запросов на чтение.
пример deployment
выглядит так:
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: frontend
labels:
app: guestbook
spec:
selector:
matchLabels:
app: guestbook
tier: frontend
replicas: 3
template:
metadata:
labels:
app: guestbook
tier: frontend
spec:
containers:
- name: php-redis
image: gcr.io/google-samples/gb-frontend:v4
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: GET_HOSTS_FROM
value: dns
# Using `GET_HOSTS_FROM=dns` requires your cluster to
# provide a dns service. As of Kubernetes 1.3, DNS is a built-in
# service launched automatically. However, if the cluster you are using
# does not have a built-in DNS service, you can instead
# access an environment variable to find the master
# service's host. To do so, comment out the 'value: dns' line above, and
# uncomment the line below:
# value: env
ports:
- containerPort: 80
При такой настройке вам просто нужно создать интерфейсную службу:
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
app: guestbook
tier: frontend
spec:
# comment or delete the following line if you want to use a LoadBalancer
type: NodePort
# if your cluster supports it, uncomment the following to automatically create
# an external load-balanced IP for the frontend service.
# type: LoadBalancer
ports:
- port: 80
selector:
app: guestbook
tier: frontend
Я рекомендую прочитать документацию по Redis.