22.4. 示例:配置 Redis


对于真实示例,您可以使用 ConfigMap 配置 Redis。要将 Redis 注入用于将 Redis 用作缓存的推荐配置,Red Hat Redis 配置文件应包含以下内容:

maxmemory 2mb
maxmemory-policy allkeys-lru

如果您的配置文件位于 example-files/redis/redis-config 中,创建一个带有它的 ConfigMap

  1. 创建指定配置文件的 ConfigMap

    $ oc create configmap example-redis-config \
        --from-file=example-files/redis/redis-config
  2. 验证结果:

    $ 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:

  1. 创建类似以下内容的 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
  2. 创建 pod:

    $ oc create -f redis-pod.yaml

新创建的 pod 有一个 ConfigMap 卷,它会将 example-redis-config ConfigMapredis-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"
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.