常见问题¶
当Kubernetes从来没有打算运行数据库时,为什么我们需要遵循“Kubernetes方式”?¶
众所周知,Kubernetes方法针对的是无状态应用程序,但也提供了在应用程序需要时存储状态(在持久卷等)的方法。通常,无状态的操作模式应该提供更好的安全性、可持续性和可伸缩性,它使已经部署的组件可互换。关于Kubernetes给数据库带来的实质性好处,您可以在这篇博文.
以状态为中心的应用程序(如数据库)的体系结构应该以正确的方式组合,以避免在硬件故障期间崩溃、数据丢失或数据不一致。雷竞技下载官网Percona Operator for MySQL提供了开箱即用的功能,可以在Kubernetes上自动配置和管理高可用的MySQL数据库集群。
我如何联系开发人员?¶
与开发人员和其他社区成员讨论基于Percona Xt雷竞技下载官网raDB集群的Percona Operator for MySQL的最佳场所是社区论坛.
如果要报告错误,请使用雷竞技下载官网用于JIRA MySQL项目的Percona操作符.
操作员快速入门和高级安装方式有什么区别?¶
正如您所注意到的,文档的安装部分包含快速入门和高级安装指南。
快速入门指南更简单。它具有更少的安装步骤,支持预定义的默认选项。特别是,在高级安装指南中,您将分别应用自定义资源定义和基于角色的访问控制配置文件,并在其中进行可能的编辑。同时,快速入门指南依赖于全包包配置。
另一方面,快速入门指南与您将要使用的特定平台(Minikube,谷歌Kubernetes Engine等)相关,因此包含了这些平台所需的一些额外步骤。
一般来说,如果你是特定平台的新手用户和/或你是MySQL操作系统的Percona发行版的新手,你可以依赖快速入门指南。雷竞技下载官网
Percona操作符支持哪些版本的MySQL ?雷竞技下载官网¶
雷竞技下载官网Percona Operator for MySQL based on Percona XtraDB Cluster为您的Kubernetes安装提供了一个基于MySQL的Percona XtraDB Cluster的现成安装。它同时适用于MySQL 8.0和5.7分支,具体版本由所使用的Docker镜像决定。
雷竞技下载官网列出了操作员使用的经过percona认证的Docker映像在这里.如您所见,Percona XtraDB C雷竞技下载官网luster 8.0和5.7都受到以下推荐版本的支持:8.0.29-21.1和5.7.39-31.61。XtraDB Cluster版本中的三个主要数字指的是使用的Percona Server版本。雷竞技下载官网更多关于Percona服务器版本的详细信息可以在发布雷竞技下载官网说明中找到(8.0,5.7).
HAProxy如何比ProxySQL更好?¶
雷竞技下载官网基于Percona XtraDB Cluster的Percona Operator for MySQL支持HAProxy和ProxySQL作为负载均衡器。HAProxy在默认情况下是打开的,但是这两个解决方案在操作员控制下的配置和操作方面是相似的。
尽管如此,它们在技术上还是存在差异。HAProxy是一种用于基于TCP和http的应用程序的通用且广泛使用的高可用性、负载平衡和代理解决方案。ProxySQL提供了类似的功能,但是是针对MySQL集群的。作为一个sql感知的解决方案,它能够提供与MySQL实例更紧密的内部集成。
这两个项目都用Operator做得很好。代理的选择应该主要取决于特定于应用程序的工作负载(包括对象-关系映射)、性能需求、一个或另一个项目的高级路由和缓存需求、当前基础设施中已经在使用的组件以及应用程序的任何其他特定需求。
如何在节点上添加创建目录以将其用作本地存储¶
你可以配置hostPath卷将节点文件系统中的一些现有文件或目录挂载到Pod中,并将其用作本地存储。用于本地存储的目录应该已经存在于节点的文件系统中。您可以通过shell访问节点来创建它mkdir命令,与所有其他目录一样。或者你也可以创建一个Pod来完成这项工作。让我们假设你要用/var/run/data-dir目录作为本地存储,并在部署/ cr.yaml配置文件如下:
...pxc:...volumeSpec:hostPath:路径:/var/run/data-dir类型:目录containerSecurityContext:享有特权的:假podSecurityContext:runAsUser:1001runAsGroup:1001supplementalGroups:[1001]nodeSelector:kubernetes.io /主机名:a.b.c
创建yaml文件(例如:mypod.yaml),内容如下:
apiVersion:v1种类:圆荚体元数据:名字:hostpath-helper规范:容器:-名字:初始化图像:busybox命令:[“安装”,“o”,“1001”,“g”,“1001”,“- m”,“755”,“- d”,“/ mnt / data-dir”]volumeMounts:-名字:根mountPath:/ mntsecurityContext:runAsUser:0卷:-名字:根hostPath:路径:/var/runrestartPolicy:从来没有nodeSelector:kubernetes.io /主机名:a.b.c
不要忘记像往常一样应用它:
$kubectl应用- fmypod.yaml
如何将自定义挎斗容器添加到集群中?¶
Operator允许您部署额外的(所谓的双轮马车)容器到豆荚。您可以使用此特性来运行调试工具、一些特定的监控解决方案等。raybet雷竞技竞猜在线官网将这样的侧车容器添加到部署/ cr.yaml配置文件,指定它的名称和映像,以及可能要运行的命令:
规范:pxc:....sidecar:-图像:busybox命令:[/ bin / sh”]arg游戏:[“c”,“虽然真正的;做回声回声美元(日期- u)“测试”>>/ dev / null;睡眠5;完成”]名字:my-sidecar-1....
你可以添加sidecar分段,pxc,haproxy,proxysql部分。
请注意
定制挎斗容器是否可以轻松访问集群的其他组件.因此,应谨慎使用,并仅由有经验的用户使用。
在相应的文章中找到关于挎斗容器的更多信息文档页面.
如何在Percona XtraDB集群崩溃的情况下获得核心转储雷竞技下载官网¶
在Percon雷竞技下载官网a XtraDB集群崩溃的案例中,收集所有可能的信息,以便与Percona Support共享增强诊断,有助于更快地解决问题。其中一个有用的人工制品是核心转储.
雷竞技下载官网Percona XtraDB集群可以在crush上创建核心转储使用libcoredumper.操作符默认开启此功能。核心转储保存到DATADIR(var / lib / mysql /).您可以通过以下方式找到合适的核心文件(替换为some-name-pxc-1你的豆荚的名字):
$kubectl执行some-name-pxc-1- cpxc---上海- c'ls -alh /var/lib/mysql/ | grep core'net -1mysqlmysql1.3G1月1509: 30core.20210015093005
确定后,可以按以下方式下载适当的核心转储:
$kubectlcpsome-name-pxc-1: / var / lib / mysql / core.20210015093005/ tmp / core.20210015093005
请注意
在创建支持票据时,除了提供核心转储之外,提供Build ID和服务器版本是很有用的。两者都可以从日志中找到:
$kubectl日志some-name-pxc-1- c日志[1]init -部署949. - 1.一些-名字- pxc - - mysqld error.log:[1610702394.259356066,{“日志”=>"09:19:54 UTC - mysqld得到信号11;"})[2]init -部署949. - 1.一些-名字- pxc - - mysqld error.log:[1610702394.259356829,{“日志”=>“很有可能,你碰到了一个bug,但这个错误也可能是由硬件故障引起的。”})[3.]init -部署949. - 1.一些-名字- pxc - - mysqld error.log:[1610702394.259457282,{“日志”=>Build ID: 5a2199b1784b967a713a3bde8d996dc517c41adb})[4]init -部署949. - 1.一些-名字- pxc - - mysqld error.log:[1610702394.259465692,{“日志”=>服务器版本:8.0.21-12.1 Percona Xtr雷竞技下载官网aDB集群(GPL), Release rel12, Revision 4d973e2, WSREP Version 26.4.3, wsrep_26.4.3})…
配置集群时如何选择HAProxy和ProxySQL ?¶
您可以将Operator配置为使用两个不同的代理之一:HAProxy(默认选择)和ProxySQL。Operator完全支持这两种解决方案,但它们在架构上存在一些差异,这使得其中一种解决方案在某些用例中比另一种更适合。
主要的区别是HAProxy在TCP模式下作为一个OSI级别4代理,而ProxySQL实现了OSI 7级代理,因此可以提供一些额外的功能,如读写分割,防火墙和缓存。
从另一方面来说,使用HAProxy服务是更简单的方法,而使用ProxySQL级别7的细节需要很好地理解Kubernetes和ProxySQL。
中查看使用Operator和两个解决方案的更详细功能和性能比较这篇博文.
自定义资源验证webhook使用哪些额外的访问权限?¶
的spec.enableCRValidationWebhook输入部署/ cr.yaml文件启用或禁用Operator在应用之前进行的模式验证cr.yaml文件。此特性仅在整个集群范围的模式由于访问限制。它使用以下附加RBAC的权限:
-apiGroups:-admissionregistration.k8s.io资源:-validatingwebhookconfigurations动词:-得到-列表-看-创建-更新-补丁-删除