【问题标题】:Is it possible to load a redis module (redisbloom) onto a redis helm chart (bitnami/redis or bitnami/redis-cluster)?是否可以将 redis 模块 (redisbloom) 加载到 redis helm 图表 (bitnami/redis 或 bitnami/redis-cluster) 上?
【发布时间】:2021-03-19 14:25:42
【问题描述】:

我正在尝试将 redisbloom 模块添加到 redis helm 图表 (bitnami/redis),或者理想情况下是 redis 集群图表 (bitnami/redis-cluster)。

# Chart.yaml

apiVersion: v2
name: my-app
description: My app and redis (with redisbloom module loaded)
type: application
version: 0.1.0
appVersion: 0.1.0
dependencies:
  - name: redis
    alias: redisbloom
    version: 12.1.1
    repository: https://charts.bitnami.com/bitnami

将已编译的模块 redisbloom.so 复制到每个 pod,然后在启动后或使用 master.command=redis-server --load-module=<path>/redisbloom.so 加载模块似乎是一个潜在的解决方案 - 但是从文档中我看不到如何复制图表的二进制交叉。

我也不确定这是否足以让主从或集群情况正常工作。这 Github issue 建议应该可以这样做 - 但可惜我找不到支持它的文档。

有可能吗?或者我是否需要创建一个自定义图表,例如,使用 RedisBloom docker 映像 [redislabs/rebloom]?

提前致谢。

【问题讨论】:

  • 您想从哪里复制文件?也许您可以使用所需的命令创建一个 initContainer 来复制文件并加载模块,但如果确实有必要,我将使用自定义 docker 映像。你怎么看?

标签: kubernetes redis kubernetes-helm


【解决方案1】:

我认为您需要基于 bitnami 映像和所需模块构建自定义 redis 映像,然后使用 extraVars var 指定您的模块,例如:--loadmodule /usr/lib/redis/modules/redisearch.so

我的 Dockerfile(我需要 redisearch 模块):

#### My customization
FROM redislabs/redisearch:latest AS moduleimg
#### End of
FROM docker.io/bitnami/minideb:buster
LABEL maintainer "Bitnami <containers@bitnami.com>"

ENV HOME="/" \
    OS_ARCH="amd64" \
    OS_FLAVOUR="debian-10" \
    OS_NAME="linux"

COPY prebuildfs /
# Install required system packages and dependencies
RUN install_packages acl ca-certificates curl gzip libc6 libssl1.1 procps tar wget
RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "wait-for-port" "1.0.0-3" --checksum 7521d9a4f9e4e182bf32977e234026caa7b03759799868335bccb1edd8f8fd12
RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "redis" "6.2.1-0" --checksum c104089841a906f944e285828a580968608017340b67befaa1771646cbfdf6b3
RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "gosu" "1.12.0-2" --checksum 4d858ac600c38af8de454c27b7f65c0074ec3069880cb16d259a6e40a46bbc50
RUN chmod g+rwX /opt/bitnami
RUN ln -s /opt/bitnami/scripts/redis/entrypoint.sh /entrypoint.sh
RUN ln -s /opt/bitnami/scripts/redis/run.sh /run.sh

COPY rootfs /
RUN /opt/bitnami/scripts/redis/postunpack.sh
ENV BITNAMI_APP_NAME="redis" \
    BITNAMI_IMAGE_VERSION="6.2.1-debian-10-r14" \
    PATH="/opt/bitnami/common/bin:/opt/bitnami/redis/bin:$PATH"

### My customization
RUN mkdir /opt/bitnami/redis/modules
COPY --from=moduleimg /usr/lib/redis/modules/redisearch.so* /opt/bitnami/redis/modules
### End of

EXPOSE 6379

USER 1001
ENTRYPOINT [ "/opt/bitnami/scripts/redis/entrypoint.sh" ]
CMD [ "/opt/bitnami/scripts/redis/run.sh" ]

【讨论】:

    猜你喜欢
    • 2022-01-11
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    相关资源
    最近更新 更多