首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rabbitmq :如何创建RABBITMQ_ERLANG_COOKIE

Rabbitmq :如何创建RABBITMQ_ERLANG_COOKIE
EN

Stack Overflow用户
提问于 2019-12-22 21:31:37
回答 1查看 3.7K关注 0票数 2

我正在尝试在kubernetes中部署一个rabbitmq pod。所以我使用了谷歌托管的rabbitmq:https://github.com/GoogleCloudPlatform/rabbitmq-docker/blob/master/3/README.md#connecting-to-a-running-rabbitmq-container-kubernetes

文档中提到:启动RabbitMQ实例

your-erlang-cookie替换为有效的Cookie值。有关详细信息,请参见RABBITMQ_ERLANG_COOKIE in环境变量。

将以下内容复制到pod.yaml文件中,然后运行kubectl create -f pod.yaml。

代码语言:javascript
运行
复制
apiVersion: v1
kind: Pod
metadata:
  name: some-rabbitmq
  labels:
    name: some-rabbitmq
spec:
  containers:
    - image: launcher.gcr.io/google/rabbitmq3
      name: rabbitmq
      env:
        - name: "RABBITMQ_ERLANG_COOKIE"
          value: "unique-erlang-cookie"

如何生成cookie erlang?我在网上搜索了几天,什么也没找到。我在windows中安装了rabbitmq,我从未生成cookie erlang。

我该怎么做呢?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-22 22:53:04

它是任何唯一的值;唯一的限制是每个连接的RabbitMQ实例(即StatefulSet中的每个Pod )都有相同的Cookie值。

指定这一点的一个好方法是使用Secret

代码语言:javascript
运行
复制
env:
  - name: RABBITMQ_ERLANG_COOKIE
    valueFrom:
      secretKeyRef:
        name: rabbitmq
        key: erlangCookie

这需要您创建Secret。为了实现这一点,你可以运行一个一次性命令来创建一个随机的Secret:

代码语言:javascript
运行
复制
kubectl create secret generic rabbitmq \
  --from-literal=erlangCookie=$(dd if=/dev/urandom bs=30 count=1 | base64)

对于实际的生产使用,您需要将该凭据存储在安全的地方,并能够在部署时注入(或重新创建)它。管理这一点有点超出了这个问题的范围。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59444617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档