跳到内容

设置DBaaS在PMM中启用DBaaS

如果没有可用的Kubernetes集群,可以使用Percona提供的免费k8雷竞技下载官网进行评估,这将允许您在集群到期前使用DBaaS 3个小时。对于一个不会过期的Kubernetes集群,你可以使用我们的“简单脚本”,你可以找到说明在这里

在接下来的章节中,我们将尝试概述以几种流行的方式创建您自己的Kubernetes集群的步骤。

红帽,CentOS
yum-config-manager——add-repohttps://download.docker.com/linux/centos/docker-ce.repo百胜可能是安装docker-ce usermod——一个- g码头工人centos systemctl启用码头工人systemctl开始码头工人

Debian, Ubuntu
apt-add-repositoryhttps://download.docker.com/linux/centos/docker-ce.repo systemctl启用码头工人systemctl开始码头工人

minikube要安装的文档它。

红帽,CentOS
百胜可能是安装curl curl/usr/local/sbin/minikubehttps://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 chmod+ x/usr/local/sbin/minikube ln- s/usr/local/sbin/minikube/usr/sbin/minikube别名kubectl“minikube kubectl——”

启动PMM服务器并激活DBaaS特性
  • 要启动一个完整的3节点XtraDB集群,包括3倍HAProxy, 3倍PXC和6倍PMM Client容器,您将需要至少9个vCPU用于minikube。(HAProxy和PXC为1x vCPU,每个pmm-客户端容器为0.5vCPU)。
  • DBaaS不依赖PMM客户端。
  • 你可以传递环境变量- - - env ENABLE_DBAAS = 1在启动pmm-server容器时强制使用DBaaS特性。您可以省略该变量,然后使用PMM UI启用该特性,请按第三步的连结。在下面。
  • 添加选项——网络minikube如果你在同一个Docker实例中运行PMM Server和minikube。(这将共享一个网络,kubeconfig将工作。)
  • 添加选项- - - env PMM_DEBUG = 1和/或- - - env PMM_TRACE = 1如果需要扩展调试细节
  1. 启动PMM服务器:

    码头工人运行——分离——发布80: 80——发布443: 443——名字pmm-server雷竞技下载官网percona / pmm-server: 2
  2. 从CLI修改默认管理员凭据:

    (这一步是可选的,因为在第一次登录PMM时,可以从PMM的web界面完成同样的操作。)

    码头工人执行- tpmm-serverbash- c'ln -s /srv/grafana /usr/share/grafana/data;chown -R grafana:grafana /usr/share/grafana/data;grafana-cli——homeepath /usr/share/grafana admin reset-admin-password '

重要的

你必须激活DBaaS使用PMM UI- - - env ENABLE_DBAAS = 1当启动容器时。

创建Kubernetes集群

DBaaS特性使用Kubernetes集群部署数据库集群。您必须首先创建一个Kubernetes集群,然后使用kubeconfig才能获得成功的设置。

