首先介绍一下离线部署:离线安装:导读 (yuque.com)
主要分为两种:
- 方法一:直接将相关安装依赖包上传到各个节点
- 方法二:搭建自主可控的软件仓库和镜像仓库(repo节点)
此篇主要记录方法一的实现步骤,参考教程如下:
目录
离线部署方案一:直接将安装依赖包上传至各节点
一、整体思路
- 准备好k8s节点的离线资源包(打包各种依赖包+镜像)
- 直接将离线资源包上传至各节点
二、安装环境说明
虚拟机:VMware Pro 16
操作系统:CentOS7.x-86_x64
node1:192.168.253.152
node2:192.168.253.153
master:192.168.253.154
三、具体步骤
1. 下载离线安装资源包
链接:https://pan.baidu.com/s/1M1flPW9RqGsmStvVYYHJOg?pwd=lujd
提取码:lujd
--来自百度网盘超级会员V4的分享
资源包的制作参考:离线安装Kubernetes v1.17.1 - 准备离线资源包 - 简书 (jianshu.com)
2. 上传安装包到master和node节点上
解压该压缩包到/root/k8sOfflineSetup目录下(必须是这个目录,如果要放在其他目录,需要修改压缩包内部分执行脚本的绝对路径)
mkdir /root/k8sOfflineSetup
tar -xzvf k8sOfflineSetup.tar.gz -C /root/k8sOfflineSetup
3. 安装Master
(master节点执行)
(1)设置参数
安装的时候会用到
# master节点的主机名
export HOSTNAME=master
# k8s apiserver的主机地址
export APISERVER_NAME=apiserver.k8s.com
# 集群中master节点的ip地址
export MASTER_IP=192.168.253.154
# Pod 使用的网段
export POD_SUBNET=10.11.10.0/16
(2)修改权限
chmod +x root/k8sOfflineSetup/scripts/*
(3)安装
cd /root/k8sOfflineSetup
./setup_master.sh
(4)测试是否成功
kubectl get nodes
出现master节点状态为Ready即可
4. 安装Node(以node1为例)
(1)在master上创建加入集群的token和秘钥
在master节点中,执行以下命令**(只需1次)**并记录在文档中:
kubeadm token create --print-join-command
得到token和cert(高亮部分),后续安装node节点时需设置到环境变量中,作为安装参数:
kubeadm join apiserver.k8s.com --token mpfjma.4vjjg8flqihor4vt --discovery-token-ca-cert-hash sha256:6f7a8e40a810323672de5eee6f4d19aa2dbdb38411845a1bf5dd63485c43d303
(这两个参数在2个小时内可以重复使用,超过以后就得再次生成)
(2)node1设置相关参数
# node1节点的主机名
export HOSTNAME=node1
# k8s apiserver的主机地址
export APISERVER_NAME=apiserver.k8s.com
# 集群中master节点的ip地址
export MASTER_IP=192.168.253.152
# 加入master的token,就是上述步骤token后面的内容
export TOKEN=mpfjma.4vjjg8flqihor4vt
# 加入master的证书,就是上述步骤的discovery-token-ca-cert-hash后面的内容
export CERT=sha256:6f7a8e40a810323672de5eee6f4d19aa2dbdb38411845a1bf5dd63485c43d303
(3)修改权限
chmod +x root/k8sOfflineSetup/scripts/*
(3)安装
node1中执行:
cd /root/k8sOfflineSetup
./setup_worker.sh
5. 查看是否部署成功
回到master节点,执行:
kubectl get nodes
出现master和node1、node2的状态都为Ready,即成功啦!