KubeSphere4.0企业版

一、介绍

  1. 简要介绍

在 KubeSphere 企业版 v4.0 中,推出了全新的 KubeSphere 架构:KubeSphere LuBan,它构建在 ​​Kubernetes​​ 之上,支持高度可配置和可扩展。KubeSphere LuBan,是一个分布式的云原生可扩展开放架构,为扩展组件提供一个可热插拔的微内核。自此,KubeSphere 所有功能组件及第三方组件都会基于 KubeSphere LuBan,以扩展组件的方式无缝融入到 KubeSphere 控制台中,并独立维护版本,真正实现即插即用的应用级云原生操作系统。

   2. 应用场景

(1)资源量化运营

多部门资源管理往往会给运维带来巨大的资源管理压力,运维部门统计各业务线的资源利用率,评估各业务资源利用率的合理性,都需要巨大的工作时间成本。KubeSphere 企业版提供多维度、多角度的资源量化统计方式,资源数据一目了然。

(2)多级权限管控

公司各业务线如何高效协同一直是个亘古难题,基础设施运维、应用运维以及业务开发人员如何能通过平台紧密合作,实现权限隔离成为了组织架构的核心需求。KubeSphere 企业版提供 “三权分立” 的用户权限体系,平台管理员、集群运维和应用运维三大权限视角合理分配,促进部门协作。

(3)智能弹性运维

基础资源过度浪费会给企业带来额外的运营成本,如何有效分析资源使用的合理性、在不同的场景下进行高效资源弹性管理也成为运维人员的难题。KubeSphere 企业版提供业务资源的智能推荐方案,定时分析,一键应用,同时支持自定义指标弹性伸缩,赋能智能运维。

(4)云原生一栈式转型

不少企业转型云原生都会遇到技术选型难题,如何实现 DevOps 运维一体化,云原生微服务治理,云边协同,AI 人工智能以及云原生下的可观测性。各种技术方案的选型以及运维给各企业带来了极大的困扰。KubeSphere 企业版集成业界最佳实践,提供高度图形化,一致性的使用体验,助力企业低成本走向云原生。

二、架构

为了提高 KubeSphere 的灵活性和可扩展性,KubeSphere 4.0 采用了​​微内核+扩展组件​​的架构。在这个架构中,​​微内核​​部分仅包含系统运行所需的基础功能,而各个独立的业务模块则被封装在各个扩展组件中。这允许在系统运行时动态地安装、卸载、启用或禁用扩展组件。

总体架构如下图所示:

内核

如上图所示,内核的主要功能包括:

扩展组件的管理

扩展组件的管理涉及两个重要方面,即在运行时完成扩展组件的 JavaScript bundle 加载以及扩展组件的注册。在 4.0 版本的架构中,采用了 SystemJS 来实现对扩展组件 JavaScript bundle 的加载。同时,制定了扩展组件的入口规范,以确保它们能够连接到核心系统并运行。

通讯机制

在内核中内置 EventBus(发布/订阅),以方便内核与扩展组件之间以及扩展组件之间的通信。

路由管理

基于 react-router,扩展组件定义的路由在扩展组件注册时会被统一管理到内核中。

国际化

采用 i18next 实现国际化。开发者可以在扩展组件中按照 i18next 的格式定义翻译文件,然后按照约定注册到内核中。

扩展中心

类似于 Chrome 浏览器的扩展程序,KubeSphere 也提供了一个可视化的扩展组件管理模块,允许用户在页面上轻松执行扩展组件的安装、卸载、启用、禁用等操作。

基础页面

包括系统运行所需的一些基本 UI 元素,例如登录页面和页面布局。

BFF

基于 Koa 实现的 BFF 层。主要负责首页渲染、请求转发、数据转换以及一些轻量级的后端任务。

扩展组件

