21.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"