前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubeblocks系列1-安装

Kubeblocks系列1-安装

原创
作者头像
对你无可奈何
发布2024-05-22 16:55:10
2910
发布2024-05-22 16:55:10
举报
文章被收录于专栏:运维专栏

Kubeblocks 安装与配置指南

本文将为你详述如何在 Kubernetes 集群上安装和配置 Kubeblocks,一种先进的 Kubernetes 集成工具,旨在简化和自动化容器化应用的部署和管理。

1. 数据服务能否运行在容器中?

在传统的IT架构中,数据服务如数据库通常部署在物理服务器或虚拟机上,但随着容器技术的成熟,将数据服务部署在容器中已成为一种趋势。容器化的数据服务具有多个优势:

  1. 灵活性和可扩展性:容器可以快速启动和复制,使得数据服务可以根据需求动态扩展。
  2. 环境一致性:通过容器,数据服务的运行环境保持一致,极大减少了环境差异带来的问题。
  3. 资源隔离:容器技术提供了资源隔离,有助于数据服务的稳定运行。

因此,数据服务完全可以运行在容器中,并通过适当的配置和管理,确保数据的持久性和高可用性。老生常谈,拿十多年前的数据库不能部署在容器中的论调,我个人觉得是不正确的。

2. Kubeblocks的优势与使用理由

Kubeblocks是一种先进的Kubernetes集成工具,旨在简化和自动化容器化应用的部署和管理。使用Kubeblocks的主要优势包括:

  1. 简化的部署流程:Kubeblocks提供了一套简化的工具和接口,使得部署应用到Kubernetes变得更加快捷和容易。
  2. 高度可定制:根据不同的业务需求,将复杂的数据服务部署流程集成为简单的YAML文件,一键启动 。可以灵活定制应用部署的方式和策略。
  3. 强大的功能集:支持自动化的服务发现、管理和扩展,有效提升系统的可靠性和效率。内置丰富的运维能力,如监控、备份、扩容等。
  4. 支持多种数据组件,覆盖SQL、NoSQL、消息队列、大数据等.

使用Kubeblocks的主要理由是其能够提供更加灵活和高效的方式来管理在Kubernetes上运行的服务和应用,适应快速变化的IT需求和业务发展。

3. Kubeblocks在Kubernetes中的安装过程

1. Helm的安装尝试

参照:https://cn.kubeblocks.io/docs/preview/user-docs/installation/install-with-helm/install-kubeblocks-with-helm

前置要求:

请确保已安装 kubectlHelm,硬件资源满足如下要求:

创建 CRD 依赖
代码语言:bash
复制
kubectl create -f https://github.com/apecloud/kubeblocks/releases/download/v0.8.1/kubeblocks_crds.yaml
添加 Helm 仓库
代码语言:bash
复制
helm repo add kubeblocks https://apecloud.github.io/helm-charts

helm repo update
安装 KubeBlocks
代码语言:bash
复制
helm install kubeblocks kubeblocks/kubeblocks --namespace kb-system --create-namespace

如果想要使用自定义的 tolerations 安装 KubeBlocks,可以使用以下命令:

代码语言:bash
复制
helm install kubeblocks kubeblocks/kubeblocks --namespace kb-system --create-namespace \
 --set-json 'tolerations=[ { "key": "control-plane-taint", "operator": "Equal", "effect": "NoSchedule", "value": "true" } ]' \
 --set-json 'dataPlane.tolerations=[{ "key": "data-plane-taint", "operator": "Equal", "effect": "NoSchedule", "value": "true"    }]'

如果想安装 KubeBlocks 的指定版本,请按照以下步骤操作:

  1. KubeBlocks Release 页面查看可用的版本。helm install kubeblocks kubeblocks/kubeblocks \ --namespace kb-system --create-namespace --version="x.x.x"备注:默认安装最新版本。
  2. 使用 --version 指定版本,并执行以下命令。

注意: 正常流程是这样的,但是在尝试使用Helm进行Kubeblocks安装时,可能会遇到网络连接问题,我是在create crd资源后无法正常添加Helm仓库。因此,我们转向使用kbcli作为安装方法。

2. 使用kbcli进行安装

kbcli 是一个命令行工具,专门为Kubeblocks设计,帮助用户在Kubernetes集群上快速部署和管理Kubeblocks组件。以下是使用kbcli安装Kubeblocks的步骤:

使用curl安装 kbcli

首先,需要在本地环境或管理机上安装kbcli。可以通过访问Kubeblocks的官方GitHub页面或使用包管理器来下载安装包or使用curl在线脚本安装:

代码语言:bash
复制
curl -fsSL https://kubeblocks.io/installer/install_cli.sh | bash
配置kbcli:

在开始安装之前,确保kbcli可以访问你的Kubernetes集群。通常,kbcli会使用默认的Kubernetes配置文件(位于~/.kube/config)。

代码语言:bash
复制
kbcli config set-context --current --namespace=kubeblocks

注意:我这里忽略了,我是在k8s master节点操作!

启用 kbcli 的自动补全功能:
代码语言:bash
复制
 kbcli completion zsh -h
 echo "autoload -U compinit; compinit" >> ~/.zshrc
 echo "source <(kbcli completion zsh); compdef _kbcli kbcli" >> ~/.zshrcBASH
使用kbcli部署Kubeblocks:

一旦配置完成,可以使用kbcli来部署Kubeblocks到你的集群中:

代码语言:bash
复制
kbcli kubeblocks install

这个命令将自动部署所需的Kubeblocks组件和相关依赖到Kubernetes集群中。

但是我这里安装会出现报错。原因是我通过以下命令安装了crd资源:

代码语言:bash
复制
kubectl apply -f https://github.com/apecloud/kubeblocks/releases/download/v0.8.1/kubeblocks_crds.yaml

需要先删除对应crd资源:

代码语言:bash
复制
kubectl delete -f https://github.com/apecloud/kubeblocks/releases/download/v0.8.1/kubeblocks_crds.yaml

重新执行安装命令:

代码语言:bash
复制
kbcli kubeblocks install
验证安装
代码语言:bash
复制
kbcli kubeblocks status

通过以上步骤,你可以成功地在Kubernetes集群上安装和配置Kubeblocks,利用其强大的功能来管理和优化容器化应用的部署和运行。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Kubeblocks 安装与配置指南
    • 1. 数据服务能否运行在容器中?
      • 2. Kubeblocks的优势与使用理由
        • 3. Kubeblocks在Kubernetes中的安装过程
          • 1. Helm的安装尝试
          • 2. 使用kbcli进行安装
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档