如上图所示,扩展组件分为 ​​In-Tree 扩展组件​​ 和 ​​Out-of-Tree 扩展组件​​。区别在于:

  • ​In-Tree 扩展组件​​ 基本上是系统必备或者常用的功能组件,它们在编译时与 core 一起打包。In-Tree 扩展组件 目前包括:
  • Cluster 集群管理
  • Access 访问控制
  • Workspaces 工作空间
  • Projects 项目管理
  • Apps 应用商店
  • Settings 平台设置
  • ​Out-of-Tree 扩展组件​​ 是由开发者在自己的代码仓库中开发的扩展组件,需要独立进行编译和打包。这些组件将被发布到 扩展市场。用户安装后,内核会远程加载扩展组件的 js bundle 并将其注册到内核中。

三、使用指南

1 软硬件环境

您需要准备一台 Linux 主机,并确保主机软硬件满足以下条件:

类别

配置要求

硬件

最低配置:2 核 CPU,2 GB 内存,40 GB 磁盘空间。

操作系统

Ubuntu 16.04, 18.04, 20.04, 22.04

Debian Bullseye, Buster, Stretch

CentOS/RHEL 7

AlmaLinux 9.0

SUSE Linux Enterprise Server 15

Linux 内核

4.15 及更高版本。可以通过命令 uname -srm 查看 Linux 内核版本。

网络

请确保 /etc/resolv.conf 中的 DNS 地址可用。

建议禁用防火墙以避免组件通信受阻。

其他

节点上可以使用 sudo、curl 和 openssl 命令。

安装 KubeSphere 企业版之前,你需要一个可用的 Kubernetes 集群。执行以下命令快速创建 Kubernetes 集群。

KubeSphere 企业版支持的 Kubernetes 版本有:v1.21.x、v1.22.x、v1.23.x、v1.24.x、v1.25.x、v1.26.x 和 v1.27.x。最低支持版本为 v1.21。

2 安装部署

您需要提前安装 Helm。具体请参阅​​安装 Helm​​。

  1. 如果已有可用的 Kubernetes 集群,执行以下命令通过 helm 安装 KubeSphere Core。
helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-0.4.0.tgz

如果显⽰如下信息,则表明安装成功:

3 KubeSphere4.0企业版主要特性

轻量化
  • 裁剪不必要的组件。
  • 通过 helm 快速部署与卸载。

(1)裁剪不必要的组件

官方没有说明裁剪了什么组件,由于KubeSphere过于庞大,无法和原有系统比较

(2)helm部署和卸载

如果已有可用的 Kubernetes 集群,执行以下命令通过 ​​helm​​ 安装 KubeSphere Core。

helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-0.4.0.tgz

执行以下命令卸载 KubeSphere 企业版。

helm -n kubesphere-system uninstall ks-core
扩展组件(和KubeSphere社区版的可插拔组件一样)
  • 采用全新的微内核架构 LuBan,支持功能扩展。
  • 提供在线的扩展组件商店,以及部分免费订阅的扩展组件。

(1)微内核架构 LuBan

KubeSphere LuBan,它构建在 Kubernetes 之上,支持高度可配置和可扩展。KubeSphere LuBan,是一个分布式的云原生可扩展开放架构,为扩展组件提供一个可热插拔的微内核。

(2)在线的扩展组件商店

扩展组件目前一共有6个组件

(1)人工智能/机器学习:LakeInsight

LakeInsight 是企业级一站式实时数据分析和 AI 开发平台,基于数元灵自研开源湖仓一体框架 LakeSoul 和云原生容器化架构,提供多源数据实时集成,实时数仓建模,BI 指标报表平台和 AI 开发平台,实现 Data + AI 一体化。

可0元免费订阅试用版组件,时长为1个月。

(2)数据库:KubeBlocks、RadonDB DMP、Databend Playground

KubeBlocks 是一个基于 Kubernetes 的云原生数据基础设施管理平台,旨在为用户提供一种便捷的方式来管理和运维关系型数据库、NoSQL数据库、向量数据库以及流计算系统。

可0元免费订阅试用版组件,时长为1年。

