一、概述
Kubernetes是一种高度可扩展的容器编排平台,可用于部署、管理和自动化容器化应用程序的运行。在某些情况下,离线部署Kubernetes可能是必需的,例如在没有互联网连接的安全环境中或在网络连接不可靠的情况下。以下是离线部署Kubernetes的一般步骤:
获取Kubernetes二进制文件:从Kubernetes官网下载Kubernetes二进制文件并解压缩到本地。
准备离线镜像:在离线环境中,必须将所需的容器镜像下载到本地并存储在本地仓库中。可以使用Docker镜像导出/导入命令或Docker Registry Mirror工具将镜像从在线环境中导出并导入到离线环境中。
配置Kubernetes节点:在每个节点上安装必要的依赖项,例如Docker引擎、kubelet、kubeadm等。可以使用Docker离线安装程序将Docker引擎安装到离线节点中。
初始化Kubernetes集群:使用kubeadm init命令初始化集群,并将必要的配置文件和证书复制到节点上。在离线环境中,必须将kubelet和kubeadm所需的配置文件手动复制到每个节点上。
加入节点:使用kubeadm join命令将新节点加入到集群中。在离线环境中,必须手动复制kubelet和kubeadm配置文件,并在每个节点上使用kubeadm join命令将节点加入集群。
部署应用程序:使用kubectl命令在集群中部署应用程序,并将所需的容器镜像从本地仓库中拉取。
在离线环境中部署Kubernetes需要一些额外的工作,但是这是可能的,并且是部署Kubernetes的重要方法之一。
k8s 在线部署可以参考我以下几篇文章:
二、前期准备
1)节点信息
节点信息
k8s 版本:https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG
2)修改主机名和配置hosts
修改主机名
配置hosts
3)配置ssh互信
4)时间同步
5)关闭防火墙
6)关闭 swap
7)禁用SELinux
8)允许 iptables 检查桥接流量
若要显式加载此模块,请运行 sudo modprobe br_netfilter,通过运行 lsmod | grep br_netfilter 来验证 br_netfilter 模块是否已加载:
为了让 Linux 节点的 iptables 能够正确查看桥接流量,请确认 sysctl 配置中的 设置为 1。 例如:
三、开始部署
下载地址:https://download.docker.com/linux/static/stable/x86_64/
镜像、安装包、、等资源可关注我的公众号【大数据与云原生技术分享】回复【k8s】即可获取。
1)离线安装 docker
1、下载
2、解压的docker文件夹全部移动至/usr/bin目录
3、配置 docker 启动文件
在目录下,创建文件
4、启动 docker 服务
5、配置镜像下载加速器和 cgroupdriver
2)离线安装 kubeadm, kubelet, kubectl
1、下载
下载地址:https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG
2、配置 kubeadm 启动文件
3、导入镜像
下载资源包,解压进入images目录,执行以下命令就可以导入镜像了
4、启动 kubelet
3)集群初始化
1、安装 keepalived 生成 VIP 实现高可用
【1】下载
下载地址:https://www.keepalived.org/download.html
【2】master 配置
【3】backend 配置
【4】配置服务启动
【5】启动 keepalived
2、创建初始化配置文件
注意这里使用
3、k8s 集群初始化
这里追加tee命令将初始化日志输出到kubeadm-init.log中以备用(可选)。
或者直接初始化
4、安装 cni 插件(flannel)
4)添加 master 节点
5)添加 node 节点
6)配置 IPVS
1、加载ip_vs相关内核模块
2、离线安装 ipvsadm 工具
在线安装就非常简单了
下载地址:http://www.linuxvirtualserver.org/software/ipvs.html
3、编辑kube-proxy配置文件,mode修改成ipvs
4、重启kube-proxy
7)安装 ingress-nginx
8)安装 nfs provisioner
1、安装helm
helm安装包在提供的资源包里也是有的,可以不用再去外网下载的。
2、添加helm仓库源
3、安装 nfs
3、nfs provisioner
9)安装 Dashboard
1、安装
GitHub地址:https://github.com/kubernetes/dashboard
2、创建登录用户
3、创建并获取登录token
4、登录 web
登录地址:,如果提示如下,建议换成火狐浏览器试试。(如果有证书情况下是不会有种问题的。)
火狐浏览器访问web
10)安装镜像仓库 Harbor
1、创建证书
2、创建证书秘钥
3、添加 Chart 库
4、开始部署 harbor
5、查看
5、web 访问
配置hosts(如果是真实的域名,就可以不用配置hosts了)
账号/密码:admin/Harbor12345(注意:这里的密码是上面安装时自定义的)
领取专属 10元无门槛券
私享最新 技术干货