传输层安全(TLS)¶
MySQ雷竞技下载官网L的Percona操作符使用传输层安全(TLS)加密协议进行以下类型的通信:
- 内部-用于MySQL实例的Percona服务器之间的通信,雷竞技下载官网
- 客户端应用程序和集群之间的外部通信。
内部证书还用作授权方法。
TLS安全性可以通过几种方式配置。
默认情况下,为Operator生成长期证书如果没有可用的证书秘密,则自动执行。
Operator的自签名颁发者是Operator命名空间的本地颁发者
之所以创建这个自签名颁发者,是因为Percona Distribution for M雷竞技下载官网ySQL要求由同一来源颁发的所有证书。
操作人员可以使用专门安装的cert-manager,它将自动生成并更新短期TLS证书
的cert-manager充当自签名颁发者并生成证书
它仍然是一个自签名的颁发者,允许您在没有单独的证书颁发者的情况下部署和使用Percona Operator。雷竞技下载官网
证书可以手动生成:从其他颁发者获得并提供给运营商。
安装及使用cert-manager¶
关于cert-manager¶
一个cert-manager是Kubernetes证书管理控制器,广泛用于TLS证书的自动化管理和颁发。它是由社区驱动的,并且是开源的。
当您已经安装cert-manager时,不需要其他任何东西:只需部署Operator,并且Operator将从cert-manager。
安装cert-manager¶
安装的步骤cert-manager以下是:
创建命名空间,
在cert-manager命名空间上禁用资源验证,
安装cert-manager。
以下命令执行所有需要的操作:
美元kubectl创建名称空间cert-manager美元kubectl标签名称空间cert-managercertmanager.k8s.io /禁用验证=真正的美元kubectl_bin应用- fhttps://github.com/jetstack/cert-manager/releases/download/v1.11.0/cert-manager.yaml
安装完成后,您可以验证cert-manager运行命令如下:
美元kubectl得到豆荚- ncert-manager
的结果应该显示cert-managerwebhook激活并运行。
手动生成证书¶
手动生成证书的步骤如下:
提供CA (Certificate Authority)生成TLS证书
生成带有服务器详细信息的CA密钥和证书文件
使用CA密钥、证书和服务器详细信息创建服务器TLS证书
命令集生成具有以下属性的证书:
Server-pem——证书Server-key.pem-私钥ca.pem-证书颁发机构
您应该生成两次证书:一组用于外部通信,另一组用于内部通信。必须添加为外部使用创建的秘密cr.yaml /规范/ secretsName。为内部通信生成的证书必须添加到cr.yaml /规范/ sslInternalSecretName。
美元猫<{CN:根CA,“关键”:{“算法”:“rsa”,“大小”:2048}}EOF美元猫<{“主机”:(" $ {CLUSTER_NAME} -proxysql”,“*。$ {CLUSTER_NAME} -proxysql-unready”,“* $ {CLUSTER_NAME} -pxc "。],“CN”:“$ {CLUSTER_NAME} -pxc”,“关键”:{“算法”:“rsa”,“大小”:2048}}EOF美元kubectl创建秘密通用的my-cluster-ssl——从文件=tls.crt=server.pem——从文件=tls.key=server-key.pem——从文件=ca.crt=ca.pem--类型=kubernetes.io / tls