前言
KubeSphere
是在 Kubernetes
之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的DevOps 工作流
。它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play)
的集成。
上面是官网对KubeSphere
的介绍,k8s的web调度系统多种多样,KubeSphere是其中相对不错的,并且在KubeSphere
3.0
之后推出了KubeKey。KubeKey
支持一键安装k8s
或者KubeSphere
,安装选择上也可以选择单点安装、集群安装及扩容升级等集群操作,非常方便。
KubeKey 的几种使用场景:
- 仅安装 Kubernetes;
- 使用一个命令同时安装 Kubernetes 和 KubeSphere;
- 扩缩集群;
- 升级集群;
- 安装 Kubernetes 相关的插件(Chart 或 YAML)。
1. 环境配置
集群配置:
操作系统 | 硬件配置 | IP | 节点 |
---|---|---|---|
CentOS 7.6 | 2 核 CPU,4 GB 内存,60 GB 磁盘空间 | 10.0.20.8 | master |
CentOS 7.6 | 2 核 CPU,4 GB 内存,60 GB 磁盘空间 | 10.0.20.2 | node1 |
CentOS 7.6 | 1 核 CPU,2 GB 内存,40 GB 磁盘空间 | 10.0.24.14 | node2 |
2. 软件配置(所有节点执行)
2.1: 关闭防火墙
代码语言:javascript复制systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld
2.2:关闭swap分区
代码语言:javascript复制swapoff -a
echo "vm.swappiness=0" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
2.3:安装依赖组件
代码语言:javascript复制yum install -y ebtables socat ipset conntrack
2.4:修改hostaname
这里的名称根据不同的节点进行修改,master、node1、node2
hostnamectl --static set-hostname master
3. 安装集群(master节点执行)
使用KubeKey
安装集群,整个过程只需要在master节点
执行即可
3.1: 下载 KubeKey
3.1.1 设置国内源进行下载
代码语言:javascript复制export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | VERSION=v2.2.1 sh -
3.1.2 为 kk 文件添加可执行权限。
代码语言:javascript复制chmod x kk
3.2: 配置集群创建文件
3.2.1 创建集群配置文件
代码语言:javascript复制./kk create config --with-kubernetes v1.22.10 --with-kubesphere v3.3.0
执行完命令后会生成config-sample.yaml
文件,根据集群环境修改config-sample.yaml
文件
vi config-sample.yaml
修改内容如下:
将hosts
修改为集群的hosts地址
并填写服务器的用户名
和密码
,下面的roleGroups进行分配节点角色,修改完毕进行保存
3.2.2 集群安装
执行以下命令进行集群安装:
代码语言:javascript复制./kk create cluster -f config-sample.yaml
等待时间很长,起身活动活动
3.2.3 安装完成
在安装好以后会输出一串命令,执行这串命令查看安装日志
执行命令:
代码语言:javascript复制kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-installer -o jsonpath='{.items[0].metadata.name}') -f
安装日志里给出了默认的账号密码跟系统地址,外网的话就用外网ip:30880
即可,用户名密码都是admin
和P@88w0rd
3.2.4 验证系统
访问系统后进行登陆查看系统
点击集群展示我们的资源用量
左侧菜单选择节点查看各节点负载率
查看各节点详情就点击节点名称
运行状态
容器组
元数据
监控
事件