このページに記載されている情報は古い可能性があります

このページの更新日は英語版よりも古いため、記載されている情報が古い可能性があります。最新の情報をご覧になりたい方は英語版のページをご覧ください: Configuring Redis using a ConfigMap

ConfigMapを使ったRedisの設定

本ページでは、ConfigMapを使ったコンテナの設定に基づき、ConfigMapを使ってRedisの設定を行う実践的な例を提供します。

目標

  • 以下の要素を含むkustomization.yamlファイルを作成する:
    • ConfigMapGenerator
    • ConfigMapを使ったPodリソースの設定
  • kubectl apply -k ./コマンドにてディレクトリ全体を適用する
  • 設定が正しく反映されていることを確認する

始める前に

Kubernetesクラスターが必要、かつそのクラスターと通信するためにkubectlコマンドラインツールが設定されている必要があります。 このチュートリアルは、コントロールプレーンのホストとして動作していない少なくとも2つのノードを持つクラスターで実行することをおすすめします。 まだクラスターがない場合、minikubeを使って作成するか、 以下のいずれかのKubernetesプレイグラウンドも使用できます:

バージョンを確認するには次のコマンドを実行してください: kubectl version.

実践例: ConfigMapを使ったRedisの設定

以下の手順に従って、ConfigMapに保存されているデータを使用してRedisキャッシュを設定できます。

最初に、redis-configファイルからConfigMapを含むkustomization.yamlを作成します:

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

Podリソースの設定をkustomization.yamlに入れます:

apiVersion:v1kind:Podmetadata:name:redisspec:containers:- name:redisimage:kubernetes/redis:v1env:- name:MASTERvalue:"true"ports:- containerPort:6379resources:limits:cpu:"0.1"volumeMounts:- mountPath:/redis-master-dataname:data- mountPath:/redis-mastername:configvolumes:- name:dataemptyDir:{}- name:configconfigMap:name:example-redis-configitems:- key:redis-configpath: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ディレクトリを反映して、ConfigMapオブジェクトとPodオブジェクトの両方を作成します:

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にマウントされています。 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"

作成したPodを削除します:

kubectl delete pod redis 

次の項目