# k8s-rabbitmq **Repository Path**: bertxue/k8s-rabbitmq ## Basic Information - **Project Name**: k8s-rabbitmq - **Description**: rabbitmq-k8s 部署方案 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-02-18 - **Last Updated**: 2022-02-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rabbitmq k8s集群安装 ## 部署时注意 `rabbitmq.yaml` 中的命名空间 `namespace` ### 文件说明 |文件名称|说明| |-|-| |rabbitmq|镜像目录文件| |docker-compose.yaml|本地编排文件(未使用)| |rabbitmq.yaml|k8s部署文件| ### rabbitmq连接池组件 [rabbit-pool=>](https://gitee.com/tym_hmm/rabbitmq-pool-go) ### 准备工作 `远程镜像仓库`: 案例中使用的是阿里云的镜像仓库. ### 镜像创建 1. 使用docker打包dockerfile 创建镜像. 进入rabbitmq镜像目录 ``` docker build . -t 〈镜像名称〉:<版本> ``` 2. 登录镜像仓库并打包镜像 > 输入密码时需在镜像中设置访问密码 ``` # 具体见阿里云镜像push $ docker login --username=<阿里云账号> xxx-registry.cn-shenzhen.cr.aliyuncs.com $ docker tag [ImageId] xxx-registry.cn-shenzhen.cr.aliyuncs.com/rabbitmq:[镜像版本号] $ docker push xxx-registry.cn-shenzhen.cr.aliyuncs.com/rabbitmq:[镜像版本号] ``` 3. 使用yaml创建pod > 创建时会提示无法绑定 4. 配置阿里云nas > 1.进入集群管理,并进入"存储管理"
> 2.手动创建存储类型为`nas`,选择创建nas
> 3.手动创建存储券,并选择nas,若没有挂载点需创建需创建阿里云 nas
> 4.手动创建存储声明并选择nas
> 5.修改部署yaml ``` volumes: - name: volume-rabbimqnas persistentVolumeClaim: claimName: <存储声明名称> ``` 5. 若使用阿里云docker仓库需配置免密 > 1) 点击集群菜单 "配置管理"=>"配置项"
> 2) 选择命名空间 "所有命名空间"
> 3) 搜索 "acr" 查找 "acr-configuration"
> 4) 编辑 "acr-configuration"并修改 "acr-registry-info"项 [阿里云文档=>](https://help.aliyun.com/document_detail/159750.html?spm=5176.10695662.1996646101.searchclickresult.dede56d498IZvB#title-6ea-jj9-dj4) > >``` >- instanceId: "cri-zsphy231y9h6cxxx" #docker镜像实例 > regionId: "cn-shenzhen" #仓库所在区域 > domains: "xxx-registry.cn-shenzhen.cr.aliyuncs.com" #仓库地址 >``` > 5) 若还存在无法拉取镜像,进入pod详情, 点击"编辑", 在“镜像tag”单击"设设置镜像密钥" > * 选择已有密钥 6. 修改授权名称, rabbitmq管理面板账号密码 ``` #首先需要生成一个erlang.cookie的文件: #echo $(openssl rand -base64 32) > erlang.cookie #然后将该文件的内容复制下来,编写一个secret对象yaml: apiVersion: v1 kind: Secret metadata: name: devsecret namespace: zaibei type: Opaque data: rabbitDefaulUser: "cmFiYml0dXNlcg==" #rabbituser rabbitDefaultPass: "cmFiYml0cGFzcw==" #rabbitpass erlang.cookie: "SjNBT1oyMTgwVjdKNVBNMjgycUhIaW5pZ2ZWUjV5eW5wUGFuMHkwcTRWMD0=" ``` 7. 设置对外访问(此为通过阿里云pod面板设置) > 1) 进入pod详情,在页面tab选择"访问方式"
> 2) 点击"创建",如下图配置
> ![配子](visit.png) > 3) 点击"创建"
> 4) 等待几秒后创建成功
> 5) 浏览器输入http://xxxxx:32001 进入控制面板
> 6) 账号: rabbituser 密码: rabbitpass 8. 注意 > 1) 因k8s中为集群配置,单容器创建时会出现两次错误(主节点选举错误), 重启两次后正常。