ubuntu22.04离线部署k8s集群
前言:
1.本次是在内网环境部署k8s集群,需要提前下载离线部署包,需要离线部署包的私信我。
2.离线部署需要有一台用作部署的主机节点。可以是单独的一台主机,也可以把harbor节点作为部署节点。
本次部署用到3个节点。一台maser节点,一台node节点,一台harbor节点。也就是说我把harbor节点不仅部署仓库,还作为部署节点。离线部署的时候,部署脚本会将将下载的离线包上传到harbor仓库后,然后在部署集群的时候供集群各节点下载相关镜像。
当然,这是演示部署,如果在生产环境,至少需要3台master节点,多台node节点。但是部署原理是一样的。
操作系统ubuntu22.04
离线部署k8s版本为1.32.2
部署的harbor版本2.14.1
需要的软件包:
1.k8s离线部署包
2.harbor部署包
本次规划:
10.206.16.2 harbor
10.206.16.3 master
10.206.16.4 node
将上面的映射添加到各个节点的/etc/hosts
一、单独部署harbor
部署harbor参考我的另一篇博客:https://www.cnblogs.com/wutao-007/p/19446231
二、部署k8s
1.将离线安装包上传到harbor节点。
2.修改三个节点的hostname,分别为:
10.206.16.2 harbor
10.206.16.3 master
10.206.16.4 node
将下面的映射添加到各个节点的/etc/hosts
cat >> /etc/hosts <<EOF 10.206.16.2 harbor 10.206.16.3 master 10.206.16.4 node EOF
3.解压离线安装包,并进入offline目录
cd /data
tar xf offline.tgz
cd offline
4.同步镜像到私有仓库
(1)首先在harbor中创建如下几个项目,访问级别为公开

(2)进入离线包解压后的目录,创建节点配置文件 inventory_sync_image.yaml。
vim inventory_sync_image.yaml
kind: Inventory
metadata:
name: default
spec:
vars:
image_registry:
auth:
# 确保您提供的镜像仓库账号密码拥有创建项目和推送镜像的权限
registry: a.b.cn
username: admin
password: Harbor12345
localDNS:
- /etc/hosts
registry: 仓库访问的域名
(3)同步镜像。使用上一步创建的 inventory_sync_image.yaml 来推送镜像。
./kk artifact images -i inventory_sync_image.yaml --workdir $(pwd)/prepare --set binary_dir=$(pwd)/kubekey/kubekey,download.download_image=false
如果显示如下信息,表明离线包中的镜像已成功同步到镜像仓库。
回显示例:
[Playbook default/artifact-images-fkgmw] finish. total: 15,success: 15,ignored: 0,failed: 0
5.启动web安装服务,通过web页面部署Kubernetes 和 Kubesphere。
./kk web --port 8080 --schema-path schema --ui-path dist
执行后请勿关闭命令终端,在浏览器通过 http://<部署节点 IP 地址>:8080,打开 Kubekey 的 UI 页面。
6.浏览器输入http://IP:8080
点击开始部署

7.手动添加master和node节点





8.安装完成后,就把 Kubernetes 和 Kubesphere都部署好了
9.你如果不想安装Kubesphere,只想安装Kubernetes ,你可以把Kubesphere服务卸载掉。
卸载步骤:https://docs.kubesphere.com.cn/v4.2.0/03-installation-and-upgrade/04-uninstall-kubesphere/01-uninstall-kubesphere-only/

浙公网安备 33010602011771号