22.4. 예: Redis 구성
실제 예제의 경우 ConfigMap
을 사용하여 Redis를 구성할 수 있습니다. Redis를 캐시로 사용하는 데 권장되는 구성으로 Redis를 삽입하려면 Redis 구성 파일에 다음이 포함되어야 합니다.
maxmemory 2mb maxmemory-policy allkeys-lru
구성 파일이 example-files/redis/redis-config 에 있는 경우 ConfigMap
을 생성합니다.
구성 파일을 지정하는
ConfigMap
을 생성합니다.$ oc create configmap example-redis-config \ --from-file=example-files/redis/redis-config
결과 확인:
$ 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를 생성합니다.
다음과 같은 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
Pod를 생성합니다.
$ oc create -f redis-pod.yaml
새로 생성된 Pod에는 example-redis-config ConfigMap
의 redis-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"