1.安装sealos
在任意一台服务器安装sealos
下载地址:latest 版本 oss下载地址
下载并安装sealos, sealos是个golang的二进制工具,直接下载拷贝到bin目录即可, release页面也可下载
wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/latest/sealos && \
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