Black lives matter.
We stand in solidarity with the Black community.
Racism is unacceptable.
It conflicts with the core values of the Kubernetes project and our community does not tolerate it.
We stand in solidarity with the Black community.
Racism is unacceptable.
It conflicts with the core values of the Kubernetes project and our community does not tolerate it.
이 페이지에서는 컨피그 맵을 사용해서 Redis를 설정하는 방법에 대한 실세계 예제를 제공하고, 컨피그 맵을 사용해서 컨테이너 설정하기 태스크로 빌드를 한다.
kustomization.yaml
파일을 생성한다.
kubectl apply -k ./
를 실행하여 작업한 디렉토리를 적용한다.쿠버네티스 클러스터가 필요하고, kubectl 커맨드-라인 툴이 클러스터와 통신할 수 있도록 설정되어 있어야 한다. 만약, 아직 클러스터를 가지고 있지 않다면, Minikube를 사용해서 생성하거나, 다음의 쿠버네티스 플레이그라운드 중 하나를 사용할 수 있다.
버전 확인을 위해서, 다음 커맨드를 실행kubectl version
.
kubectl
1.14 이상 버전에서 동작한다.아래의 단계를 통해서 컨피그 맵에 저장된 데이터를 사용해서 Redis 캐시를 설정할 수 있다.
첫째, redis-config
파일에서 컨피그 맵을 포함한 kustomization.yaml
를 생성한다.
pods/config/redis-config
|
---|
|
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
|
---|
|
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