kind部署k8s安装doris operator

embedded/2025/1/24 21:58:50/

环境为windows11,并开启wsl,使用应用商店的子系统 Ubuntu 20.04.6TLS

引用:Kubernetes教程(十五)---使用 kind 在本地快速部署一个 k8s集群 -

Install docker

Kind 使用 docker 来启动容器,因此需要先安装 docker,可自行安装,也可以用下面这个脚本安装。

通过以下命令创建 install-docker.sh 脚本文件:

cat << EOF > install-docker.sh 
#!/bin/bash
set -e
# centos 一键安装 docker 脚本.#卸载旧版本
yum remove -y docker  docker-common docker-selinux docker-engine
#安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
#添加yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装最新版docker
yum install -y docker-ce
#配置镜像加速器
mkdir -p /etc/docker
echo '{"registry-mirrors": ["https://reg-mirror.qiniu.com","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://docker.mirrors.ustc.edu.cn"]
}' > /etc/docker/daemon.json
#启动并加入开机启动
systemctl enable docker --now
docker version
echo "docker install finish."
EOF

运行脚本,安装 docker:

sh install-docker.sh

kind安装k8s集群官方也提供了脚本,可以一键创建,但是我本地测试没有成功:kind – Local Registry

kind-from-binary">Install kind from binary

kind 只是一个二进制文件,因此下载下来放到 bin 目录即可。

curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

Install kubectl

Kind 只负责创建集群(会配置好 kubeconfig),后续操作集群的话需要手动安装 kubectl.

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin

Create aio cluster

一切就绪之后,使用 kind 创建集群即可。

kind 0.17.0 默认用的是 v.1.25.3 版本 k8s,可以先手动拉镜像,因为默认的镜像地址不一定能拉下来。(拉不下来可以试下registry.cn-hangzhou.aliyuncs.com/morris-share/kindest-node:v1.25.3)

docker pull kindest/node:v1.25.3

然后创建集群时指定刚才拉下来的镜像

kind create cluster --image kindest/node:v1.25.3 --name aio -v 5

不出意外的话,一两分钟就可以创建好。

创建好之后就可以使用 kubectl 进行操作了,kind 会把 kubeconfig 也配置好,使用起来和真正的集群基本一致。

List cluster

Kind 自身也保存了集群数据的,使用以下命令进行查看。

kind get clusters

Delete cluster

删除一个集群也很简单,通过集群名即可

# syntax:kind delete  cluster --name ${clustername}
kind delete  cluster --name aio

install doris operator

基于 Doris-Operator 部署 | SelectDB

kind里操作需要先把所需要的镜像使用docker pull下来然后使用kind load进去

需要的镜像:

selectdb/doris.k8s-operator                    latest    90d109ad7562   4 weeks ago     62.4MB
selectdb/doris.be-ubuntu                       2.1.1     8e211d53e0c5   9 months ago    5.21GB
selectdb/doris.fe-ubuntu                       2.1.1     2bc07a671fa5   9 months ago    1.9GB
selectdb/alpine                                latest 

 比如:selectdb/doris.be-ubuntu:2.1.1,按此操作将这四个集群加载到aio这个集群里。

docker pull docker-0.unsee.tech/selectdb/doris.be-ubuntu:2.1.1
# 导入完镜像id是:8e211d53e0c5docker tag 8e211d53e0c5 selectdb/doris.be-ubuntu:2.1.1
# 将这个镜像导入到kind创建的k8s集群aio中
kind load docker-image selectdb/doris.be-ubuntu:2.1.1 --name aio

1. 添加 DorisCluster 资源定义(opens in a new tab)

kubectl apply -f https://raw.githubusercontent.com/selectdb/doris-operator/master/config/crd/bases/doris.selectdb.com_dorisclusters.yaml    

2. 部署 Doris-Operator

方式一:默认部署模式
直接通过仓库中 Operator 的定义进行部署

kubectl apply -f https://raw.githubusercontent.com/selectdb/doris-operator/master/config/operator/operator.yaml

方式二:自定义部署
operator.yaml(opens in a new tab) 中各个配置是部署 Operator 服务的最低要求。为提高管理效率或者有定制化的需求,下载 operator.yaml 进行自定义部署。

  • 下载 Operator 的部署范例 operator.yaml(opens in a new tab),可直接通过 wget 进行下载。
  • 按期望更新 operator.yaml 中各种配置信息。
  • 通过如下命令部署 Doris-Operator 服务。
kubectl apply -f operator.yaml

3. 检查 Doris-Operator 服务部署状态
Operator 服务部署后,可通过如下命令查看服务的状态。当STATUSRunning状态,且 pod 中所有容器都为Ready状态时服务部署成功。

lwf@lwf-PC:~/doris-oprate$ kubectl get pods -n doris
NAME                              READY   STATUS    RESTARTS       AGE
doris-operator-55f6cf8566-fw7ml   1/1     Running   0              7h17m

deploy doris cluster

kubectl apply -f https://raw.githubusercontent.com/selectdb/doris-operator/master/doc/examples/doriscluster-sample.yaml

