本ページでは、ConfigMapを使ったコンテナの設定に基づき、ConfigMapを使ってRedisの設定を行う実践的な例を提供します。
kustomization.yamlファイルを作成する:
kubectl apply -k ./コマンドにてディレクトリ全体を適用するKubernetesクラスターが必要、かつそのクラスターと通信するためにkubectlコマンドラインツールが設定されている必要があります。 まだクラスターがない場合、Minikubeを使って作成するか、 以下のいずれかのKubernetesプレイグラウンドも使用できます:
バージョンを確認するには次のコマンドを実行してください: kubectl version.
以下の手順に従って、ConfigMapに保存されているデータを使用してRedisキャッシュを設定できます。
最初に、redis-configファイルからConfigMapを含む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
EOFPodリソースの設定を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
EOFkustomizationディレクトリを反映して、ConfigMapオブジェクトとPodオブジェクトの両方を作成します:
kubectl apply -k .Examine the created objects by
> 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にマウントされています。
pathを使ってredis-configキーをredis.confという名前のファイルに追加します。
したがって、redisコンフィグのファイルパスは/redis-master/redis.confです。
ここが、コンテナイメージがredisマスターの設定ファイルを探す場所です。
kubectl execを使ってPodに入り、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"このページは役に立ちましたか?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to 問題を報告する or 改善を提案.