RadonDB DMP 是一款面向 Kubernetes 多云场景的企业级云原生数据库管理平台,完全可视化统一管理,最快秒级部署数据库,同时聚合全场景运维能力,助力“云原生 + AI”数据引擎增智提效。

可0元免费订阅试用版组件,时长为3个月。

Databend Playground 为 Databend 提供一站式的部署、运维和查询可视化方案。

可0元免费订阅试用版组件,时长为1年。

(3)开发者工具:OKG Dashboard

OpenKruiseGame(OKG)是一个面向多云的开源游戏服Kubernetes工作负载,是CNCF工作负载开源项目OpenKruise在游戏领域的子项目,让游戏服的云原生化变得更加简单、快速、稳定。通过OpenKruiseGame Dashboard可对OKG下的游戏服进行可视化运维管理。

可0元免费订阅试用版组件,时长为1年。

(4)CI/CD: DevOps

KubeSphere DevOps 提供端到端的工作流,集成主流 CI/CD 工具,帮助不同的组织加快产品上市时间。

可0元免费订阅试用版组件,时长为1年。

说明:

安装上述扩展组件,需要首先注册一个 ​​KubeSphere 云账号​​,接着在订阅扩展组件时,要求绑定云账号,

在订单确认与支付页面,选择订阅方案订阅时长后,提交订单进行支付。支付完成后,在扩展市场的组件详情页面,点击安装,进入组件安装流程。

新的 UI
  • 全新的工作台。
  • 提供全局的扩展组件注入点。

(1)全新的工作台

(2)全局的扩展组件注入点

在页面点击扩展组件按钮,即可进入扩展组件页面

扩展组件页面

多集群
  • 简化 member 集群中部署的 agent。
  • 支持通过 kubeconfig 一键导入 member 集群。

(1)可以直接在页面上添加多集群(该功能在KubeSphere3.3.0社区版中启用多集群功能后,即可使用)

填写集群基本信息

连接设置

连接模式目前只有直接连接

KubeSphere 多集群控制平面通过提供的 kubeconfig 来直接连接导入集群,此种方式要求当前集群能够通过 kubeconfig 中的 server 地址直接访问待导入集群。

通常适用于:

  1. 当前集群和待导入集群在同一内网网络中
  2. 当前集群和待导入集群已通过 VPN 或隧道等其它技术连通所在网络
  3. kubeconfig 的 server 地址可以通过公网访问
项目管理
  • 支持 Deployment、DaemonSet、StatefulSet 、Job、CronJob 等工作负载的管理。
  • 支持 Secret、ConfigMap、ServiceAccount 等资源的管理。
  • 支持 Service、Ingress 等资源的管理。
  • 支持 PVC 等资源的管理。
  • 支持 Quota、LimitRange 等项目配置。
企业空间管理
  • 支持跨集群项目管理。

(1)创建企业空间

选择企业空间使用的集群

集群管理
  • 支持节点管理:节点驱逐、污点管理等。
  • 支持集群项目管理。
  • 支持 Deployment、DaemonSet、StatefulSet 、Job、CronJob、Secret、ConfigMap、ServiceAccount 等集群资源的管理。
  • 支持 StorageClass、PresistentVolumeClaim 的管理。

(1)污点管理(该功能3.3.0也有)

(2)节点驱逐(该功能3.3.0也有)

编辑污点对话框,设置污点的键、值和效果,然后点击确定

您可以为一个污点选择以下效果之一:

污点效果

描述

阻止调度

缺少与污点匹配的容忍度的容器组将被阻止调度到节点,节点上原本运行的容器组不受影响。

尽可能阻止调度

缺少与污点匹配的容忍度的容器组将被尽可能阻止调度到节点,节点上原本运行的容器组不受影响。

阻止调度并驱逐现有容器组

缺少与污点匹配的容忍度的容器组将被阻止调度到节点,节点上原本运行的容器组如果缺少与污点匹配的容忍度会被立即驱逐。

