Pages - Menu

2022年9月22日 星期四

[k8s]rabbitmq on k8s

前言

接到同事說要裝rabbitmq,
說之前在dev有裝過,但在k8s上面沒看到,
用之前前任留下的yaml,裝不起來,只好從頭開始。


正文

  1. 本來是想參考他的這篇,結果看到第一段說

    Stop! There is a Better Way!

    才知道rabbitmq有出了operator可供安裝。
  2. 安裝rabbitmq operator
kubectl apply -f "https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml"

ref. Installing RabbitMQ Cluster Operator in a Kubernetes Cluster

  1. 部署yaml
apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
  name: dev-rabbitmq
spec:
  replicas: 3
  rabbitmq:
    additionalConfig: |
      default_user=admin
      default_pass=abc123
  service:
    type: NodePort

因為是自建的k8s,沒有lb,所以就用NodePort了。
更詳細的參數請參考下面連結。
ref. Using RabbitMQ Cluster Kubernetes Operator

問題排除

中間有發生小插曲,k8s內沒有預設的storeageClass
導致建立pvc時發生錯誤,
雖然在上面的yaml上面能夠指定,
但可能是格式沒寫好,導致沒有產生statefuleSet 的pvc。
最後先指定目前的storageClass為預設的。

kubectl patch storageclass <your_storageclass_name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

ref.

沒有留言:

張貼留言