简介
xkube一款永久免费且无任何功能限制的云原生kubernates多集群管理工具,提供PC端和APP端全平台支持,具备完善的集群管理、运维监控和CI/CD发布功能,让企业轻松实现跨集群的统一管理和自动化运维。
== 文章导航===
【k8s-1.34.2安装部署】一.系统初始化及k8s集群规划
【k8s-1.34.2安装部署】二.kubernets软件、证书、配置、脚本等文件准备
【k8s-1.34.2安装部署】三.etcd-v3.6.6 TLS版集群安装
【k8s-1.34.2安装部署】四.kubernets master组件kube-apiserver,kube-controller-manager,kube-scheduler安装
【k8s-1.34.2安装部署】五.worker端containerd2.2.1、kubelet-1.34.2安装
【k8s-1.34.2安装部署】六.企业级部署cilium-1.18.4网络插件
【k8s-1.34.2安装部署】七.coredns-v1.13.1安装
【k8s-1.34.2安装部署】八.metric-server-0.8.0安装
【k8s-1.34.2安装部署】九.k8s管理平台xkube安装部署
【k8s-1.34.2安装部署】十.gateway Api v1.4.0安装
【k8s-1.34.2安装部署】十一.metallb-v0.15.2安装
1.第一种部署方式:docker-compose部署
先克隆代码:
git clone https://gitee.com/eeenet/xkube.git或git clone https://github.com/eeenet007/xkube.git,将docker-compose拷贝到服务器后,进入docker-compose目录,执行启动命令:docker-compose up -d然后浏览器打开:http://ip:8080/
输入用户名:admin,密码:admin 进行登录,登录后添加k8s配置即可进行管理。停止命令:docker-compose down行环境版本要求:
docker版本:version 27.3.1
docker-compose版本: version v2.32.4 及以上
==注意:xkube的wiki有图片上传功能,配置默认挂载到当前目录,如有需要变更,先修改docker-compose.yml以后再进行执行启动==
2.第二种部署方式:k8s环境部署
- 上传k8s_deploy.yaml到服务器,修改k8s_deploy.yaml中的mysql和redis的配置,以及ingress的域名,修改以后执行命令:
kubectl apply -f k8s_deploy.yaml。 - 部署完成以后将域名解析到k8s的ingress入口IP后,在浏览器打开刚解析的域名。用户名和密码均是admin。
- 登录以后会提示:读取集群列表失败、读取集群信息失败。这是因为还没有添加k8s集群,添加后就正常了。
1.mysql配置更改:
#数据库配置时需要导入docker-compose/xkube.sql
db_host = mysql_server #更改成mysql的IP
db_port = 3306 #更改成mysql的端口
db_user = db_xkube #更改成mysql的用户名
db_pass = xkube_DB_123456 #更改成mysql的密码
db_name = db_xkube #更改成mysql的数据库名
db_type = mysql
2.redis配置更改
redisDb = "redis_server:6379" #更改成redis的IP和端口
redisPasswd = "Redis_123456" #更改成redis的密码
SessionProviderConfig = "redis_server:6379,100,Redis_123456" #更改成redis的IP和端口、密码
3.创建pvc用于wiki上传图片,如不需要可以删除pvc及卷挂载涉及upload的配置
```
volumeMounts:- mountPath: /app/conf name: config-volume readOnly: true - mountPath: /app/static/upload name: xkube-static-upload
volumes:
- name: xkube-static-upload
persistentVolumeClaim:
claimName: xkube-static-upload
- configMap:
defaultMode: 420
name: xkube-admin-config
name: config-volume
> 4.ingres中的域名配置更改
```yaml
spec:
ingressClassName: nginx
rules:
- host: xkube.xxxx.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: xkube-admin
port:
number: 80
3.第三种部署方式:服务器上安装部署
修改conf/app.conf中的mysql、redis配置后再进行启动
第一步:修改mysql配置
安装完mysql以后,将docker-compose/xkube.sql导入到数据库中,然后修改conf/app.conf中的如下配置:
db_host = mysql_server #mysql的IP
db_port = 3306 #MySQL的端口
db_user = db_xkube #mysql的用户名
db_pass = xkube_DB_123456 #mysqld 密码
db_name = db_xkube #数据库名
第二步:修改redis配置
安装完redis以后:然后修改conf/app.conf中的如下配置:
redisDb = "192.168.1.115:6379" #redis的IP和端口
redisPasswd = "Redis_123456" #redis配置设置的密码
SessionProviderConfig = "192.168.1.115:6379,100,Redis_123456" #将redis的IP、端口、密码进行更改,100这个数字保留即可。
第三步:启动服务
修改完以上配置后:Linux 环境下进入目录直接执行:nohub ./xkube & ,windows环境下执行./xkube.exe即可启动
就可以通过http://ip:8080/index 进行访问了。
第四步:前端若有nginx反向代理需增加如下配置:
location ~^/xkube/pod/terminal/ws {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin "";
}
第五步:后台设置
1. 登录后台后,默认用户名和密码都是admin,在k8s列表里进行添加需要管理的集群。
2. 当有多个集群时,可以为自己设置一个常用集群,该设置会记录到cookie,下一次登录会继续管理该集群。
3. 完成以上两步以后就可以在线管理k8s 了。
第六步:后台主面板功能说明
4.部署免费tls证书,https环境。
letsencrypt免费证书申请参考:https://xkube.eeenet.net/doc/page/read.html?id=23
