Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

21.4. 예제: Redis 구성

실제 예제의 경우 ConfigMap 을 사용하여 Redis를 구성할 수 있습니다. Redis를 캐시로 사용하는 권장 구성으로 Redis를 삽입하려면 Redis 구성 파일에 다음이 포함되어야 합니다.

maxmemory 2mb
maxmemory-policy allkeys-lru

구성 파일이 example-files/redis/redis-config 에 있는 경우 ConfigMap 을 생성합니다.

  1. 구성 파일을 지정하는 ConfigMap 생성:

    $ oc create configmap example-redis-config \
        --from-file=example-files/redis/redis-config
  2. 결과 확인:

    $ oc get configmap example-redis-config -o yaml
    
    apiVersion: v1
    data:
      redis-config: |
        maxmemory 2mb
        maxmemory-policy allkeys-lru
    kind: ConfigMap
    metadata:
      creationTimestamp: 2016-04-06T05:53:07Z
      name: example-redis-config
      namespace: default
      resourceVersion: "2985"
      selflink: /api/v1/namespaces/default/configmaps/example-redis-config
      uid: d65739c1-fbbb-11e5-8a72-68f728db1985

이제 이 ConfigMap 을 사용하는 Pod를 생성합니다.

  1. 다음과 같은 Pod 정의를 생성하여 파일에 저장합니다(예: redis-pod.yaml ).

    apiVersion: v1
    kind: Pod
    metadata:
      name: redis
    spec:
      containers:
      - name: redis
        image: kubernetes/redis:v1
        env:
        - name: MASTER
          value: "true"
        ports:
        - containerPort: 6379
        resources:
          limits:
            cpu: "0.1"
        volumeMounts:
        - mountPath: /redis-master-data
          name: data
        - mountPath: /redis-master
          name: config
      volumes:
        - name: data
          emptyDir: {}
        - name: config
          configMap:
            name: example-redis-config
            items:
            - key: redis-config
              path: redis.conf
  2. Pod를 생성합니다.

    $ oc create -f redis-pod.yaml

새로 생성된 Pod에는 example-redis-config ConfigMapredis-config 키를 redis.conf 라는 파일에 배치하는 ConfigMap 볼륨이 있습니다. 이 볼륨은 Redis 컨테이너의 /redis-master 디렉터리에 마운트되어 설정 파일을 /redis-master/redis.conf 에 배치합니다. 여기에서 이미지가 마스터의 Redis 구성 파일을 찾습니다.

이 Pod에 oc exec 를 실행하고 redis-cli 툴을 실행하는 경우 구성이 올바르게 적용되었는지 확인할 수 있습니다.

$ oc exec -it redis redis-cli
127.0.0.1:6379> CONFIG GET maxmemory
1) "maxmemory"
2) "2097152"
127.0.0.1:6379> CONFIG GET maxmemory-policy
1) "maxmemory-policy"
2) "allkeys-lru"