码迷,mamicode.com
首页 > Web开发 > 详细

kubernetes实战(四):k8s持久化安装rabbitmq集群

时间:2018-11-02 18:56:49      阅读:435      评论:0      收藏:0      [点我收藏+]

标签:run   rabbit   tcp   efi   capacity   没有   class   btree   mode   

1、下载文件

https://github.com/dotbalo/k8s/tree/master/rabbitmq-cluster

 

2、创建namespace

kubectl create namespace public-service

  如果不使用public-service,需要更改所有yaml文件的public-service为你namespace。

sed -i "s#public-service#YOUR_NAMESPACE#g" *.yaml

 

3、创建持久化pv

  此处采用的是静态PV方式,后端使用的是NFS,为了方便扩展可以使用动态PV较好。

[root@nfs rabbitmq-cluster-1]# cat /etc/exports
/k8s/rmq-cluster/rabbitmq-cluster-1/ *(rw,sync,no_subtree_check,no_root_squash)
/k8s/rmq-cluster/rabbitmq-cluster-2/ *(rw,sync,no_subtree_check,no_root_squash)
/k8s/rmq-cluster/rabbitmq-cluster-3/ *(rw,sync,no_subtree_check,no_root_squash)
[root@k8s-master01 rabbitmq-cluster]# pwd
/root/efk/rabbitmq-cluster
[root@k8s-master01 rabbitmq-cluster]# ls
rabbitmq-cluster-ss.yaml  rabbitmq-pv.yaml    rabbitmq-secret.yaml           rabbitmq-service-lb.yaml
rabbitmq-configmap.yaml   rabbitmq-rbac.yaml  rabbitmq-service-cluster.yaml  README.md

  创建集群

[root@k8s-master01 rabbitmq-cluster]# kubectl apply -f .

 

4、查看

  pods、pv、pvc

[root@k8s-master01 rabbitmq-cluster]# kubectl get pods -n public-service
NAME            READY     STATUS    RESTARTS   AGE
rmq-cluster-0   1/1       Running   0          40m
rmq-cluster-1   1/1       Running   0          39m
rmq-cluster-2   1/1       Running   0          39m
[root@k8s-master01 rabbitmq-cluster]# kubectl get pv -n public-service
NAME       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS    CLAIM                                           STORAGECLASS        REASON    AGE
pv-rmq-1   4Gi        RWX            Recycle          Bound     public-service/rabbitmq-storage-rmq-cluster-2   rmq-storage-class             49m
pv-rmq-2   4Gi        RWX            Recycle          Bound     public-service/rabbitmq-storage-rmq-cluster-1   rmq-storage-class             49m
pv-rmq-3   4Gi        RWX            Recycle          Bound     public-service/rabbitmq-storage-rmq-cluster-0   rmq-storage-class             49m
[root@k8s-master01 rabbitmq-cluster]# kubectl get pvc -n public-service
NAME                             STATUS    VOLUME     CAPACITY   ACCESS MODES   STORAGECLASS        AGE
rabbitmq-storage-rmq-cluster-0   Bound     pv-rmq-3   4Gi        RWX            rmq-storage-class   48m
rabbitmq-storage-rmq-cluster-1   Bound     pv-rmq-2   4Gi        RWX            rmq-storage-class   48m
rabbitmq-storage-rmq-cluster-2   Bound     pv-rmq-1   4Gi        RWX            rmq-storage-class   48m
[root@k8s-master01 rabbitmq-cluster]#

  services,此时使用的NodePort方式,可改为traefik模式

[root@k8s-master01 rabbitmq-cluster]# kubectl get services -n public-service
NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                          AGE
rmq-cluster            ClusterIP   None            <none>        5672/TCP                         1h
rmq-cluster-balancer   NodePort    10.107.221.85   <none>        15672:30051/TCP,5672:31892/TCP   1h

 

5、访问测试

  通过NodePort的端口

  账号密码:guest

技术分享图片

 

6、存在问题

  上述yaml中有个secret

[root@k8s-master01 rabbitmq-cluster]# cat rabbitmq-secret.yaml 
kind: Secret
apiVersion: v1
metadata:
  name: rmq-cluster-secret
  namespace: public-service
stringData:
  cookie: ERLANG_COOKIE
  password: RABBITMQ_PASS
  url: amqp://RABBITMQ_USER:RABBITMQ_PASS@rmq-cluster-balancer
  username: RABBITMQ_USER

  定义了username和password,然后在rabbitmq-cluster-ss.yaml引用作为默认账号密码,而且在configmap中也禁用了guest,但是没有生效。此问题待解决。

技术分享图片

 

kubernetes实战(四):k8s持久化安装rabbitmq集群

标签:run   rabbit   tcp   efi   capacity   没有   class   btree   mode   

原文地址:https://www.cnblogs.com/dukuan/p/9897443.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!