DevOps
  • 独立的 DevOps 项目,提供访问可控的 CI/CD 流水线。
  • 开箱即用的 DevOps 功能,无需复杂的 Jenkins 配置。
  • 基于 Jenkinsfile 的流水线,提供一致的用户体验,支持多个代码仓库。
  • 图形编辑面板,用于创建流水线,学习成本低。
  • 强大的工具集成机制,例如 SonarQube,用于代码质量检查。

对比企业版(4.0)和社区版(KubeSphere3.3.0版本),在Devops上使用都是一样的

(1)图形编辑面板

(2)SonarQube,用于代码质量检查(这个工具在kubeSphere3.0版本也有)

4 限制和局限

暂不支持从 3.x 版本升级到 4.x,将在后续版本中支持 3.x 版本的升级。

以下功能暂不可用,将通过扩展组件的方式提供:

  • 监控
  • 告警
  • 通知
  • Istio
  • Spring Cloud
  • 项目网关、集群网关
  • 存储卷快照
  • 网络隔离
  • Whizard 可观测中心
  • RadonDB DMP

以下功能暂不可用,将在后续的版本中支持:

  • 用户组管理
  • 应用管理 (OpenPitrix) 组件
  • 在 DevOps 项目中通过 S2I / B2I 功能构建镜像

四、KubeSphere 企业版 VS 开源版功能对比

功能

KubeSphere 企业版

KubeSphere 开源容器平台

商业支持

稳定商业支持

架构支持

支持 ARM 与国产 CPU

可插拔开放架构

支持组件商店,丰富的社区和商业组件生态

图形化方式统一管理多个集群中的组件

商业组件动态更新,及时获取最新功能和安全更新

支持自定义 KubeSphere 样式,自行开发 KubeSphere 组件

可观测性

支持可观测中心,便捷管理多集群告警、监控指标

内置支持多租户与多维度的监控指标

内置多租户与多维度日志检索系统

内置可视化界面支持集群、平台与应用多维

度的审计日志检索

界面提供多租户与多维度的事件查询中心

内置多维度告警规则,灵活支持自定义配置

多维度告警策略

支持公有云短信、钉钉、企业微信、Slack、Email、Webhook等多种通知渠道

用户视角的通知配置

通知历史列表

支持GPU资源调度

支持GPU CPU指标融合监控

支持Grafana模板导入

支持Json文件转换

Devops

支持 Source-to-Image 和 Binary-to-Image

支持 Jenkins 流水线,内置可视化编辑面板

支持快速对接与集成 SonarQube 进行静态代码扫描,并在 UI 展示扫描结果

应用

内置 RadonDB 容器化数据库应用

支持 Helm Chart形式的应用商店,支持配置应用仓库

支持包含应用上架,下架,审核等完整的应用生命周期管理

提供 NGINX、Tomcat、Redis 等17 款应用

企业运营

提供集群与企业空间的多维度资源计量情况的监控报表

提供集群与企业空间的多维度资源消费情况的监控报表

微服务治理

支持蓝绿部署、灰度发布、流量镜像,无需学习 Istio

内置微服务流量拓扑图,支持调整细粒度流量治理策略

内置微服务链路追踪,无需手动配置

内置 Spring Cloud

多租户与权限管理

从业务视角提供“企业空间”租户隔离, 租户配额管理

支持用户组管理

抽象 K8s RBAC,内置平台、集群、应用维度的账户角色,支持自定义角色权限

平台所有功能均支持多租户(集群、企业空间、项目)隔离

网络与存储

支持集群级别的网关与相关业务统计

提供可视化 K8s 原生网络策略管理

支持不同租户(企业空间)与项目(namespace)间网络隔离

内置 Pod IP 池可视化管理

基于 Weave 提供可视化网络流量拓扑

UI界面中支持存储卷克隆及快照管理、存储卷用量数据监控等操作

安全

提供开箱即用的安全加固

