本指南提供了 Wickr Enterprise 的文档。如果您使用的是 AWS Wickr,请参阅 AWS Wickr 管理指南或 AW S Wickr 用户指南。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
数据库设置
Wickr Enterprise 需要 MySQL 8.0 数据库。如果您使用的是 MySQL 5.7,请参阅升级到 MySQL 8.0进行升级。我们建议使用 Kubernetes 集群外部的数据库,例如 Amazon RDS,但作为安装的一部分,您也可以选择在 Kubernetes 集群内部署 MyS Q L 内部 MySQL 数据库。
外部数据库设置
-
主机名:数据库服务器的主机名或 IP 地址。
-
读取器主机名:数据库服务器只读端点的主机名或 IP 地址(如果有)。
-
端口:用于访问 MySQL 的端口。
-
数据库名称:在服务器上创建的数据库的名称。
-
用户名:有权访问数据库的用户。
-
密码:该用户的密码。
-
CA 证书:用于通过 TLS 连接到数据库的 PEM 证书。
注意
确保你的 MySQL 安装使用带有 latin1_swedish_ci 排序规则的默认 latin1 字符集。这可以通过验证您的 MySQL 服务器是否使用以下标志启动来实现:
"--character-set-server latin1", "--collation-server
latin1_swedish_ci"
内部数据库设置
内部数据库类型将在您的集群中部署两个 StatefulSets 用于二进制复制的 MySQL 主数据库和辅助数据库。辅助服务器不接收任何流量,只能用于灾难恢复和备份。
存储大小:数据库 Pod 的永久卷的大小(以 Gibibytes 为单位)。
增加 MySQL 存储大小
注意
您的卷类型 StorageClass 必须支持卷扩展,才能增加存储大小。有关更多信息,请参阅卷扩展
Wickr Enterprise 中使用的 MySQL 服务作为 StatefulSet 资源部署在 Kubernetes 中。 StatefulSets 使资源的许多属性不可变,包括永久卷声明模板。作为不可变性的解决方法 StatefulSets,必须执行以下操作来增加 MySQL 使用的卷的大小。
-
编辑
data-mysql-primary-0和的永久卷声明data-mysql-secondary-0。-
kubectl -n wickr edit pvc data-mysql-primary-0. Set spec.resources.requests.storage到所需的存储大小。 -
kubectl -n wickr edit pvc data-mysql-secondary-0. Set spec.resources.requests.storage到所需的存储大小。
-
-
删除现有的 Pod StatefulSets,但通过传递
--cascade=orphan标志来保留 Pod。kubectl -n wickr delete statefulset --cascade=orphan mysql-primary mysql-secondary. -
在 KOTS 用户界面中,更新存储大小设置以匹配您在步骤 1 中设置的值。保存并部署此配置。
-
重启 StatefulSets 以扩展卷并使 MySQL 服务恢复联机。
kubectl -n wickr rollout restart statefulset mysql-primary mysql-secondary.
升级到 MySQL 8.0
外部数据库 (RDS)
要让 Wickr 后端离线,请完成以下步骤。
-
找到入口的命名空间
kubectl get deployments --all-namespaces在下面的示例中,命名空间为 Wickr,副本为 3。
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE ... wickr ingress-nginx-controller 3/3 3 3 43h ... -
缩小入口规模
kubectl scale deployment/ingress-nginx-controller --replicas=0 -n wickr -
拍摄快照以备份数据库。有关更多信息,请参阅 Amazon Relational Database Service 用户指南中的管理手动备份。
-
将引擎版本升级到 MySQL 8.0.x(不支持 MySQL 8.4)。有关更多信息,请参阅 Amazon Relational Database Service 用户指南中的升级数据库实例引擎版本。
要让 Wickr 后端上线,请缩小入口规模 kubectl scale
deployment/ingress-nginx-controller --replicas=3 -n wickr
内部数据库
有关更多信息,请参阅 Backup 和恢复 MySQL