1.安装sealos

在任意一台服务器安装sealos
下载地址:latest 版本 oss下载地址
下载并安装sealos, sealos是个golang的二进制工具,直接下载拷贝到bin目录即可, release页面也可下载

  1. wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/latest/sealos && \
  2. chmod +x sealos && mv sealos /usr/bin

2.设置hostname

每台服务器的hostname不能重复

hostnamectl set-hostname xxx

3.上传Kubenetes离线安装包

下载地址:www.sealyun.com
将Kubenetes离线安装包上传到任意一台服务器上

4.开始安装

安装命令如下几种:
多master HA:

sealos init --passwd '123456' \
    --master 192.168.0.2  --master 192.168.0.3  --master 192.168.0.4  \
    --node 192.168.0.5 \
    --pkg-url /root/kube1.22.0.tar.gz \
    --version v1.22.0
参数名 含义 示例 是否必须
passwd 服务器密码 123456 和私钥二选一
master k8s master节点IP地址 192.168.0.2 必须
node k8s node节点IP地址 192.168.0.3 可选
pkg-url 离线资源包地址,支持下载到本地,或者一个远程地址 /root/kube1.16.0.tar.gz 必须
version 资源包
对应的版本
v1.16.0 必须
kubeadm-config 自定义kubeadm配置文件 kubeadm.yaml.temp 可选
pk ssh私钥地址,免密钥时使用 /root/.ssh/id_rsa 和passwd二选一
user ssh用户名 root 可选
interface 机器网卡名,CNI网卡发现用 eth.* 可选
network CNI类型如calico flannel calico 可选
podcidr pod网段 100.64.0.0/10 可选
repo 镜像仓库,离线包通常不用配置,除非你把镜像导入到自己私有仓库了 k8s.gcr.io 可选
svccidr clusterip网段 10.96.0.0/22 可选
without-cni 不装cni插件,为了用户自己装别的CNI 可选

注意:
安装成功后,手动清理buff/cache
1、sync命令bai的作用:是将有关文件du系统的存储器常驻信息送入物理介质内。
2、在暂停系zhi统之前,比如要dao重新启动机器,一定要去执行sync命令。
unix系统运行经验表明,为确保可靠起见,应执行两遍sync命令,这是因为sync命令完成时,并不保证信息实际写到了磁盘上,虽然已经执行了一遍这个命令。
在执行sync命令以后,要等待磁盘工作灯灭了(假定有系统工作指示灯的话),再去真正暂停机器的运行或启动机器。

sync
echo 3 > /proc/sys/vm/drop_caches

5.验证

[root@master1 home]# kubectl get node
NAME      STATUS   ROLES    AGE     VERSION
master1   Ready    master   16h     v1.18.15
node1     Ready    <none>   16h     v1.18.15
node2     Ready    <none>   16h     v1.18.15
node3     Ready    master   3h51m   v1.18.15

6.可选操作

安装完成后在其他node节点中输入kubectl xxxx 命令提示时候会出现 The connection to the server localhost:8080 was refused - did you specify the right host or port?
需要在master节点中拷贝 /root/.kube 到其他node节点中/root目录下

scp -r /root/.kube root@192.168.28.161:/root

使用Tab联想命令时会出现 kubectl get-bash: _get_comp_words_by_ref: 未找到命令。
需要安装Bash complete组件

yum install -y epel-release
yum install -y bash-completion bash-completion-extras
source /etc/profile

离线安装,在可以联网的机器中下载安装包,然后上传到需要安装的机器中

#在可以联网的机器中下载安装包
yum install -y epel-release --downloadonly --downloaddir /home/bash-completion
yum install -y bash-completion bash-completion-extras --downloadonly --downloaddir /home/bash-completion
#上传到离线服务器中开始安装
rpm --install epel/epel-release-7-11.noarch.rpm
rpm --install bash-completion/bash-completion-2.1-8.el7.noarch.rpm
source /etc/profile

7.卸载Kubernetes

sealos clean --all