提供安全相关的增强功能

提供详细的安全测试、审计、配置资料

保障产品在生命周期内得到持续安全更新

五、实验

(1)LakeInsight

  1. 介绍

LakeSoul 是一款开源云原生湖仓一体框架,具备高可扩展的元数据管理(对数据进行管理、存储),并结合Al实现数据的处理与分析。

官网地址:https://lakesoul-io.github.io/zh-Hans/docs/intro

  1. 安装部署

进入扩展市场,首选订阅LakeInsight组件(需要注册一个 ​​KubeSphere 云账号​​,接着在订阅扩展组件时,要求绑定云账号)。订阅成功后,点击安装即可。

无法安装,尝试安装了8次,均失败

安装报错

2024-01-04T14:33:10.870183472+08:00 Error: failed post-install: 1 error occurred:
2024-01-04T14:33:10.870234855+08:00         * timed out waiting for the condition
2024-01-04T14:33:10.870247144+08:00 
2024-01-04T14:33:10.870255765+08:00 
2024-01-04T14:33:10.870349498+08:00 helm.go:84: [debug] failed post-install: 1 error occurred:
2024-01-04T14:33:10.870364357+08:00         * timed out waiting for the condition

从报错信息看,是缺少某些条件,但报错信息中没有给出具体缺少什么

(2)KubeBlocks

  1. 介绍

KubeBlocks 是基于 Kubernetes 的云原生数据基础设施,帮助用户轻松构建容器化、声明式的关系型、NoSQL、流计算和向量型数据库服务。

官网地址: https://cn.kubeblocks.io/docs/preview/user-docs/overview/introduction

支持的数据库类型:

数据库引擎

简介

apecloud-mysql

ApeCloud MySQL 是一个与 MySQL 语法兼容的数据库,主要利用 RAFT 共识协议实现高可用性。

clickhouse

elasticsearch

Elasticsearch 是一个分布式、RESTful 风格的搜索引擎,专为生产规模的工作负载进行了速度和相关性能的优化。

etcd

etcd 是一个高度一致的分布式键值存储,它提供了一种可靠的方式来存储需要由分布式系统或机器集群访问的数据。

foxlake

ApeCloud FoxLake 是一个开源的云原生数据仓库。

ggml

GGML 是一个为机器学习设计的张量库,它的目标是使大型模型能够在高性能的消费级硬件上运行。

greptimedb

GreptimeDB 是一个云原生时间序列数据库,具有分布式、可扩展和高效的特性。

kafka

Apache Kafka 是一个开源的分布式事件流平台,广泛应用于高性能数据流水线、流式分析、数据集成和关键应用程序等场景,目前已经被数千家公司采用。

mariadb

MariaDB 是一个高性能的开源关系型数据库管理系统,广泛用于 Web 和应用服务器。

milvus

Milvus 是一个灵活、可靠且高性能的云原生开源向量数据库。

mongodb

MongoDB 是一个面向文档的 NoSQL 数据库,用于存储大量数据。

mysql(主备)

nebula

NebulaGraph 是一个开源的分布式图数据库,擅长处理具有千亿个顶点和万亿条边的超大规模数据集。

neon

Neon 是一家多云无服务器 Postgres 提供商。

oceanbase

OceanBase 是一个无限可扩展的分布式数据库,适用于数据密集型事务和实时运营分析工作负载,具有超快的性能,在 TPC-C 基准测试中曾一度创造了世界纪录。OceanBase 已经为全球超过 400 家客户提供了服务,并且一直在支持支付宝的所有关键业务系统。

official-postgresql

Kubernetes 的官方 PostgreSQL 集群定义 Helm Chart。

openldap

OpenLDAP 项目旨在协作开发一个强大、商业级、功能齐全、开源的 LDAP 应用套件和开发工具。其 Chart 为 KubeBlocks 提供了支持。

opensearch

opensearch 是一个开源、分布式、 RESTful 风格的搜索引擎。

oracle-mysql

MySQL 是一个广泛使用的开源关系型数据库管理系统(RDBMS)。

oriolebd

OrioleDB 是 PostgreSQL 的全新存储引擎,为该数据库平台带来了现代化的数据库容量、功能和性能。

pika

Pika 是一个可持久化的大容量 Redis 存储服务,兼容 string、hash、list、zset、set 的绝大部分接口。

polardb-x

PolarDB-X 是一个为高并发、大规模存储和复杂查询场景设计的云原生分布式 SQL 数据库。

postgresql

PostgreSQL 是一个先进的企业级开源关系型数据库,支持 SQL(关系型)和 JSON(非关系型)查询。

pulsar

Apache® Pulsar™ 是一个开源的、分布式消息流平台。

qdrant

Qdrant 是一个向量相似性搜索引擎和向量数据库。

redis

Redis 是一个开源的、高性能的、键值对内存数据库。

risingwave

RisingWave 是一个分布式 SQL 流处理数据库,旨在帮助用户降低实时应用的开发复杂性和成本。

starrocks

StarRocks 是一款高性能分析型数据仓库,支持多维、实时、高并发的数据分析。

tdengine

TDengine™ 是一个专为工业物联网而搭建的工业大数据平台,结合了时序数据库和流处理、数据订阅和缓存等重要功能。

vllm

vLLM 是一个快速且易于使用的 LLM 推理和服务库。

weaviate

Weaviate 是一个开源的向量数据库。

zookeeper

Apache ZooKeeper 是一个集中式服务,用于维护配置信息、命名、提供分布式同步和提供组服务。

  1. 安装部署

进入扩展市场,首选订阅KubeBlocks组件(需要注册一个 ​​KubeSphere 云账号​​,接着在订阅扩展组件时,要求绑定云账号)。订阅成功后,点击安装即可。

  1. 使用

KubeBlocks 采用了 ApeCloud 公司提供的 MySQL 高可用版本,做了数据压缩和高可用性方面的改进。

  • 当节点数大于等于 3 个时,通过一致性算法协议构成强一致高可用性集群,确保在单可用区故障的情况下 RPO=0。其中,主节点提供读写能力,其余节点提供只读服务。
  • 当节点数等于 2 时,构成主备复制集群,其中主节点提供读写能力,备节点通过异步复制与主节点保持同步,提供只读服务和故障容灾能力。
  • 当节点数等于 1 时,构成单节点集群,提供读写服务。KubeBlocks 仍然提供自动恢复能力,在云盘不损坏的情况下保证 RPO=0。

准备工作

  • 确保 ApeCloud MySQL 引擎已启用
kubectl get addons.extensions.kubeblocks.io apecloud-mysql
  • 查看可用于创建集群的数据库类型和版本

查看 ​​apecloud-mysql​​ 集群定义是否可用。

kubectl get clusterdefinition apecloud-mysql

查看可用于创建集群的所有版本。

kubectl get clusterversions -l clusterdefinition.kubeblocks.io/name=apecloud-mysql
  • 为保持隔离,本教程中创建一个名为 demo 的独立命名空间。
kubectl create namespace demo

创建集群

KubeBlocks 支持创建两种类型的 MySQL 集群:单机版(Standalone)和集群版(RaftGroup)。单机版仅支持一个副本,适用于对可用性要求较低的场景。 集群版包含三个副本,适用于对高可用性要求较高的场景。为了确保高可用性,所有的副本都默认分布在不同的节点上。

KubeBlocks 实现了用 Cluster CRD 来定义集群。比如,可以通过下面的命令创建一个 MySQL 集群版:

cat <<EOF | kubectl apply -f -
apiVersion: apps.kubeblocks.io/v1alpha1
kind: Cluster
metadata:
  name: mysql-cluster
  namespace: demo
spec:
  clusterDefinitionRef: apecloud-mysql
  clusterVersionRef: ac-mysql-8.0.30
  componentSpecs:
  - componentDefRef: mysql
    name: mysql
    replicas: 3
    resources:
      limits:
        cpu: "1"
        memory: 1Gi
      requests:
        cpu: "1"
        memory: 1Gi
    volumeClaimTemplates:
    - name: data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 20Gi
  terminationPolicy: Delete
EOF
  • ​spec.clusterDefinitionRef​​ 是集群定义 CRD 的名称,用来定义集群组件。
  • ​spec.clusterVersionRef​​ 是集群版本 CRD 的名称,用来定义集群版本。
  • ​spec.componentSpecs​​ 是组件列表,用来定义集群组件。
  • ​spec.componentSpecs.componentDefRef​​ 是组件定义的名称,在 ClusterDefinition 中定义。你可以使用 kubectl get clusterdefinition vape cloud-MySQL -o json | jq '.spec.componentDefs[].name' 获取组件定义的名称。
  • ​spec.componentSpecs.name​​ 是组件的名称。
  • ​spec.componentSpecs.replicas​​ 是组件的副本数。
  • ​spec.componentSpecs.resources​​ 是组件的资源要求。
  • ​spec.componentSpecs.volumeClaimTemplates​​ 是卷声明模板的列表,用于定义组件的卷声明模板。
  • ​spec.terminationPolicy​​ 是集群的终止策略,默认值为 Delete,有效值为 DoNotTerminateHaltDeleteWipeOutDoNotTerminate 会阻止删除操作。Halt 会删除工作负载资源,如 statefulset 和 deployment 等,但是保留了 PVC 。DeleteHalt 的基础上进一步删除了 PVC。WipeOutDelete 的基础上从备份存储的位置完全删除所有卷快照和快照数据。

KubeBlocks operator 监听 ​​Cluster​​ CRD,创建集群及其依赖资源。你可以使用以下命令获取该集群创建的所有资源。

kubectl get all,secret,rolebinding,serviceaccount -l app.kubernetes.io/instance=mysql-cluster -n demo

查看所创建的 MySQL 集群对象:

kubectl get cluster mysql-cluster -n demo -o yaml

连接集群

使用 ​​kubectl exec​​ 命令进入 Pod 并连接到数据库。

KubeBlocks operator 会创建一个名为 ​​mysql-cluster-conn-credential​​ 的新的 Secret 来存储 MySQL 集群的连接凭证。该 Secret 包含以下 key:

  • ​username​​:MySQL 集群的根用户名。
  • ​password​​:根用户的密码。
  • ​port​​:MySQL 集群的端口。
  • ​host​​:MySQL 集群的主机。
  • ​endpoint​​:MySQL 集群的终端节点,与 host:port 相同。
  1. 获取用于 kubectl exec 命令的 usernamepassword.

获取用户名

kubectl get secrets -n demo mysql-cluster-conn-credential -o jsnotallow='{.data.\username}' | base64 -d

获取密码

kubectl get secrets -n demo mysql-cluster-conn-credential -o jsnotallow='{.data.\password}' | base64 -d

查看创建的pod

kubectl get pod -n demo
  1. 使用用户名和密码,进入 Pod mysql-cluster-mysql-0 并连接到数据库。
kubectl exec -ti -n demo mysql-cluster-mysql-0 -- bash

mysql -uroot -pj6vgqxtl

退出使用 ​​exit​​命令

六、参考资料

​mp.weixin.qq.com​

​KubeSphere 企业版_全新云原生操作系统_源于 KubeSphere 的商用级容器管理平台​

​解锁云原生无限可能!KubeSphere 企业版 4.0 发布 | 青云QingCloud​

​产品简介 - KubeSphere 企业版​

​KubeSphere Enterprise v4.0.0 Release Notes​

​KubeSphere 资源中心​

​KubeSphere 企业信创容器云​​ ​​前端扩展机制 :: KubeSphere 扩展组件开发指南​

​创建并连接到 MySQL 集群 | KubeBlocks​

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值