注意使用官方配置3fe,3be可能会部署失败,主要是集群配置不够,这里改成了一主一从

apiVersion: doris.selectdb.com/v1
kind: DorisCluster
metadata:labels:app.kubernetes.io/name: dorisclusterapp.kubernetes.io/instance: doriscluster-1-1app.kubernetes.io/part-of: doris-operatorname: doriscluster-1-1namespace: doris
spec:feSpec:replicas: 1image: selectdb/doris.fe-ubuntu:2.1.1beSpec:replicas: 1image: selectdb/doris.be-ubuntu:2.1.1

期间也出现了一个问题就是fe起来了但是be一直没有起来,查看日志

kubectl logs doriscluster-1-1-be-0 -n doris

大概内容是:连接fe失败

然后进入容器,无法路由:

kubectl exec -it <pod-name> -n <namespace> -- nslookup <service-name>

查看kube-proxy报错:

kube-proxy iptables-restore v1.8.7 (legacy): Couldn't load match `recent':No such file or directory

wsl没有 ipt_recent 模块,可以修改kube-proxy的配置mode 设置为 ipvs。

kubectl edit cm kube-proxy -n kube-system
# mode: ipvs# 重启kube-proxykubectl delete kube-proxy-9w2w4 -n kube-system

部署成功:

lwf@lwf-PC:~/doris-oprate$ kubectl get pods -n doris
NAME                              READY   STATUS    RESTARTS       AGE
doris-operator-55f6cf8566-fw7ml   1/1     Running   0              7h47m
doriscluster-1-1-be-0             1/1     Running   53 (92m ago)   6h23m
doriscluster-1-1-fe-0             1/1     Running   0              6h25m


http://www.ppmy.cn/embedded/156676.html

相关文章

LabVIEW太赫兹二维扫描成像系统

使用LabVIEW设计太赫兹二维扫描成像系统。通过LabVIEW平台开发&#xff0c;结合硬件如太赫兹源、平移台、锁相放大器等&#xff0c;实现了高效、精准的成像功能。系统采用蛇形扫描方式&#xff0c;通过动态调整扫描参数&#xff0c;达到优化成像质量的目的。 ​ 项目背景 在非…

冲刺蓝桥杯之速通vector!!!!!

文章目录 知识点创建增删查改 习题1习题2习题3习题4&#xff1a;习题5&#xff1a; 知识点 C的STL提供已经封装好的容器vector&#xff0c;也可叫做可变长的数组&#xff0c;vector底层就是自动扩容的顺序表&#xff0c;其中的增删查改已经封装好 创建 const int N30; vecto…

Spring Boot Starter探秘:全面了解 spring-boot-starter-web

前文《一分钟上手&#xff1a;如何创建你的第一个 SpringBoot Starter》中&#xff0c;我们介绍了如何创建你的第一个 Spring Boot Starter以及SpringBoot框架中常用的Starter&#xff0c;本文就来介绍下Spring Boot框架中最重要的starter之一&#xff0c;spring-boot-starter-…

IP-MS、CoIP-MS及AP-MS助力研究蛋白互作组学

蛋白质相互作用在机体的多种病理生理过程中扮演着至关重要的角色。绝大多数蛋白质分子需要通过与其他蛋白质的相互作用才能实现其生物学功能。因此&#xff0c;深入研究蛋白质相互作用组学对于阐明机体病理和生理过程的发生发展机制具有重要的科学意义。 目前&#xff0c;蛋白…

5G/4G+北斗三号水利遥测终端机RTU-打造水利工程的智能核心

在水资源供需矛盾加剧 气候变化导致的高温干旱 暴雨洪涝等极端天气背景下 智慧水利能够有效 提高水资源利用效率 增强水灾害防御能力 计讯物联自主创新 软硬件一体化解决方案 开发了满足国家行业标准的 水利遥测应用终端设备及平台 具备专业水利资质认证 能够无缝对接省、市、县…

yolov11配置环境,实现OBB带方向目标检测

1. 安装GPU驱动&#xff0c;cuda 验证安装,nvidia-smi命令查看状态 nvcc -V查看cuda版本, 按安装后提示配置路径。 注意&#xff1a; cuda选择版本&#xff0c; 对pytorch支持有关系&#xff0c;目前pytorch最高支持到11.8 &#xff0c;实测A5000装530驱动&#xff0c;安装…

TaskBuilder数据添加页面前后端交互原理解析

在TaskBuilder内打开学员管理项目前端文件里的add.tfp页面&#xff0c;下面以这个文件为例介绍一下数据添加页面如何实现前后端的数据交互。 如果要将页面里输入项的数据提交到后台&#xff0c;需要将这些输入项都放到表单组件中&#xff0c;然后通过表单组件实现数据的统一提交…

Redis超详细入门教程(基础篇)

目录 一、什么是Redis 二、安装Redis 1、Windows系统安装 2、Linux系统安装 三、Redis通用命令 四、Redis基本命令 五、五种数据结构类型 5.1、String类型 5.2、List集合类型 5.3、Set集合类型 5.4、Hash集合类型 5.5、Zset有序集合类型 六、总结 一、什么是Redi…