Рубрики
Uncategorized

Бег Twemproxy. В Кубернетах

Бег Twemproxy. В Кубернетах

Автор оригинала: Pradeep.

В этом посте я хотел бы поделиться тем, как настроить Twemproxy для Charding Redis Cluster Wharding в Kubernetes.

Настройка Это задачи обязательны:

Бег Twemproxy в качестве единого развертывания реплики в Куберане. Запуск Redis Replicas как государственные средства с в Кубернетах. Позволяя другим стручкам в Кубестерах доступа к Twemproxy. Позволяя Twemproxy подключаться к стручкам Redis. Twemproxy Мы можем запустить Twemproxy как одно развертывание в Кубернетах. Мы можем использовать следующее изображение сообщества Jgoodall/Twemproxy

Развертывание и обслуживание Twemproxy:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: twemproxy
  name: twemproxy
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: twemproxy
    spec:
      containers:
      - image: jgoodall/twemproxy:latest
        name: twemproxy
        ports:
        - containerPort: 63791
        - containerPort: 63792
        - containerPort: 6222
      restartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: twemproxy
  name: twemproxy
spec:
  selector:
    app: twemproxy
  ports:
  - name: "63791"
    port: 63791
    targetPort: 63791
  - name: "63792"
    port: 63792
    targetPort: 63792
  - name: "6222"
    port: 6222
    targetPort: 6222

Конфигурация выше будет развертывать развертывание и обслуживание Twemproxy. Сервис в Кубернане Разрешить стручки к сети друг с другом, эта услуга позволит другим стручкам достигать Twemproxy.

twemproxy.yml:

local:
  listen: 0.0.0.0:63791
  hash: fnv1a_64
  hash_tag: "{}"
  distribution: ketama
  timeout: 500
  redis: true
  servers:
    - redis-0:6379:1
    - redis-1:6379:1
    - redis-2:6379:1

session:
  listen: 0.0.0.0:63792
  hash: fnv1a_64
  hash_tag: "{}"
  distribution: ketama
  auto_eject_hosts: true
  server_retry_timeout: 30000
  server_failure_limit: 3
  timeout: 500
  redis: true
  servers:
    - redis-0:6379:1
    - redis-1:6379:1
    - redis-2:6379:1
 

Выше находится конфигурация Twemproxy, которая должна быть установлена в виде объема конфигурации в развертывании Twemproxy.

Redis штан-центр Далее нам нужно создать государство Redis. Сохранение с 3 репликами создаст следующие стручки Redis-0, Redis-1 и Redis-2. Стручки, созданные от состояния, будут помечены как Statefulset.kubernetes.io/pod-name: мы можем использовать это в качестве селектора для сервиса. К сожалению, нам все равно нужно будет создавать 3 сервиса, чтобы обеспечить удовлетворение каждого POD по Twemproxy,

Увеличить состояние штата:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: redis
spec:
  selector:
    matchLabels:
      app: redis
  serviceName: "redis"
  replicas: 3
  template:
    metadata:
      labels:
        app: redis
    spec:
      terminationGracePeriodSeconds: 3
      containers:
      - name: redis
        image: redis:3.0.7
        ports:
        - containerPort: 6379
redis services:

apiVersion: v1
kind: Service
metadata:
  name: redis
  labels:
    app: redis
spec:
  ports:
  - port: 6379
    name: redis
  clusterIP: None
  selector:
    app: redis
---
apiVersion: v1
kind: Service
metadata:
  name: redis-1
  labels:
    app: redis-1
spec:
  ports:
  - port: 6379
    name: redis-1
  clusterIP: None
  selector:
    statefulset.kubernetes.io/pod-name: redis-1
---
apiVersion: v1
kind: Service
metadata:
  name: redis-1
  labels:
    app: redis-1
spec:
  ports:
  - port: 6379
    name: redis-1
  clusterIP: None
  selector:
    statefulset.kubernetes.io/pod-name: redis-1
---
apiVersion: v1
kind: Service
metadata:
  name: redis-2
  labels:
    app: redis-2
spec:
  ports:
  - port: 6379
    name: redis-2
  clusterIP: None
  selector:
    statefulset.kubernetes.io/pod-name: redis-2
    

Оригинал: «https://www.codementor.io/@pradeepbuditi/running-twemproxy-in-kubernetes-gsojrw6n6»