Skip to content

Commit c92a7dc

Browse files
authored
Add SAN docs (#552)
1 parent cf3bb45 commit c92a7dc

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

docs/examples/tls/README.md

+18-1
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,27 @@ Assuming you already have these created and accessible as `server.pem` and `serv
99
kubectl create secret tls tls-secret --cert=server.pem --key=server-key.pem
1010
```
1111

12-
This secret can also be created by [Cert Manager](https://cert-manager.io/).
12+
Alternatively, this secret can also be created by [Cert Manager](https://cert-manager.io/).
1313

1414
Once the secret exists, you can deploy this example as follows:
1515

1616
```shell
1717
kubectl apply -f rabbitmq.yaml
1818
```
19+
20+
## SAN attributes for certificates
21+
22+
Make sure that the certificate's Subject Alternative Name (SAN) contains at least the following attributes:
23+
* `*.<RabbitMQ cluster name>-nodes.<namespace>.svc.<K8s cluster domain name>`
24+
* `<RabbitMQ cluster name>.<namespace>.svc.<K8s cluster domain name>`
25+
26+
If wildcards are not permitted, you must provide a SAN attribute for each RabbitMQ node in your RabbitMQ cluster.
27+
For example, if you deploy a 3-node RabbitMQ cluster named `myrabbit` in namespace `mynamespace` with the default Kubernetes cluster domain `cluster.local`, the SAN must include at least the following attributes:
28+
* `myrabbit-server-0.myrabbit-nodes.mynamespace.svc.cluster.local`
29+
* `myrabbit-server-1.myrabbit-nodes.mynamespace.svc.cluster.local`
30+
* `myrabbit-server-2.myrabbit-nodes.mynamespace.svc.cluster.local`
31+
* `myrabbit.mynamespace.svc.cluster.local`
32+
33+
Note that the last SAN attribute is the client service DNS name.
34+
Depending on the service type you use (`spec.service.type`), you might need further SAN attributes.
35+
For example if you use service type `NodePort`, you need to include the external IP address of each K8s node to the SAN.

0 commit comments

Comments
 (0)