Установка Maxmemory и Maxmemory-Policy в Kubernetes с использованием kubectl apply yaml - PullRequest
0 голосов
/ 04 марта 2020

Есть ли способ установить maxmemory и maxmemory-policy для Redis в Kubernetes?

Я использую команду kubectl apply -f redis-cache.yaml

Файл redis-cache .yaml содержит это содержание:

apiVersion: apps/v1
data:
  redis-config: |
    maxmemory 256
    maxmemory-policy allkeys-lru
kind: Deployment
metadata:
  name: redis-cache
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis-cache
  template:
    metadata:
      labels:
        app: redis-cache
    spec:
      nodeSelector:
        "beta.kubernetes.io/os": linux
      containers:
      - name: redis-cache
        image: redis
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 150m
            memory: 256Mi
        ports:
        - containerPort: 6379
          name: redis
---
apiVersion: v1
kind: Service
metadata:
  name: redis-cache
spec:
  ports:
  - port: 6379
  selector:
    app: redis-cache

1 Ответ

2 голосов
/ 04 марта 2020

Kubernetes deployment не имеет поля с именем data.

Вы можете указать конфигурацию через ConfigMap или Secret. Файл конфигурации Redis находится по адресу installdir/redis/etc/redis.conf.

ConfigMap:

apiVersion: v1
kind: ConfigMap
metadata:
  name: redis-config
data:
  redis.conf: |-
    maxmemory 256
    maxmemory-policy allkeys-lru

Развертывание:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis-cache
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis-cache
  template:
    metadata:
      labels:
        app: redis-cache
    spec:
      nodeSelector:
        "beta.kubernetes.io/os": linux
      volumes:
      - name: redis-config
        configMap:
          name: redis-config
      containers:
      - name: redis-cache
        image: redis
        volumeMounts:
        - name: redis-config
          mountPath: /redis/etc
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 150m
            memory: 256Mi
        ports:
        - containerPort: 6379
          name: redis
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...