Minikube
minikube开始——cpu16——记忆32 g
  • 获取kubecconfig详细信息minikube.(你需要这些来注册你的Kubernetes集群到PMM服务器):

    minikubekubectl--配置视图——平——贬低
  • 亚马逊AWS EKSeksctl或者Amazon AWS界面。例如:

    eksctl创建集群——write-kubeconfig——名字your-cluster-name——区域us-west-2a, us-west-2b——kubeconfig< PATH_TO_KUBECONFIG >
    2.复制生成的kubecconfig并按照以下指示注册Kubernetes集群到PMM

    谷歌GKE谷歌云控制台gcloud命令行工具

    下面的命令假设您的gcloud命令行工具已正确配置,并且您的用户已经过身份验证和授权来管理GKE集群。这个示例使用抢占式节点机器创建了一个最小的区域集群,非常适合测试DBaaS功能。

    gcloud容器集群创建——区europe-west3-cpmm-dbaas-cluster——cluster-version1.19——机械化的e2-standard-4——抢占式——num-nodes3.gcloud容器集群将凭证pmm-dbaas-cluster——区europe-west3-c kubectl创建clusterrolebindingcluster-admin-binding——clusterrole集群管理员——用户< < your_user@your_company.com > >
  • 创建ServiceAccountClusterRole而且RoleBindingsPMM部署operator时,会自动部署所需的角色。

    <---apiVersion: v1: ServiceAccount元数据:名称:per雷竞技下载官网cona-dbaas-cluster-operator---: RoleBindingapiVersion: rbac.authorization.k8s.io / v1beta1元数据:名称:service-account-per雷竞技下载官网cona-server-dbaas-xtradb-operator主题:—kind: ServiceAccount名称:per雷竞技下载官网cona-dbaas-cluster-operatorroleRef:类型:角色名称:per雷竞技下载官网cona-xtradb-cluster-operatorapiGroup: rbac.authorization.k8s.io---: RoleBindingapiVersion: rbac.authorization.k8s.io / v1beta1元数据:名称:service-account-per雷竞技下载官网cona-server-dbaas-psmdb-operator主题:—kind: ServiceAccount名称:per雷竞技下载官网cona-dbaas-cluster-operatorroleRef:类型:角色名称:per雷竞技下载官网cona-server-mongodb-operatorapiGroup: rbac.authorization.k8s.io---apiVersion: rbac.authorization.k8s.io / v1beta1: ClusterRole元数据:名称:service-account-per雷竞技下载官网cona-server-dbaas-admin规则:- apiGroups: ["*"]资源(“*”):动词(“*”):---apiVersion: rbac.authorization.k8s.io / v1beta1: ClusterRoleBinding元数据:名称:service-account-per雷竞技下载官网cona-server-dbaas-operator-admin主题:—kind: ServiceAccount名称:per雷竞技下载官网cona-dbaas-cluster-operator名称空间:默认roleRef:: ClusterRole名称:service-account-per雷竞技下载官网cona-server-dbaas-adminapiGroup: rbac.authorization.k8s.ioEOF
  • 提取生成kubecconfig所需的变量:

    名字kubectl得到serviceAccounts雷竞技下载官网percona-dbaas-cluster-operator- ojson|金桥- r“.secrets [] . name '证书kubectl得到秘密美元的名字- ojson|金桥- r. data。”ca.crt”令牌kubectl得到秘密美元的名字- ojson|金桥- r“.data.token”|base64- d服务器kubectlcluster-info|grep“Kubernetes控制飞机”|减少- d' '- f7
  • 生成你的kubecconfig文件(复制输出):

    回声apiVersion: v1:配置用户:—name: p雷竞技下载官网ercona-dbaas-cluster-operator用户:令牌:美元的令牌集群:——集群:certificate-authority-data:美元的证书服务器:美元的服务器名称:self-hosted-cluster背景:——背景:集群:self-hosted-cluster用户:per雷竞技下载官网cona-dbaas-cluster-operator名称:svcs-acct-context当前上下文:svcs-acct-context
  • 请按照如何添加Kubernetes集群使用上一步中的kubeconfig。

  • 删除集群

    如果在PMM设置中设置了一个公共地址,则为每个DB集群创建一个API密钥,可以在页面中找到/图表/ org/apikeys.您不应该删除它们(目前,直到问题pmm - 8045一旦一个DB集群从DBaaS中移除,相关的API Key也会被移除。

    例如,如果你只跑步Eksctl删除集群如果在不先清理集群的情况下删除亚马逊EKS集群,将会有很多孤立的资源,如云生成、负载均衡器、EC2实例、网络接口等。谷歌个GKE集群也是如此。

    清理Kubernetes集群
    kubectl删除雷竞技下载官网perconaxtradbclusterbackups.pxc.percona.com——所有kubectl删除雷竞技下载官网perconaxtradbclusters.pxc.percona.com——所有kubectl删除雷竞技下载官网perconaxtradbclusterrestores.pxc.percona.com——所有kubectl删除雷竞技下载官网perconaservermongodbbackups.psmdb.percona.com——所有kubectl删除雷竞技下载官网perconaservermongodbs.psmdb.percona.com——所有kubectl删除雷竞技下载官网perconaservermongodbrestores.psmdb.percona.com——所有
  • dbaas-controller存储库,在deploy目录中有我们用来部署操作符的清单。用于删除集群中的操作符和相关资源。

    重要的

    • 在上一步删除所有数据库集群、备份和恢复之前,请不要执行此步骤。这可能导致无法删除DBaaS所在的名称空间。
    • 如果您在多个名称空间中运行DBaaS,也要注意这一步,因为它会删除运行DBaaS所需的集群级别CustomResourceDefinitions。这将破坏其他名称空间中的DBaaS。在这种情况下,只删除操作人员的部署。
    #删除PXC操作符及相关资源。旋度https://raw.githubusercontent.com/雷竞技下载官网percona-platform/dbaas-controller/7a5fff023994cecf6bde15705365114004b50b41/deploy/pxc-operator.yaml|kubectl删除- f-#删除PSMDB操作符和相关资源。旋度https://raw.githubusercontent.com/雷竞技下载官网percona-platform/dbaas-controller/7a5fff023994cecf6bde15705365114004b50b41/deploy/psmdb-operator.yaml|kubectl删除- f-
  • 删除运行DBaaS的名称空间,这将删除所有剩余的名称空间级资源(如果有的话)。

    kubectl删除名称空间<您的名称空间>
  • 删除Kubernetes集群。该方法取决于您的云提供商:

  • 将PMM服务器作为DBaaS的Docker容器运行
    码头工人运行——分离——名字pmm-server——发布80: 80——发布443: 443- - - envENABLE_DBAAS1雷竞技下载官网percona / pmm-server: 2

    重要的

    • 使用——网络minikube如果在同一个Docker实例中运行PMM Server和minikube。这样,他们将共享一个网络,kubeconfig将工作。
    • 使用Docker变量——env PMM_DEBUG=1——env PMM_TRACE=1查看扩展调试详细信息。
  • 更改默认管理员凭据:

    这一步是可选的,因为在第一次登录时,可以从PMM的web界面完成同样的操作。

    码头工人执行- tpmm-serverbash- c'ln -s /srv/grafana /usr/share/grafana/data;chown -R grafana:grafana /usr/share/grafana/data;grafana-cli——homeepath /usr/share/grafana admin reset-admin-password '
  • 在PMM设置界面中设置PMM服务器的公网地址

  • 遵循以下步骤添加Kubernetes集群

  • 遵循以下步骤添加DB集群

  • 获取连接应用/服务的IP地址:

    minikubekubectl得到服务
  • 公开PSMDB和XtraDB集群供外部客户端访问
    kubectl暴露部署hello world——类型NodePort。

    最近更新:2023-03-30
    Baidu
    map