首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【云原生】k8s 离线部署讲解和实战操作

一、概述

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(注意:这里的密码是上面安装时自定义的)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230227A000AW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券