跳到内容
标志
雷竞技下载官网MySQL的Percona操作符
使用ProxySQL进行负载平衡
初始化搜索
    雷竞技下载官网percona / k8spxc-docs
    雷竞技下载官网percona / k8spxc-docs
    • 欢迎
      • 系统需求
      • 设计和架构
      • 与其他方案的比较
      • 与头盔一起安装
      • 使用kubectl安装
      • 安装在Minikube上
      • 安装在谷歌Kubernetes引擎(GKE)上
      • 安装在Amazon Elastic Kubernetes服务(AWS EKS)上
      • 安装到Microsoft Azure Kubernetes服务(AKS)
      • 安装在OpenShift上
      • 通用Kubernetes安装
      • 多集群、多区域部署
      • 应用和系统用户
      • 更改MySQL选项
      • 反亲和和容忍
      • 标签和注释
      • 本地存储支持
      • 定义环境变量
      • 使用HAProxy进行负载均衡
      • 使用ProxySQL进行负载平衡
        • 将自定义配置选项传递给ProxySQL
          • 编辑deploy/cr. conf文件。yaml文件
          • 使用ConfigMap
          • 使用秘密对象
        • 访问ProxySQL管理界面
      • 传输加密(TLS/SSL)
      • 静止数据加密
      • 遥测
      • 备份和恢复
      • 升级数据库和操作员
      • 水平和垂直缩放
      • raybet雷竞技竞猜在线官网使用Percona监视和管雷竞技下载官网理(PMM)进行监视
      • 添加挎斗容器
      • 重新启动或暂停集群
      • 崩溃恢复
      • 初始故障排除
      • 将Exec放入容器
      • 检查日志
      • 特殊调试映像
      • 如何在多命名空间(集群范围)模雷竞技下载官网式下安装Percona XtraDB集群
      • 如何手动升级Percona X雷竞技下载官网traDB集群
      • 如何使用私有注册表
      • 自定义资源选项
      • 雷竞技下载官网经过Percona认证的图像
      • 运营商API
      • 常见问题
      • 旧版本(文档存档)
      • 发行说明索引
      • 雷竞技下载官网基于Percona XtraDB Cluster 1.12.0的Percona Operator for MySQL (2022-12-07)
      • 雷竞技下载官网基于Percona XtraDB Cluster 1.11.0的Percona Operator for MySQL (2022-06-03)
      • 雷竞技下载官网Percona Distribution for MySQL operator1.10.0 (21-11-24)
      • 雷竞技下载官网Percona Distribution for MySQL Operator 1.9.0 (21-08-09)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona XtraDB Cluster 1.8.0 (21-05-26)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona XtraDB Cluster 1.7.0 (21-02-02)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona XtraDB Cluster 1.6.0 (2020-09-09)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona XtraDB Cluster 1.5.0 (2020-07-21)
      • 雷竞技下载官网Percona XtraDB集群的Kubernetes操作符1.4.0 (2020-04-29)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona XtraDB Cluster 1.3.0 (2020-01-06)
      • 雷竞技下载官网Percona XtraDB集群Kubernetes操作符1.2.0 (2019-09-20)
      • 雷竞技下载官网Percona Kubernetes操作符for Percona XtraDB Cluster 1.1.0 (2019-07-15)
      • 雷竞技下载官网Percona XtraDB集群的Kubernetes操作符1.0.0 (2019-05-29)

    • 将自定义配置选项传递给ProxySQL
      • 编辑deploy/cr. conf文件。yaml文件
      • 使用ConfigMap
      • 使用秘密对象
    • 访问ProxySQL管理界面

    使用ProxySQL配置负载均衡¶

    雷竞技下载官网Percona Operator for MySQL基于Percona XtraDB Cluster提供了两个集群组件来提供负载均衡和代理服务:您可以使用任何一个HAProxy或ProxySQL。控件的启用或禁用,可以控制要使用哪一个haproxy.enabled和proxysql.enabled的选项。部署/ cr.yaml配置文件。

    使用以下命令启用ProxySQL:

    美元kubectl补丁pxccluster1——类型=合并——补丁”{"规范":{" proxysql ": {“启用”:没错,“大小”:3,"image": "雷竞技下载官网percona/percona-xtradb-cluster-operator:1.12.0-proxysql"},"haproxy": {"enabled": false}}}’

    请注意

    由于显而易见的原因,Operator将不允许同时启用HAProxy和ProxySQL。

    结果设置将使用数字0 Percona XtraDB群集成员(雷竞技下载官网cluster1-pxc-0默认情况下)作为写入器。

    升级具有ProxySQL的集群时,将执行以下步骤。首先,读取器成员逐个升级:Operator等待,直到升级的成员在ProxySQL中显示为在线状态,然后继续升级下一个成员。当所有读取器的升级完成后,写入器Percona XtraDB Cluster成员就最终升级了。雷竞技下载官网

    请注意

    当ProxySQL和Percona XtraD雷竞技下载官网B Cluster同时升级时,它们将并行升级。

    将自定义配置选项传递给ProxySQL¶

    您可以将自定义配置传递给ProxySQL

    • 编辑部署/ cr.yaml文件,

    • 使用ConfigMap,

    • 使用秘密对象。

    请注意

    如果以这种方式指定自定义ProxySQL配置,ProxySQL将尝试将传递的参数与先前设置的配置参数合并(如果有的话)。如果ProxySQL未能合并某些选项,您将在其日志中看到一个警告。

    编辑部署/ cr.yaml文件¶

    控件中添加选项proxysql.cnf配置文件proxysql.configuration输入部署/ cr.yaml文件。这里有一个例子:

    …proxysql:启用:假大小:3.图像:雷竞技下载官网percona / percona-xtradb-cluster-operator: 1.12.0-proxysql配置:|datadir = " / var / lib / proxysql”admin_variables ={admin_credentials = " proxyadmin: admin_password”mysql_ifaces = " 0.0.0.0:6032 "refresh_interval = 2000cluster_username = " proxyadmin "cluster_password = " admin_password "cluster_check_interval_ms = 200cluster_check_status_frequency = 100cluster_mysql_query_rules_save_to_disk = truecluster_mysql_servers_save_to_disk = truecluster_mysql_users_save_to_disk = truecluster_proxysql_servers_save_to_disk = truecluster_mysql_query_rules_diffs_before_sync = 1cluster_mysql_servers_diffs_before_sync = 1cluster_mysql_users_diffs_before_sync = 1cluster_proxysql_servers_diffs_before_sync = 1}mysql_variables ={raybet雷竞技竞猜在线官网monitor_password = "监控"raybet雷竞技竞猜在线官网monitor_galera_healthcheck_interval = 1000线程= 2max_connections = 2048default_query_delay = 0default_query_timeout = 10000poll_timeout = 2000接口= " 0.0.0.0:3306 "default_schema = " information_schema "stacksize = 1048576connect_timeout_server = 10000raybet雷竞技竞猜在线官网monitor_history = 60000raybet雷竞技竞猜在线官网monitor_connect_interval = 20000raybet雷竞技竞猜在线官网monitor_ping_interval = 10000ping_timeout_server = 200commands_stats = truesessions_sort = truehave_ssl = truessl_p2s_ca = " / etc / proxysql / ssl-internal / ca.crt”ssl_p2s_cert = " / etc / proxysql / ssl-internal / tls.crt”ssl_p2s_key = " / etc / proxysql / ssl-internal / tls.key”ssl_p2s_cipher = " ECDHE-RSA-AES128-GCM-SHA256 "}

    使用ConfigMap¶

    您可以使用configmap和集群重启来重置配置选项。configmap允许Kubernetes在容器化应用程序中传递或更新配置数据。

    使用kubectl命令从外部资源创建configmap,更多信息请参见配置Pod使用ConfigMap。

    例如,您定义了一个proxysql.cnf配置文件,设置如下:

    datadir = " / var / lib / proxysql”admin_variables = {admin_credentials =“proxyadmin: admin_password mysql_ifaces”=“0.0.0.0:6032”refresh_interval = 2000 cluster_username =“proxyadmin cluster_password”=“admin_password cluster_check_interval_ms = 200 cluster_check_status_frequency = 100 cluster_mysql_query_rules_save_to_disk = true cluster_mysql_servers_save_to_disk = true cluster_mysql_users_save_to_disk = true cluster_proxysql_servers_save_to_disk = true cluster_mysql_query_rules_diffs_before_sync = 1cluster_mysql_servers_diffs_before_sync = 1 cluster_mysql_users_diffs_before_sync = 1 cluster_proxysql_servers_diffs_before_sync = 1} mysql_variableraybet雷竞技竞猜在线官网s = {monitor_password =“监控”monitor_galera_healthcheck_interval = 1000 = 2线程max_connections = 2048 default_query_delay = 0 default_query_timeout = 10000 poll_timeout = 2000接口=“0.0.0.0:3306 default_schema”=“information_schema”stacksize = 1048576 connect_timeout_server = 10000 monitor_history = 60000 monitor_connect_interval = 20000raybet雷竞技竞猜在线官网Monitor_ping_interval =10000 ping_timeout_server=200 commands_stats=true sessions_sort=true have_ssl=true ssl_p2s_ca="/etc/proxysql/ssl-internal/ca. "crt " ssl_p2s_cert = " / etc / proxysql / ssl-internal / tls。crt " ssl_p2s_key = " / etc / proxysql / ssl-internal / tls。key" ssl_p2s_cipher="ECDHE-RSA-AES128-GCM-SHA256"}

    方法创建configmapproxysql.cnf与Kubectl创建configmap命令。

    类型的组合应使用集群名称-proxysql后缀作为configmap的命名约定。查询集群名称,可以使用以下命令:

    美元kubectl得到pxc

    的语法Kubectl创建configmap命令是:

    $ kubectl create configmap -proxysql  .使用实例

    下面的示例定义了cluster1-proxysql作为configmap名称和proxysql.cnf文件作为数据源:

    美元kubectl创建configmapcluster1-proxysql——从文件=proxysql.cnf

    查看已创建的configmap,使用如下命令:

    美元kubectl描述configmapscluster1-proxysql

    使用秘密对象¶

    操作符也可以存储配置选项Kubernetes秘密。如果您需要对某些敏感数据进行额外的保护,这可能很有用。

    您应该创建一个具有特定名称的Secret对象,该名称由您的集群名称和proxysql后缀。

    请注意

    查询集群名称,可以使用以下命令:

    美元kubectl得到pxc

    配置选项应该放在一个特定的键里面数据部分。此键的名称为proxysql.cnf适用于ProxySQL Pods。

    实际选项应该用Base64。

    例如,让我们定义一个proxysql.cnf配置文件,并把我们在前面的例子中使用的选项:

    datadir = " / var / lib / proxysql”admin_variables = {admin_credentials =“proxyadmin: admin_password mysql_ifaces”=“0.0.0.0:6032”refresh_interval = 2000 cluster_username =“proxyadmin cluster_password”=“admin_password cluster_check_interval_ms = 200 cluster_check_status_frequency = 100 cluster_mysql_query_rules_save_to_disk = true cluster_mysql_servers_save_to_disk = true cluster_mysql_users_save_to_disk = true cluster_proxysql_servers_save_to_disk = true cluster_mysql_query_rules_diffs_before_sync = 1cluster_mysql_servers_diffs_before_sync = 1 cluster_mysql_users_diffs_before_sync = 1 cluster_proxysql_servers_diffs_before_sync = 1} mysql_variableraybet雷竞技竞猜在线官网s = {monitor_password =“监控”monitor_galera_healthcheck_interval = 1000 = 2线程max_connections = 2048 default_query_delay = 0 default_query_timeout = 10000 poll_timeout = 2000接口=“0.0.0.0:3306 default_schema”=“information_schema”stacksize = 1048576 connect_timeout_server = 10000 monitor_history = 60000 monitor_connect_interval = 20000raybet雷竞技竞猜在线官网Monitor_ping_interval =10000 ping_timeout_server=200 commands_stats=true sessions_sort=true have_ssl=true ssl_p2s_ca="/etc/proxysql/ssl-internal/ca. "crt " ssl_p2s_cert = " / etc / proxysql / ssl-internal / tls。crt " ssl_p2s_key = " / etc / proxysql / ssl-internal / tls。key" ssl_p2s_cipher="ECDHE-RSA-AES128-GCM-SHA256"}

    你可以通过命令行从你的选项中获得一个Base64编码的字符串,如下所示:

    美元猫proxysql.cnf|base64——包装=0
    美元猫proxysql.cnf|base64

    请注意

    类似地,你可以从Base64编码的字符串中读取选项列表:

    美元回声“ZGF0YWRpcj0iL3Zhci9saWIvcHJveHlzcWwiCgphZG1pbl92YXJpYWJsZXMgPQp7CiBhZG1pbl9j \cmVkZW50aWFscz0icHJveHlhZG1pbjphZG1pbl9wYXNzd29yZCIKIG15c3FsX2lmYWNlcz0iMC4w \LjAuMDo2MDMyIgogcmVmcmVzaF9pbnRlcnZhbD0yMDAwCgogY2x1c3Rlcl91c2VybmFtZT0icHJv \eHlhZG1pbiIKIGNsdXN0ZXJfcGFzc3dvcmQ9ImFkbWluX3Bhc3N3b3JkIgogY2x1c3Rlcl9jaGVj \a19pbnRlcnZhbF9tcz0yMDAKIGNsdXN0ZXJfY2hlY2tfc3RhdHVzX2ZyZXF1ZW5jeT0xMDAKIGNs \dXN0ZXJfbXlzcWxfcXVlcnlfcnVsZXNfc2F2ZV90b19kaXNrPXRydWUKIGNsdXN0ZXJfbXlzcWxf \c2VydmVyc19zYXZlX3RvX2Rpc2s9dHJ1ZQogY2x1c3Rlcl9teXNxbF91c2Vyc19zYXZlX3RvX2Rp \c2s9dHJ1ZQogY2x1c3Rlcl9wcm94eXNxbF9zZXJ2ZXJzX3NhdmVfdG9fZGlzaz10cnVlCiBjbHVz \dGVyX215c3FsX3F1ZXJ5X3J1bGVzX2RpZmZzX2JlZm9yZV9zeW5jPTEKIGNsdXN0ZXJfbXlzcWxf \c2VydmVyc19kaWZmc19iZWZvcmVfc3luYz0xCiBjbHVzdGVyX215c3FsX3VzZXJzX2RpZmZzX2Jl \Zm9yZV9zeW5jPTEKIGNsdXN0ZXJfcHJveHlzcWxfc2VydmVyc19kaWZmc19iZWZvcmVfc3luYz0x \Cn0KCm15c3FsX3ZhcmlhYmxlcz0KewogbW9uaXRvcl9wYXNzd29yZD0ibW9uaXRvciIKIG1vbml0 \b3JfZ2FsZXJhX2hlYWx0aGNoZWNrX2ludGVydmFsPTEwMDAKIHRocmVhZHM9MgogbWF4X2Nvbm5l \Y3Rpb25zPTIwNDgKIGRlZmF1bHRfcXVlcnlfZGVsYXk9MAogZGVmYXVsdF9xdWVyeV90aW1lb3V0 \PTEwMDAwCiBwb2xsX3RpbWVvdXQ9MjAwMAogaW50ZXJmYWNlcz0iMC4wLjAuMDozMzA2IgogZGVm \YXVsdF9zY2hlbWE9ImluZm9ybWF0aW9uX3NjaGVtYSIKIHN0YWNrc2l6ZT0xMDQ4NTc2CiBjb25u \ZWN0X3RpbWVvdXRfc2VydmVyPTEwMDAwCiBtb25pdG9yX2hpc3Rvcnk9NjAwMDAKIG1vbml0b3Jf \Y29ubmVjdF9pbnRlcnZhbD0yMDAwMAogbW9uaXRvcl9waW5nX2ludGVydmFsPTEwMDAwCiBwaW5n \X3RpbWVvdXRfc2VydmVyPTIwMAogY29tbWFuZHNfc3RhdHM9dHJ1ZQogc2Vzc2lvbnNfc29ydD10 \cnVlCiBoYXZlX3NzbD10cnVlCiBzc2xfcDJzX2NhPSIvZXRjL3Byb3h5c3FsL3NzbC1pbnRlcm5h \bC9jYS5jcnQiCiBzc2xfcDJzX2NlcnQ9Ii9ldGMvcHJveHlzcWwvc3NsLWludGVybmFsL3Rscy5j \cnQiCiBzc2xfcDJzX2tleT0iL2V0Yy9wcm94eXNxbC9zc2wtaW50ZXJuYWwvdGxzLmtleSIKIHNz \bF9wMnNfY2lwaGVyPSJFQ0RIRS1SU0EtQUVTMTI4LUdDTS1TSEEyNTYiCn0K”|base64——解码

    最后,使用yaml文件创建Secret对象。例如,您可以创建一个部署/ my-proxysql-secret.yaml文件内容如下:

    apiVersion:v1种类:秘密元数据:名字:cluster1-proxysql数据:my.cnf:“ZGF0YWRpcj0iL3Zhci9saWIvcHJveHlzcWwiCgphZG1pbl92YXJpYWJsZXMgPQp7CiBhZG1pbl9j \cmVkZW50aWFscz0icHJveHlhZG1pbjphZG1pbl9wYXNzd29yZCIKIG15c3FsX2lmYWNlcz0iMC4w \LjAuMDo2MDMyIgogcmVmcmVzaF9pbnRlcnZhbD0yMDAwCgogY2x1c3Rlcl91c2VybmFtZT0icHJv \eHlhZG1pbiIKIGNsdXN0ZXJfcGFzc3dvcmQ9ImFkbWluX3Bhc3N3b3JkIgogY2x1c3Rlcl9jaGVj \a19pbnRlcnZhbF9tcz0yMDAKIGNsdXN0ZXJfY2hlY2tfc3RhdHVzX2ZyZXF1ZW5jeT0xMDAKIGNs \dXN0ZXJfbXlzcWxfcXVlcnlfcnVsZXNfc2F2ZV90b19kaXNrPXRydWUKIGNsdXN0ZXJfbXlzcWxf \c2VydmVyc19zYXZlX3RvX2Rpc2s9dHJ1ZQogY2x1c3Rlcl9teXNxbF91c2Vyc19zYXZlX3RvX2Rp \c2s9dHJ1ZQogY2x1c3Rlcl9wcm94eXNxbF9zZXJ2ZXJzX3NhdmVfdG9fZGlzaz10cnVlCiBjbHVz \dGVyX215c3FsX3F1ZXJ5X3J1bGVzX2RpZmZzX2JlZm9yZV9zeW5jPTEKIGNsdXN0ZXJfbXlzcWxf \c2VydmVyc19kaWZmc19iZWZvcmVfc3luYz0xCiBjbHVzdGVyX215c3FsX3VzZXJzX2RpZmZzX2Jl \Zm9yZV9zeW5jPTEKIGNsdXN0ZXJfcHJveHlzcWxfc2VydmVyc19kaWZmc19iZWZvcmVfc3luYz0x \Cn0KCm15c3FsX3ZhcmlhYmxlcz0KewogbW9uaXRvcl9wYXNzd29yZD0ibW9uaXRvciIKIG1vbml0 \b3JfZ2FsZXJhX2hlYWx0aGNoZWNrX2ludGVydmFsPTEwMDAKIHRocmVhZHM9MgogbWF4X2Nvbm5l \Y3Rpb25zPTIwNDgKIGRlZmF1bHRfcXVlcnlfZGVsYXk9MAogZGVmYXVsdF9xdWVyeV90aW1lb3V0 \PTEwMDAwCiBwb2xsX3RpbWVvdXQ9MjAwMAogaW50ZXJmYWNlcz0iMC4wLjAuMDozMzA2IgogZGVm \YXVsdF9zY2hlbWE9ImluZm9ybWF0aW9uX3NjaGVtYSIKIHN0YWNrc2l6ZT0xMDQ4NTc2CiBjb25u \ZWN0X3RpbWVvdXRfc2VydmVyPTEwMDAwCiBtb25pdG9yX2hpc3Rvcnk9NjAwMDAKIG1vbml0b3Jf \Y29ubmVjdF9pbnRlcnZhbD0yMDAwMAogbW9uaXRvcl9waW5nX2ludGVydmFsPTEwMDAwCiBwaW5n \X3RpbWVvdXRfc2VydmVyPTIwMAogY29tbWFuZHNfc3RhdHM9dHJ1ZQogc2Vzc2lvbnNfc29ydD10 \cnVlCiBoYXZlX3NzbD10cnVlCiBzc2xfcDJzX2NhPSIvZXRjL3Byb3h5c3FsL3NzbC1pbnRlcm5h \bC9jYS5jcnQiCiBzc2xfcDJzX2NlcnQ9Ii9ldGMvcHJveHlzcWwvc3NsLWludGVybmFsL3Rscy5j \cnQiCiBzc2xfcDJzX2tleT0iL2V0Yy9wcm94eXNxbC9zc2wtaW50ZXJuYWwvdGxzLmtleSIKIHNz \bF9wMnNfY2lwaGVyPSJFQ0RIRS1SU0EtQUVTMTI4LUdDTS1TSEEyNTYiCn0K”

    准备好后,使用以下命令应用它:

    美元kubectl创建- f部署/ my-proxysql-secret.yaml

    请注意

    不要忘记重新启动Percona XtraDB Cl雷竞技下载官网uster,以确保集群已经更新了配置。

    访问ProxySQL管理界面¶

    你可以使用ProxySQL管理界面来配置其设置。

    以这种方式配置ProxySQL意味着使用MySQL协议连接到它,需要做两件事:

    • ProxySQL Pod名称

    • ProxySQL管理员密码

    您可以通过库贝特尔去拿吊舱命令,输出如下:

    $ kubectl get pods NAME READY STATUS重启AGE cluster1-pxc-node-0 1/1运行0 5m cluster1-pxc-node-1 1/1运行0 4m cluster1-pxc-node-2 1/1运行0 2m cluster1-proxysql-0 1/1运行0 5m percona-xtradb-cluster-operator-dc67雷竞技下载官网778fd-qtspz 1/1运行0 6m

    下一个命令将打印所需的管理员密码:

    $ kubectl get secrets $(kubectl get pxc -o jsonpath='{.items[].spec. seretsname}') -o template='{{.data. user}')Proxyadmin | base64decode}}'

    当Pod名和admin密码都已知时,按如下方式连接ProxySQLcluster1-proxysql-0还有Pod的名字admin_password实际密码:

    $ kubectl exec -it cluster1-proxysql-0——mysql -h127.0.0.1 -P6032 -uproxyadmin -padmin_password

    联系我们

    如需免费技术帮助,请访问Percona雷竞技下载官网社区论坛。

    要报告错误或提交功能请求,请打开JIRA票。

    付费支持和管理或咨询服务,请联系雷竞技下载官网Percona销售。


    最近更新:2023-04-01
    雷竞技下载官网Percona LLC和/或其附属公司,©2009 - 2022
    用MkDocs材料

    饼干的同意

    我们使用cookie来识别您的重复访问和偏好,以及衡量我们文档的有效性,以及用户是否找到他们正在搜索的内容。在您的同意下,您正在帮助我们改进我们的文档。

    Baidu
    map