目录
1)Socat、conntrack、ebtables、ipset
参考官网:https://www.kubesphere.io/zh/docs/v3.4/quick-start/all-in-one-on-linux/
一、虚拟机环境设置
环境:VM虚拟机 + Centos7.x
- 操作系统Centos7.x-86_x64
- 硬件配置:内存4G,CPU2核
VM启动后,关闭并禁用防火墙 (本地直接关闭,公网环境开放端口和配置对应白名单访问即可)
# systemctl stop firewalld
# systemctl disable firewalld
关闭selinux (主要作用是强化系统的安全性和保护系统资源免受未经授权的访问和攻击)
# sed -i 's/enforceing/disabled/' /etc/selinux/config #永久(配置后需重启机器)
# setenforce 0 #临时
测试拉取下最新的包命令
# yum update
如果提示如下错误:
解决方式可参考:“Could not resolve host: mirrorlist.centos.org; 未知的错误“
如果同时存在2个基础源 Centos-7.repo和Centos-Base.repo,则保留一份即可(推荐使用阿里云的yum源),如果都不是阿里云的yum源,均先备份,再下载阿里云yum源。
此处因之前处理:“Could not resolve host: mirrorlist.centos.org; 未知的错误“问题的时候已经下载了阿里云的 Centos-7.repo,所以这里只需要备份原有的CentOS-Base.repo即可
先备份原生的yum源
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
修改其他源可参考:CentOS7更新yum源
阿里云的yum源,命令如下(已下载的无需执行):
# wget -O /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
二、Kubesphere安装
1、安装工具
1)Socat、conntrack、ebtables、ipset
# yum -y install socat
# yum -y install conntrack
# yum -y install ebtables
# yum -y install ipset
2)Docker
更新docker的yum源(推荐阿里)
# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
列出可安装docker版本列表
# yum list docker-ce --showduplicates | sort -r
安装 docker ,可参考:Docker CE for CentOS 安装教程
# yum -y install docker-ce-20.10.8 docker-ce-cli-20.10.8
PS:这里是需要指定版本信息,要与后面的K8S版本匹配,可借鉴Kubernetes各版本对应支持的docker版本列表
目前使用Kubesphere的K8S最高仅支持的是20.10.X,而最新的docker是26.x.x,切勿装最新的。
如果已安装需卸载,可参考: Kubernetes各版本对应支持的docker版本列表
安装完成后,启动 docker
# systemctl start docker
编辑 Docker 的配置文件
# mkdir -p /etc/docker
# cd /etc/docker
# vim daemon.json
{
"registry-mirrors":["https://docker.rainbond.cc"]
}
配置内容指定了一个 Docker 镜像加速器地址,https://docker.rainbond.cc。这样可以加速从 Docker 镜像仓库拉取镜像的速度,尤其是在中国大陆。
PS:7月开始国内因安全问题监管已经在禁用docker服务,所以之前大部分开源加速器均已不可用
重新启动
# systemctl daemon-reload
# systemctl restart docker
查看Docker的镜像仓库信息
# docker info|grep Mirrors –A5
-A5 是一个选项,表示除了显示匹配行外,还显示匹配行之后的5行
Registry Mirrors: 表示你配置的镜像加速器地址。
Live Restore: 是 Docker 的一个功能
- true:当 Docker 服务重启时,正在运行的容器会继续运行,而不会因为 Docker 的重启而被停止
- false: 当 Docker 守护进程重启时,所有正在运行的容器也会被停止,这是默认设置,如果需要启用该功能,可以通过修改 Docker 配置文件来实现。
# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.rainbond.cc"],
"live-restore": true
}
设置 Docker 服务在系统启动时自动启动
# systemctl enable docker.service
运行测试Image,验证docker是否安装成功
# docker run hello-world
这条命令会下载一个测试Image,下载成功后会在容器内运行。运行后,会打印一些信息并退出,代表docker已经成功安装。
查看现有可用容器
# docker images
查看运行中的容器
# docker ps
查看所有容器,包括未运行的容器
# docker ps -a
查看特定容器使用的镜像
# docker ps | grep my_container
2、下载KubeKey
先执行以下命令以确保您从正确的区域下载 KubeKey
进入master节点,创建目录
执行以上命令会下载最新版 KubeKey,您可以修改命令中的版本号下载指定版本。
查看 # ll
为 kk 添加可执行权限:
# chmod +x kk
3、开始安装
只需执行一个命令即可进行安装,其模板如下所示:
# ./kk create config [--with-kubernetes version] [--with-kubesphere version] [(-f | --file) path]
- 安装 KubeSphere 3.4 的建议 Kubernetes 版本:v1.20.x、v1.21.x、* v1.22.x、* v1.23.x、* v1.24.x、* v1.25.x 和 * v1.26.x。带星号的版本可能出现边缘节点部分功能不可用的情况。因此,如需使用边缘节点,推荐安装 v1.23。如果不指定 Kubernetes 版本,KubeKey 将默认安装 Kubernetes v1.23.10。有关受支持的 Kubernetes 版本的更多信息,请参见支持矩阵。
- 如果您在此步骤的命令中不添加标志 --with-kubesphere,则不会部署 KubeSphere,只能使用配置文件中的 addons 字段安装,或者在您后续使用 ./kk create cluster 命令时再次添加这个标志。
- 如果您添加标志 --with-kubesphere 时不指定 KubeSphere 版本,则会安装最新版本的 KubeSphere。
这里执行如下命令:
# ./kk create config --with-kubernetes v1.22.12 --with-kubesphere v3.4.1
期间异常情况:
异常a、下载进度未到 100%就断开,可能是网络问题,多执行几次即可
异常b、get kubernetes cluster info failed: Failed to exec command: sudo -E /bin/bash -c "/usr/local/bin/kubectl --no-headers=true get nodes -o custom-columns=:metadata.name,:status.nodeInfo.kubeletVersion,:status.addresses"
Unable to connect to the server: EOF: Process exited with status 1
处理方式:问题起因是网络问题引起,先检查自己本地网络是否可正常访问;这里排查出来的是因为虚拟机一开始配置了网络代理,关闭即可。
异常C、execute task timeout, Timeout=2h
排查流程,执行命令:
# kubectl get po -A
查看到有些镜像拉取失败:ErrImagePull,主要是网址被限制镜像拉取,只要配置好国内镜像加速器地址即可,可爬楼往上查看对应配置;处理完重新再拉取即可
执行成功后效果如下:
可看到返回了访问路径和账号密码
访问 :http://192.168.152.131:30880/
开启你的K8S之旅吧。
附:主流程基本官网都有,这里主要逻辑搭建过程中遇见的所需组件安装和异常情况供参考