一、 环境准备
系统环境: Centos7
KubeSphere:V3.1.1
Kubernetes: V1.20.6(k8s集群)
Docker: V20.10.5
系统信息:
master节点—192.168.0.216 ;
node1节点:192.168.0.217;
node2节点:192.168.0.218
在实际应用中,曾经尝试过Centos8的系统,但部署过程中,问题不断,考虑到兼容性的问题,建议大家还是不要挑战官方的指导手册要求的系统环境。
二、节点要求
所有节点必须都能通过SSH 访问。
所有节点时间同步。
所有节点都应使用sudo/curl/openssl。
三、安装Docker
首先这个步骤并不是必须要提前做的,可以在集群安装过程中自动进行安装,但由于我这里内网存在诸多限制,自动下载安装到时候总存在问题,故这里我给三个节点均提前安装好了docker,节约时间。Docker的安装及配置,可以参考博客《docker安装及配置》https://blog.51cto.com/20101218/3436832
四、下载安装KubeKey
[root@master k8s]# curl -sfL https://get-kk.kubesphere.io | VERSION=v1.1.1 sh -
Downloading kubekey v1.1.1 from https://github.com/kubesphere/kubekey/releases/download/v1.1.1/kubekey-v1.1.1-linux-amd64.tar.gz ...
Kubekey v1.1.1 Download Complete!
[root@master k8s]# ls
kk kubekey-v1.1.1-linux-amd64.tar.gz README.md README_zh-CN.md
默认文件kk是有可执行权限,如果没有chmod +x kk添加即可
五、 安装 Kubernetes 和 KubeSphere
1. 创建配置文件
./kk create config [--with-kubernetes version] [--with-kubesphere version] [(-f | --file) path]
安装 KubeSphere v3.1.1 的建议 Kubernetes 版本:v1.17.9,v1.18.8,v1.19.8 以及 v1.20.4。如果不指定 Kubernetes 版本,KubeKey 将默认安装 Kubernetes v1.19.8
如果添加标志 --with-kubesphere 时不指定 KubeSphere 版本,则会安装最新版本的 KubeSphere。
查询支持的K8s版本
[root@master k8s]# ./kk version --show-supported-k8s
v1.15.12
v1.16.8
v1.16.10
v1.16.12
v1.16.13
v1.17.0
v1.17.4
v1.17.5
v1.17.6
v1.17.7
v1.17.8
v1.17.9
v1.18.3
v1.18.5
v1.18.6
v1.18.8
v1.19.0
v1.19.8
v1.19.9
v1.20.4
v1.20.6
按照实际需求,创建集群配置文件
[root@master k8s]# ./kk create config --with-kubernetes v1.20.6 --with-kubesphere v3.1.1
[root@master k8s]# ls
config-sample.yaml kk kubekey-v1.1.1-linux-amd64.tar.gz README.md README_zh-CN.md
编辑生成的config-sample.yaml文件
[root@master k8s]# vim config-sample.yaml
name:实例的主机名。
address:任务机和其他实例通过 SSH 相互连接所使用的 IP 地址。根据环
境,可以是公有 IP 地址或私有 IP 地址
internalAddress:实例的私有 IP 地址。
etcd:etcd 节点名称
master:主节点名称
worker:工作节点名称
注意:如果默认ssh端口是22,则可不用添加port,如果ssh端口像本例一样被修改了,则添加port。
2. 使用配置文件创建集群
[root@master k8s]#./kk create cluster -f config-sample.yaml
[root@master k8s]# yum install contrack -y #根据上述提示需要安装contrack
clusterconfiguration.installer.kubesphere.io/ks-installer created
安装完成后,会看到如下内容:
#####################################################
### Welcome to KubeSphere! ###
#####################################################
Console: http://192.168.0.216:30880
Account: admin
Password: P@88w0rd
NOTES:
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.
Please change the default password after login.
#####################################################
https://kubesphere.io 2021-08-12 18:30:34
#####################################################
INFO[18:30:43 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
You have mail in /var/spool/mail/root
3. 启用 kubectl 自动补全
[root@master k8s]# yum install bash-completion -y
[root@master k8s]# echo 'source <(kubectl completion bash)' >>~/.bashrc
[root@master k8s]# kubectl completion bash >/etc/bash_completion.d/kubectl
4. 浏览器登录
可以通过 <NodeIP:30880 使用默认帐户和密码 (admin/P@88w0rd) 访问 KubeSphere 的 Web 控制台。