1.2.3.2.1 快速部署¶
本章节介绍如何在测试 Kubernetes 集群中部署 Doris Operator 与 Doris 集群。部署操作如下:
-
创建
Kubernetes测试集群 -
部署
Doris Operator -
部署
Doris集群 -
连接访问
Doris集群
1 创建 Kubernetes 测试集群¶
此步骤简述在没有 k8s 集群的情况下如何快速搭建一套单节点 k8s 集群,如果已有 k8s 集群,此步骤请跳过。
Kind 是目前比较通用的创建本地 Kubernetes 测试环境的方案。 Kind 使用 Docker 容器作为节点,在本地创建和运行 Kubernetes 集群。
-
部署前置条件部署前需要确保环境中具有以下组件:
组件 版本要求 Docker >= 18.09 kubectl >=1.19 kind >=0.8.0 -
使用
kind部署Kubernetes集群本例中使用kind 0.10.0版本安装Kubernetes集群,命令如下:Bash 1kind create cluster --image kindest/node:v1.20.2 --name test-doris期望输出结果:
Bash 1 2 3 4 5 6 7 8 9
Creating cluster "test-doris" ... ✓ Ensuring node image (kindest/node:v1.20.2) ✓ Preparing nodes ✓ Writing configuration ✓ Starting control-plane ✓ Installing CNI ✓ Installing StorageClass Set kubectl context to "kind-test-doris" You can now use your cluster with: -
检查
Kubernetes集群状态使用以下命令检查Kubernete集群状态:Bash 1kubectl cluster-info --context kind-test-doris以下是期望输出结果:
Bash 1 2 3
Kubernetes control plane is running at https://127.0.0.1:40075 KubeDNS is running at https://127.0.0.1:40075/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
2 部署 Doris Operator¶
部署 Doris Operator 分成安装定义和部署 operator 服务两部分:
-
安装
Doris Operator CRD通过以下命令添加Doris Operator的自定义资源(CRD):Bash 1kubectl create -f https://raw.githubusercontent.com/selectdb/doris-operator/master/config/crd/bases/doris.selectdb.com_dorisclusters.yaml期望输出结果:
Bash 1customresourcedefinition.apiextensions.k8s.io/dorisclusters.doris.selectdb.com created -
安装
Doris Operator通过以下命令安装Doris Operator:Bash 1kubectl apply -f https://raw.githubusercontent.com/selectdb/doris-operator/master/config/operator/operator.yaml期望输出结果:
Bash 1 2 3 4 5 6 7
namespace/doris created role.rbac.authorization.k8s.io/leader-election-role created rolebinding.rbac.authorization.k8s.io/leader-election-rolebinding created clusterrole.rbac.authorization.k8s.io/doris-operator created clusterrolebinding.rbac.authorization.k8s.io/doris-operator-rolebinding created serviceaccount/doris-operator created deployment.apps/doris-operator created -
检查
Doris Operator状态通过以下命令检查Doris Operator的部署状态:Bash 1kubectl get pods -n doris期望输出结果:
Bash 1 2
NAME READY STATUS RESTARTS AGE doris-operator-7f578c86cb-nz6jn 1/1 Running 0 19mDoris Operator相关配置以及其他部署方式可参考部署operator部分。
3 部署 Doris 集群¶
-
下载模板
Doris部署模板:Bash 1curl -O https://raw.githubusercontent.com/apache/doris-operator/master/doc/examples/doriscluster-sample.yaml -
根据集群配置章节按需进行定制化配置,配置完成后通过如下命令部署:
Bash 1kubectl apply -f doriscluster-sample.yaml -
检查集群部署状态:通过查看
pods的状态检查集群的状态:Bash 1kubectl get pods期望结果:
Bash 1 2 3
NAME READY STATUS RESTARTS AGE doriscluster-sample-fe-0 1/1 Running 0 2m doriscluster-sample-be-0 1/1 Running 0 3m检查部署资源的状态:
Bash 1kubectl get dcr -n doris期望结果:
Bash 1 2
NAME FESTATUS BESTATUS CNSTATUS BROKERSTATUS doriscluster-sample available available
4 连接访问 Doris 集群¶
在测试环境中快速部署的 Doris 集群,可以进入容器 FE 内部使用 MySQL Client 链接 Doris 进行测试操作。其他访问方式可参考集群配置访问章节配置使用。
-
获取
FE容器名称:Bash 1 2
kubectl get pod -n doris | grep fe doriscluster-sample-fe-0 1/1 Running 0 16m在本例中,
FE容器名为doriscluster-sample-fe-0。 -
进入
FE容器内部:Bash 1kubectl -n doris exec -it doriscluster-sample-fe-0 /bin/bash -
在
FE容器内部使用MySQL Client链接Doris集群:Bash 1mysql -uroot -P9030 -h127.0.0.1