category
tags
type
status
slug
date
summary
icon
password
前言
这里将借用KubeKey 和KubeSphere官方提供的安装脚本,快速搭建一个带KubeSphere平台的K8s集群。KubeSphere的面板相比Kubernetes的DashBoard更加直观并且实用。
准备服务器
- 虚拟机要开启时间同步
- 提前修改pip的conf ,否则KubeSphere安装脚本中的默认清华源会提示警告错误,耽误时间
- 偶尔会出现packagekit服务阻塞yum服务的正常安装,推荐关闭此服务。
- 建议安装过程打几个快照,尤其是在纯净系统的时候打快照,以便于重新安装或测试。(用空间换取时间)
一、使用kubekey (kk)安装 (推荐)
为什么选择 KubeKey
- 以前基于 ansible 的安装程序依赖于许多软件,例如 Python。KubeKey 由 Go 语言开发,可以消除在多种环境中出现的问题,确保成功安装。
- KubeKey 支持多种安装选项,例如 All-in-One、多节点安装以及离线安装。
- KubeKey 使用 Kubeadm 在节点上尽可能多地并行安装 Kubernetes 集群,使安装更简便,提高效率。与旧版的安装程序相比,它极大地节省了安装时间。
- KubeKey 提供内置高可用模式,支持一键安装高可用 Kubernetes 集群。
- KubeKey 旨在将集群作为对象来进行安装,即 CaaO。
All-in-One 脚本示例
以下是我从一个纯净的CentOS系统,一步步执行成功安装AllinOne的KubeSphere+K8s环境的脚本。
- 配置基础网络环境
- 安装 必备组件 socat conntrack
- 安装kk工具
- 如果您的服务器能正常访问Github/Googleapis
- 如果您的服务器访问Github/Googleapis受限
开始创建环境
安装完成
根据你的网络情况,安装过程可能需要几十分钟,不要着急。安装完成后控制台会显示出你的额KubeSphere访问面板地址。
检验安装结果
你可以随时输入以下指令,查看KubeSphere平台 安装、更新的结果:
单节点扩展为多结点
参照文档编辑你的节点配置文件
- 创建一个实例脚本
- 编辑脚本:在脚本中添加你的节点配置
vim ~/sample.yml
然后执行以下命令即可
二、ks-installer安装器安装
三、可插拔组件的安装
- 你可以随时用命令行修改ks的ConfigMap文件,从而实现更新ks-installer。
修改完成后用以下命令检查更新结果
- 更可以在kubesphere控制台中直接修改 ks.installer 的配置文件
示例-KubeSpereh增加ES日志查询
示例 - KubeSphere增加NFS卷类型
默认安装的KuberSphere只有 一个Local文件类型,这里可以安装一个NFS卷类型:
1. 系统安装NFS服务
- 执行以下脚本,安装NFS服务,并准备将/data目录作为服务目录:
- 执行
vi /etc/exports
修改NFS的目录配置 /data
: 共享目录位置。192.168.31.0/24
: 客户端 IP 范围,*
代表所有,即没有限制。rw
: 权限设置,可读可写。sync
: 同步共享目录。no_root_squash
: 可以使用 root 授权。no_all_squash
: 可以使用普通用户授权。
文本内容:
/data/ 192.168.31.0/24(rw,sync,no_root_squash,no_all_squash)
说明:
- 修改后重启NFS
systemctl restart nfs
- 执行
showmount -e
localhost
可以查看当前被作为NFS服务的目录文件夹
2. 客户端 配置
- 开启rpc服务
systemctl enable rpcbind && systemctl start rpcbind
- 读取NFS服务器可挂载的文件夹列表
showmount -e 192.168.31.39
- 注意master需要关闭防火墙
- 客户端创建相同目录
mkdir /data
- 挂载
mount -t nfs 192.168.31.39:/data /data
3.更新KubeSphere环境
- 理想情况下,首次使用一键脚本安装配置
如果你在首次执行
./install.sh
安装器部署带有KubeSphere环境前,已经安装好NFS环境,并按照以下配置修改 conf/common.yaml
, 这时你安装的k8s是默认具有NFS卷类型支持的,并且NFS被设置为是默认的卷类型。- 但如果你已经安装好kubesphere+k8s环境,且没有使用一键安装脚本、而是使用kuberkey等方式,需要安装NFS-client的方式进行:
- 若你是用installer脚本一键安装可以使用修改
ConfigMap
的方式来更新集群 - 或在控制后台编辑
执行以下命令,并参照以上的common.yaml内容配置ks-installer的内容。修改后自动生效并重新配置KubeSphere
示例- 安装devops
官方推荐,在muti-node模式下,需要一台主机节点大于8G,才可以安装,否则可能效果并不理想,开启DevOps参考以下文档,此处不再赘述。
参考文档
KubeSphere文档
Kubekey文档
在 Kubernetes集群中 安装 KubeSphere2.1
一些QA
- 安装过程可能出现pip源的警告。这是由于ks-installer安装器默认的清华源有问题,需要按照文章上面的方法修改为默认使用阿里源。
- 可能出现安装失败
使用ks-installer安装器或KubeKey都要求系统是完全纯净的,如果装了其他库依赖例如自己安装了Docker的其他版本,都会导致安装错误,这时候利用你的服务器快照回滚到最初的版本,重新安装试一下。
- 作者:NotionNext
- 链接:https://tangly1024.com/kuberkey-kubesphere-k8s
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。