在 EMQX 中开启 TLS
任务目标
通过 extraVolumes
和 extraVolumeMounts
字段自定义 TLS 证书。
基于 TLS 证书创建 Secret
Secret 是一种包含少量敏感信息例如密码、令牌或密钥的对象,其文档可以参考:Secret。在本文中我们使用 Secret 保存 TLS 证书信息,因此在创建 EMQX 集群之前我们需要基于 TLS 证书创建好 Secret。
将下面的内容保存成 YAML 文件,并通过
kubectl apply
命令部署它yamlapiVersion: v1 kind: Secret metadata: name: emqx-tls type: kubernetes.io/tls stringData: ca.crt: | -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- tls.crt: | -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- tls.key: | -----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----
ca.crt
表示 CA 证书内容,tls.crt
表示服务端证书内容,tls.key
表示服务端私钥内容。此例中上述三个字段的内容被省略,请用自己证书的内容进行填充。
配置 EMQX 集群
下面是 EMQX Custom Resource 的相关配置,你可以根据希望部署的 EMQX 的版本来选择对应的 APIVersion,具体的兼容性关系,请参考 EMQX Operator 兼容性: