mirror of
https://github.com/wahyd4/charts.git
synced 2026-08-22 19:48:25 +10:00
rabbitmq: accepted into kubernetes official stable repo
This commit is contained in:
@@ -8,7 +8,7 @@ Popular applications, provided by [Bitnami](https://bitnami.com), ready to launc
|
||||
- [Drupal (stable)](https://github.com/kubernetes/charts/tree/master/stable/drupal)
|
||||
- [OpenCart (incubator)](https://github.com/bitnami/charts/tree/master/incubator/opencart)
|
||||
- [Magento (incubator)](https://github.com/bitnami/charts/tree/master/incubator/magento)
|
||||
- [RabbitMQ (incubator)](https://github.com/bitnami/charts/tree/master/incubator/rabbitmq)
|
||||
- [RabbitMQ (stable)](https://github.com/kubernetes/charts/tree/master/stable/rabbitmq)
|
||||
- [OwnCloud (incubator)](https://github.com/bitnami/charts/tree/master/incubator/owncloud)
|
||||
- [Jenkins (incubator)](https://github.com/bitnami/charts/tree/master/incubator/jenkins)
|
||||
- [Memcached (incubator)](https://github.com/bitnami/charts/tree/master/incubator/memcached)
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
.git
|
||||
@@ -1,14 +0,0 @@
|
||||
name: rabbitmq
|
||||
version: 0.3.3
|
||||
description: Open source message broker software that implements the Advanced Message Queuing Protocol (AMQP)
|
||||
keywords:
|
||||
- rabbitmq
|
||||
- message queue
|
||||
- AMQP
|
||||
home: https://www.rabbitmq.com
|
||||
sources:
|
||||
- https://github.com/bitnami/bitnami-docker-rabbitmq
|
||||
maintainers:
|
||||
- name: Bitnami
|
||||
email: containers@bitnami.com
|
||||
engine: gotpl
|
||||
@@ -1,127 +0,0 @@
|
||||
# RabbitMQ
|
||||
|
||||
[RabbitMQ](https://www.rabbitmq.com/) is an open source message broker software that implements the Advanced Message Queuing Protocol (AMQP).
|
||||
|
||||
## TL;DR;
|
||||
|
||||
```bash
|
||||
$ helm install rabbitmq-x.x.x.tgz
|
||||
```
|
||||
|
||||
## Introduction
|
||||
|
||||
Bitnami charts for Helm are carefully engineered, actively maintained and are the quickest and easiest way to deploy containers on a Kubernetes cluster that are ready to handle production workloads.
|
||||
|
||||
This chart bootstraps a [RabbitMQ](https://github.com/bitnami/bitnami-docker-rabbitmq) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
||||
|
||||
## Get this chart
|
||||
|
||||
Download the latest release of the chart from the [releases](../../../releases) page.
|
||||
|
||||
Alternatively, clone the repo if you wish to use the development snapshot:
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/bitnami/charts.git
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `my-release`:
|
||||
|
||||
```bash
|
||||
$ helm install --name my-release rabbitmq-x.x.x.tgz
|
||||
```
|
||||
|
||||
*Replace the `x.x.x` placeholder with the chart release version.*
|
||||
|
||||
The command deploys RabbitMQ on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
|
||||
|
||||
> **Tip**: List all releases using `helm list`
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall/delete the `my-release` deployment:
|
||||
|
||||
```bash
|
||||
$ helm delete my-release
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart and deletes the release.
|
||||
|
||||
## Configuration
|
||||
|
||||
The following tables lists the configurable parameters of the RabbitMQ chart and their default values.
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------|---------------------------------------------------------|----------------------------------------------------------|
|
||||
| `imageTag` | `bitnami/rabbitmq` image tag | RabbitMQ image version |
|
||||
| `imagePullPolicy` | Image pull policy | `Always` if `imageTag` is `latest`, else `IfNotPresent`. |
|
||||
| `rabbitmqUsername` | RabbitMQ application username | `user` |
|
||||
| `rabbitmqPassword` | RabbitMQ application password | `bitnami` |
|
||||
| `rabbitmqErlangCookie` | Erlang cookie | `nil` |
|
||||
| `rabbitmqNodePort` | Node port | `5672` |
|
||||
| `rabbitmqNodeType` | Node type | `stats` |
|
||||
| `rabbitmqNodeName` | Node name | `rabbit` |
|
||||
| `rabbitmqClusterNodeName` | Node name to cluster with. e.g.: `clusternode@hostname` | `nil` |
|
||||
| `rabbitmqVhost` | RabbitMQ application vhost | `/` |
|
||||
| `rabbitmqManagerPort` | RabbitMQ Manager port | `15672` |
|
||||
|
||||
The above parameters map to the env variables defined in [bitnami/rabbitmq](http://github.com/bitnami/bitnami-docker-rabbitmq). For more information please refer to the [bitnami/rabbitmq](http://github.com/bitnami/bitnami-docker-rabbitmq) image documentation.
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||
|
||||
```bash
|
||||
$ helm install --name my-release \
|
||||
--set rabbitmqUsername=admin,rabbitmqPassword=secretpassword,rabbitmqErlangCookie=secretcookie \
|
||||
rabbitmq-x.x.x.tgz
|
||||
```
|
||||
|
||||
The above command sets the RabbitMQ admin username and password to `admin` and `secretpassword` respectively. Additionally the secure erlang cookie is set to `secretcookie`.
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
|
||||
|
||||
```bash
|
||||
$ helm install --name my-release -f values.yaml rabbitmq-x.x.x.tgz
|
||||
```
|
||||
|
||||
> **Tip**: You can use the default [values.yaml](values.yaml)
|
||||
|
||||
## Persistence
|
||||
|
||||
The [Bitnami RabbitMQ](https://github.com/bitnami/bitnami-docker-rabbitmq) image stores the RabbitMQ data and configurations at the `/bitnami/rabbitmq` path of the container.
|
||||
|
||||
As a placeholder, the chart mounts an [emptyDir](http://kubernetes.io/docs/user-guide/volumes/#emptydir) volume at this location.
|
||||
|
||||
> *"An emptyDir volume is first created when a Pod is assigned to a Node, and exists as long as that Pod is running on that node. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever."*
|
||||
|
||||
For persistence of the data you should replace the `emptyDir` volume with a persistent [storage volume](http://kubernetes.io/docs/user-guide/volumes/), else the data will be lost if the Pod is shutdown.
|
||||
|
||||
### Step 1: Create a persistent disk
|
||||
|
||||
You first need to create a persistent disk in the cloud platform your cluster is running. For example, on GCE you can use the `gcloud` tool to create a [gcePersistentDisk](http://kubernetes.io/docs/user-guide/volumes/#gcepersistentdisk):
|
||||
|
||||
```bash
|
||||
$ gcloud compute disks create --size=500GB --zone=us-central1-a rabbitmq-data-disk
|
||||
```
|
||||
|
||||
### Step 2: Update `templates/deployment.yaml`
|
||||
|
||||
Replace:
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- name: rabbitmq-data
|
||||
emptyDir: {}
|
||||
```
|
||||
|
||||
with
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- name: rabbitmq-data
|
||||
gcePersistentDisk:
|
||||
pdName: rabbitmq-data-disk
|
||||
fsType: ext4
|
||||
```
|
||||
|
||||
[Install](#installing-the-chart) the chart after making these changes.
|
||||
@@ -1,24 +0,0 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 24 -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
*/}}
|
||||
{{- define "fullname" -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 24 -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
*/}}
|
||||
{{- define "mariadb.fullname" -}}
|
||||
{{- printf "%s-%s" .Release.Name "mariadb" | trunc 24 -}}
|
||||
{{- end -}}
|
||||
@@ -1,77 +0,0 @@
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "fullname" . }}
|
||||
labels:
|
||||
app: {{ template "fullname" . }}
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
release: "{{ .Release.Name }}"
|
||||
heritage: "{{ .Release.Service }}"
|
||||
spec:
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "fullname" . }}
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
release: "{{ .Release.Name }}"
|
||||
heritage: "{{ .Release.Service }}"
|
||||
spec:
|
||||
containers:
|
||||
- name: {{ template "fullname" . }}
|
||||
image: "bitnami/rabbitmq:{{ .Values.imageTag }}"
|
||||
imagePullPolicy: {{ default "" .Values.imagePullPolicy | quote }}
|
||||
env:
|
||||
- name: RABBITMQ_USERNAME
|
||||
value: {{ default "" .Values.rabbitmqUsername | quote }}
|
||||
- name: RABBITMQ_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ template "fullname" . }}
|
||||
key: rabbitmq-password
|
||||
- name: RABBITMQ_ERLANG_COOKIE
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ template "fullname" . }}
|
||||
key: rabbitmq-erlang-cookie
|
||||
- name: RABBITMQ_NODE_PORT
|
||||
value: {{ default "" .Values.rabbitmqNodePort | quote }}
|
||||
- name: RABBITMQ_NODE_TYPE
|
||||
value: {{ default "" .Values.rabbitmqNodeType | quote }}
|
||||
- name: RABBITMQ_NODE_NAME
|
||||
value: {{ default "" .Values.rabbitmqNodeName | quote }}
|
||||
- name: RABBITMQ_CLUSTER_NODE_NAME
|
||||
value: {{ default "" .Values.rabbitmqClusterNodeName | quote }}
|
||||
- name: RABBITMQ_VHOST
|
||||
value: {{ default "" .Values.rabbitmqVhost | quote }}
|
||||
- name: RABBITMQ_MANAGER_PORT
|
||||
value: {{ default "" .Values.rabbitmqManagerPort | quote }}
|
||||
ports:
|
||||
- name: epmd
|
||||
containerPort: 4369
|
||||
- name: ampq
|
||||
containerPort: {{ default "5672" .Values.rabbitmqNodePort }}
|
||||
- name: dist
|
||||
containerPort: {{ default "5672" .Values.rabbitmqNodePort | add 20000 }}
|
||||
- name: stats
|
||||
containerPort: {{ default "15672" .Values.rabbitmqManagerPort }}
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- rabbitmqctl
|
||||
- status
|
||||
initialDelaySeconds: 30
|
||||
timeoutSeconds: 5
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
- rabbitmqctl
|
||||
- status
|
||||
initialDelaySeconds: 5
|
||||
timeoutSeconds: 1
|
||||
volumeMounts:
|
||||
- name: rabbitmq-data
|
||||
mountPath: /bitnami/rabbitmq
|
||||
volumes:
|
||||
- name: rabbitmq-data
|
||||
emptyDir: {}
|
||||
@@ -1,13 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ template "fullname" . }}
|
||||
labels:
|
||||
app: {{ template "fullname" . }}
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
release: "{{ .Release.Name }}"
|
||||
heritage: "{{ .Release.Service }}"
|
||||
type: Opaque
|
||||
data:
|
||||
rabbitmq-password: {{ default "" .Values.rabbitmqPassword | b64enc | quote }}
|
||||
rabbitmq-erlang-cookie: {{ default "" .Values.rabbitmqErlangCookie | b64enc | quote }}
|
||||
@@ -1,25 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "fullname" . }}
|
||||
labels:
|
||||
app: {{ template "fullname" . }}
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
release: "{{ .Release.Name }}"
|
||||
heritage: "{{ .Release.Service }}"
|
||||
spec:
|
||||
ports:
|
||||
- name: epmd
|
||||
port: 4369
|
||||
targetPort: epmd
|
||||
- name: ampq
|
||||
port: {{ default "5672" .Values.rabbitmqNodePort }}
|
||||
targetPort: ampq
|
||||
- name: dist
|
||||
port: {{ default "5672" .Values.rabbitmqNodePort | add 20000 }}
|
||||
targetPort: dist
|
||||
- name: stats
|
||||
port: {{ default "15672" .Values.rabbitmqManagerPort }}
|
||||
targetPort: stats
|
||||
selector:
|
||||
app: {{ template "fullname" . }}
|
||||
@@ -1,55 +0,0 @@
|
||||
## Bitnami RabbitMQ image version
|
||||
## ref: https://hub.docker.com/r/bitnami/rabbitmq/tags/
|
||||
##
|
||||
imageTag: 3.6.5-r4
|
||||
|
||||
## Specify a imagePullPolicy
|
||||
## 'Always' if imageTag is 'latest', else set to 'IfNotPresent'
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
##
|
||||
# imagePullPolicy:
|
||||
|
||||
## RabbitMQ application username
|
||||
## ref: https://github.com/bitnami/bitnami-docker-rabbitmq/blob/master/README.md#creating-a-database-user-on-first-run
|
||||
##
|
||||
rabbitmqUsername: user
|
||||
|
||||
## RabbitMQ application password
|
||||
## ref: https://github.com/bitnami/bitnami-docker-rabbitmq/blob/master/README.md#creating-a-database-user-on-first-run
|
||||
##
|
||||
rabbitmqPassword: bitnami
|
||||
|
||||
## Erlang cookie to determine whether different nodes are allowed to communicate with each other
|
||||
## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables
|
||||
##
|
||||
# rabbitmqErlangCookie:
|
||||
|
||||
## Node port
|
||||
## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables
|
||||
##
|
||||
rabbitmqNodePort: 5672
|
||||
|
||||
## Node Type
|
||||
## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables
|
||||
##
|
||||
rabbitmqNodeType: stats
|
||||
|
||||
## Node Name
|
||||
## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables
|
||||
##
|
||||
rabbitmqNodeName: rabbit
|
||||
|
||||
## Node name to cluster with. e.g.: `clusternode@hostname`
|
||||
## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables
|
||||
##
|
||||
# rabbitmqClusternodename:
|
||||
|
||||
## RabbitMQ application vhost
|
||||
## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables
|
||||
##
|
||||
rabbitmqVhost: /
|
||||
|
||||
## RabbitMQ Manager port
|
||||
## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables
|
||||
##
|
||||
rabbitmqManagerPort: 15672
|
||||
Reference in New Issue
Block a user