1、下载文件

https://github.com/dotbalo/k8s/

 

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

 

 

赞助作者: