KubeSphere部署mysql、redis、nacos

一、Linux单节点部署KubeSphere

1、节点要求

节点必须能够通过 SSH 连接。
节点上可以使用 sudo/curl/openssl/tar 命令。
建议您的操作系统处于干净状态(不安装任何其他软件),否则可能会发生冲突。
如果您无法从 dockerhub.io 下载容器镜像,建议提前准备仓库的镜像地址(即加速器)。

2、准备KubeKey

KubeKey 可以将 Kubernetes 和 KubeSphere 一同安装。

详细文档查看官网:
https://kubesphere.io/zh/docs/v3.3/quick-start/all-in-one-on-linux/

mkdir /opt/module/kubesphere
cd /opt/module/kubesphere

# ubuntu使用bash替换sh
curl -sfL https://get-kk.kubesphere.io | VERSION=v1.1.1 sh -
curl -sfL https://get-kk.kubesphere.io | VERSION=v1.1.1 bash -

chmod +x kk

# 若要同时安装 Kubernetes 和 KubeSphere,可参考以下示例命令:
./kk create cluster [--with-kubernetes version] [--with-kubesphere version]

# 安装conntrack
yum install -y conntrack  # centos系统
apt install -y conntrack  # ubuntu系统

./kk create cluster --with-kubernetes v1.20.4 --with-kubesphere v3.1.1

# 执行该命令后,KubeKey 将检查您的安装环境,结果显示在一张表格中。输入 yes 继续安装流程。

等待安装完后控制台出现:

#####################################################
###              Welcome to KubeSphere!           ###
#####################################################

Console: http://192.168.0.2:30880
Account: admin
Password: P@88w0rd

NOTES:
  1. After you log into the console, please check the
     monitoring status of service components in
     "Cluster Management". If any service is not
     ready, please wait patiently until all components 
     are up and running.
  2. Please change the default password after login.

#####################################################
https://kubesphere.io             2023-05-04 00:22:24
#####################################################
INFO[00:22:30 CST] Installation is complete.

Please check the result using the command:

       kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
 
root@ubuntu:/opt/module/kubesphere# 

使用 kubectl get pod --all-namespaces 来检查 KubeSphere 相关组件的运行状况。
在这里插入图片描述

验证安装结果:

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

检查无误,我们就可以去页面登陆kubesphere系统了。

3、启用可插拔组件(可选)

在这里插入图片描述

二、在kubesphere部署mysql和redis

在这里插入图片描述

1、部署mysql

常规的mysql容器启动命令:

docker run -p 3306:3306 --name mysql-01 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--restart=always \
-d mysql:5.7 

mysql配置示例

[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
init_connect='SET collation_connection = utf8mb4_unicode_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

mysql部署分析
在这里插入图片描述

在 kubesphere 配置中心创建配置

在这里插入图片描述
点下一步,再点添加数据,添加上面mysql配置示例内容,然后点创建

在这里插入图片描述

接着在kubesphere存储管理,创建存储卷
在这里插入图片描述
在这里插入图片描述
给个5G大小,然后下一步创建。

接着在kubesphere应用负载,工作负载下面创建有状态副本集
在这里插入图片描述

在这里插入图片描述
输入mysql镜像版本,在下面勾选环境变量,添加 MYSQL_ROOT_PASSWORD 变量,
勾选同步主机时区,再点下一步。

在这里插入图片描述
在这里插入图片描述
选择之前我们创建的数据卷

在这里插入图片描述

在这里插入图片描述
然后点下一步,再点创建
在这里插入图片描述
等待一会儿,mysql就运行起来了,同时kubesphere也给相应的创建了一个服务,但是这个服务是内网访问的,我们需要改为外网也能访问,我们把这个服务删除,再自己创建个对应的服务。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
然后我们用navicat进行连接测试,注意上面外网端口号不是3306。

2、部署redis

redis容器启动

#创建配置文件
## 1、准备redis配置文件内容
mkdir -p /mydata/redis/conf && vim /mydata/redis/conf/redis.conf


##配置示例
appendonly yes
port 6379
bind 0.0.0.0


#docker启动redis
docker run -d -p 6379:6379 --restart=always \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /mydata/redis-01/data:/data \
 --name redis-01 redis:6.2.5 \
 redis-server /etc/redis/redis.conf

redis部署分析
在这里插入图片描述

在 kubesphere 配置中心创建配置redis-conf

在这里插入图片描述
在这里插入图片描述
接着在kubesphere应用负载,工作负载下面创建有状态副本集
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
勾选启动命令,填入参数,再勾选同步主机时区

在这里插入图片描述
因为没有提前创建存储卷,这里点击添加存储卷模版创建存储卷(有状态工作节点不建议提前创建存储卷,因为在扩容时,每个节点应该有自己独一的存储卷,这里会基于模版自动帮我们创建存储卷)
在这里插入图片描述
在这里插入图片描述
点击挂载文件,挂载我们创建的redis-conf

在这里插入图片描述
然后点创建,这里就会去帮我们创建好redis应用。

在这里插入图片描述
同样我们删除自动创建的服务,自己去创建对外能访问的redis服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以在外网用 32040 进行测试连接redis

在这里插入图片描述

在这里插入图片描述
点这里可以自动扩容。
在这里插入图片描述
存储卷也会自动创建挂载。

3、部署ElasticSearch

es容器启动

# 创建数据目录
mkdir -p /mydata/es-01 && chmod 777 -R /mydata/es-01

# 容器启动
docker run --restart=always -d -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
#-v /mydata/es-01/es-config:/usr/share/elasticsearch/config \
#-v /mydata/es-01/data:/usr/share/elasticsearch/data \
--name es-01 \
elasticsearch:7.13.4

先启动下es,获取 elasticsearch.yml 和 jvm.options 文件,待会会用到,获取到配置文件后可以删除该容器,(我启动时挂载文件不在,会报错,所以那两个文件还是去容器里面拷贝出来)

es部署分析
在这里插入图片描述

注意: 子路径挂载,配置修改后,k8s不会对其Pod内的相关配置文件进行热更新,需要自己重启Pod

在这里插入图片描述
在这里插入图片描述
Value添加上面获取到的 elasticsearch.yml 里的内容
在这里插入图片描述
再添加一个 jvm.options,然后创建。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
jvm.options文件也要单独配置下

在这里插入图片描述
在这里插入图片描述
同样我们自己创建一个es-pvc

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、部署Nacos

创建nacos服务
在这里插入图片描述
在这里插入图片描述

创建配置
在这里插入图片描述
挂载application.porperties配置文件
在这里插入图片描述

挂载cluster.conf文件

在容器里ping 服务的DNS,发现pod的虚拟域名格式为:服务名.项目名.svc.cluster.local

如果是多个pod,则是:pod名称.服务名.项目名.svc.cluster.local

在这里插入图片描述
我们这nacos启动三个pod,所以nacos pod的固定虚拟域名为
nacos-0.nacos-svc.kube-public.svc.cluster.local
nacos-1.nacos-svc.kube-public.svc.cluster.local
nacos-2.nacos-svc.kube-public.svc.cluster.local

2023-05-04 13:17:33,452 INFO The server IP list of Nacos is [nacos-0.nacos-svc.kube-public.svc.cluster.local:8848, nacos-1.nacos-svc.kube-public.svc.cluster.local:8848, nacos-2.nacos-svc.kube-public.svc.cluster.local:8848]

在这里插入图片描述

创建有状态工作负载,容器版本选择:nacos/nacos-server:v2.0.3
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面截图不对,挂载配置要以子路径的方式挂载,不然会覆盖掉conf下面其他配置。

三、在安装KubeSphere后启用应用商店

在这里插入图片描述
点击定制资源定义,在搜索栏中输入 clusterconfiguration,点击结果查看其详细页面。

在这里插入图片描述

在该 YAML 文件中,搜索 openpitrix,将 enabled 的 false 改为 true。完成后,点击右下角的确定,保存配置。

openpitrix:
  store:
    enabled: true # 将“false”更改为“true”。

在 kubectl 中执行以下命令检查安装过程:

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

详细参考官方文档
https://kubesphere.io/zh/docs/v3.3/pluggable-components/app-store/

在您登录控制台后,如果您能看到页面左上角的应用商店以及其中的应用,则说明安装成功。
您可以在不登录控制台的情况下直接访问 <节点 IP 地址>:30880/apps 进入应用商店。
KubeSphere 3.2.x 中的应用商店启用后,OpenPitrix 页签不会显示在系统组件页面。

浏览器访问:http://100.100.142.83:30880/apps

在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 Docker Compose 来实现一键部署 MySQLRedisNacos。Docker Compose 是一个用于定义和运行多个容器的工具。下面是一个示例的 `docker-compose.yml` 文件,其中包含了 MySQLRedisNacos 的配置: ```yaml version: '3' services: mysql: image: mysql:latest restart: always ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=your_password volumes: - ./mysql_data:/var/lib/mysql redis: image: redis:latest restart: always ports: - 6379:6379 nacos: image: nacos/nacos-server:latest restart: always ports: - 8848:8848 ``` 在以上示例中,MySQL 使用了最新版本的镜像,并将容器内的 3306 端口映射到主机的 3306 端口。你需要将 `your_password` 替换为你的 MySQL root 密码。此外,MySQL 的数据将被挂载到主机的 `./mysql_data` 目录下,这样即使容器被删除,数据也能得到保留。 Redis 使用了最新版本的镜像,并将容器内的 6379 端口映射到主机的 6379 端口。 Nacos 使用了最新版本的镜像,并将容器内的 8848 端口映射到主机的 8848 端口。 在安装 Docker 和 Docker Compose 后,你可以通过 `docker-compose up -d` 命令来启动这些容器。使用 `-d` 参数可以在后台运行容器。 一旦容器启动成功,你就可以通过相应的端口访问 MySQLRedisNacos 了。例如,使用 `localhost:3306` 访问 MySQL,`localhost:6379` 访问 Redis,`localhost:8848` 访问 Nacos。 希望这对你有帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值