Kubernetes RabbitMQ operator https://github.com/tekliner/rabbitmq-operator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 1.9 KiB

1 year ago
1 year ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # rabbitmq-operator
  2. Kubernetes operator for RabbitMQ. Code is highly fresh, be patient.
  3. Sample CRD (whole specs see in rabbitmq_types.go):
  4. ```
  5. ---
  6. apiVersion: rabbitmq.improvado.io/v1
  7. kind: Rabbitmq
  8. metadata:
  9. name: imp20rabbit
  10. spec:
  11. replicas: 2
  12. # set affinity and anti-affinity
  13. affinity:
  14. podAffinity:
  15. requiredDuringSchedulingIgnoredDuringExecution:
  16. - labelSelector:
  17. matchExpressions:
  18. - key: security
  19. operator: In
  20. values:
  21. - S1
  22. topologyKey: failure-domain.beta.kubernetes.io/zonei
  23. # set rabbitmq docker image, use hub.docker.com or your own
  24. image:
  25. name: rabbitmq
  26. tag: 3-alpine
  27. # use custom names for secrets instead of default based on CRD name
  28. # default_user, default_password and cookie is generated once at first start
  29. #secret_credentials: rabbit-users
  30. #secret_service_account: rabbit-service
  31. # set vm_memory_high_watermark.absolute value
  32. memory_high_watermark: 256M
  33. # clusterize rabbit
  34. k8s_host: "kubernetes.default.svc.cluster.imp"
  35. k8s_addrtype: hostname
  36. cluster_node_cleanup_interval: 10
  37. cluster_formation.node_cleanup.only_log_warning: true
  38. cluster_partition_handling: autoheal
  39. hipe_compile: false
  40. # PVC
  41. volume_size: 1Gi
  42. # Set custom ENV
  43. env:
  44. - name: VARIABLENAME
  45. value: test
  46. policies:
  47. - name: ha-three
  48. vhost: "rabbit"
  49. pattern: ".*"
  50. definition:
  51. ha-mode: "exactly"
  52. ha-params: 3
  53. ha-sync-mode: "automatic"
  54. priority: 0
  55. apply-to: all
  56. plugins:
  57. - rabbitmq_management_agent
  58. ```
  59. Default plugins:
  60. * rabbitmq_consistent_hash_exchange,
  61. * rabbitmq_federation,
  62. * rabbitmq_federation_management,
  63. * rabbitmq_management,
  64. * rabbitmq_peer_discovery_k8s,
  65. * rabbitmq_shovel,
  66. * rabbitmq_shovel_management
  67. In future:
  68. * SSL
  69. * Additional users
  70. * Custom k8s labels
  71. * RabbitMQ limits based on pods limits