21.4. 例如:配置 Redis
对于真实示例,您可以使用 ConfigMap
配置 Redis。要将 Redis 注入用于将 Redis 用作缓存的推荐配置,Red Hat 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 有一个 ConfigMap
卷,它会将 example-redis-config ConfigMap
的 redis-config 键放入一个名为 redis.conf 的文件中。此卷挂载到 Redis 容器中的 /redis-master 目录,将配置文件放在 /redis-master/redis.conf 中,这是镜像查找 master 的 Redis 配置文件的位置。
如果您使用 oc exec
进入此 pod 并运行 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"