튜토리얼

Kubernetes v1.15 문서는 더 이상 적극적으로 관리되지 않음. 현재 보고있는 문서는 정적 스냅샷임. 최신 문서를 위해서는, 다음을 참고. 최신 버전.

Edit This Page

컨피그 맵을 사용해서 Redis 설정하기

이 페이지에서는 컨피그 맵을 사용해서 Redis를 설정하는 방법에 대한 실세계 예제를 제공하고, 컨피그 맵을 사용해서 컨테이너 설정하기 태스크로 빌드를 한다.

목적

시작하기 전에

버전 확인을 위해서, 다음 커맨드를 실행 kubectl version.

실세상 예제: 컨피그 맵을 사용해서 Redis 설정하기

아래의 단계를 통해서 컨피그 맵에 저장된 데이터를 사용해서 Redis 캐시를 설정할 수 있다.

첫째, redis-config 파일에서 컨피그 맵을 포함한 kustomization.yaml를 생성한다.

pods/config/redis-config
maxmemory 2mb
maxmemory-policy allkeys-lru
curl -OL https://k8s.io/examples/pods/config/redis-config

cat <<EOF >./kustomization.yaml
configMapGenerator:
- name: example-redis-config
  files:
  - redis-config
EOF

kustomization.yaml에 파드 리소스 구성을 추가한다.

pods/config/redis-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: redis
spec:
  containers:
  - name: redis
    image: redis:5.0.4
    command:
      - redis-server
      - "/redis-master/redis.conf"
    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
curl -OL https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/pods/config/redis-pod.yaml

cat <<EOF >>./kustomization.yaml
resources:
- redis-pod.yaml
EOF

컨피그 맵과 파드 개체를 생성하도록 kustomization 디렉토리를 적용한다.

kubectl apply -k .

생성된 오브젝트를 확인한다.

> kubectl get -k .
NAME                                        DATA   AGE
configmap/example-redis-config-dgh9dg555m   1      52s

NAME        READY   STATUS    RESTARTS   AGE
pod/redis   1/1     Running   0          52s

이 예제에서는 설정 볼륨이 /redis-master에 마운트되어 있다. redis-config 키를 redis.conf라는 이름의 파일에 추가하기 위해 path를 사용한다. 따라서, Redis 설정을 위한 파일 경로는 /redis-master/redis.conf이다. 이곳이 이미지가 Redis 마스터를 위한 설정 파일을 찾는 곳이다.

설정이 올바르게 적용되었는지 확인하기 위해서, kubectl exec를 사용해 파드 속에서 redis-cli 툴을 실행해 본다.

kubectl 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"

생성된 파드를 삭제한다.

kubectl delete pod redis

다음 내용

피드백