K3s离线部署全过程

 更新时间:2025年09月28日 14:16:57   作者:不会运维的码头工人  
部署K3s集群需关闭防火墙/SELinux,安装Docker,配置主机解析与主机名,上传安装包,主节点安装后调整nodeport范围并生成Token,节点加入集群后将身份改为Worker,最终验证集群状态

K3s离线部署

关闭防火墙&selinux

systemctl stop firewalld

systemctl disable firewalld

setenforce 0 //临时关闭selinux
vi /etc/selinux/config 

把SELINUX=enforcing改为SELINUX=disabled,保存退出,重启永久生效)

未安装docker需要提前安装docker

集群机器互做解析

vi /etc/hosts 

192.168.80.15 k3s-master

192.168.80.24 k3s-node1

192.168.80.52 k3s-node2

更改主机名

hostnamectl set-hostname k3s-master

hostnamectl set-hostname k3s-node1

hostnamectl set-hostname k3s-node2

重启生效

reboot

#所有节点上传三个安装文件https://github.com/k3s-io/k3s/releases下载文件

docker load < k3s-airgap-images-amd64.tar

chmod a+x k3s k3s-install.sh

cp k3s /usr/local/bin/

master节点操作

  • #master节点安装k3s
INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC='--docker' /opt/yozo/k3s-install.sh
  • #查看组件是否生成
kubectl get pods -A
  • #查看master节点是否加入集群
kubectl get node -o wide
  • #更改nodeport可用范围
vi /etc/systemd/system/k3s.service 在以下添加

ExecStart=/usr/local/bin/k3s \

        server \

        '--docker' \

        --kube-apiserver-arg service-node-port-range=1-65535
  • #重新加载配置文件
systemctl daemon-reload
  • #重启k3s服务
systemctl restart k3s.service
  • #查看master节点token值
cat /var/lib/rancher/k3s/server/node-token

所有node节点操作 

  • #node节点加入集群,ip&token值根据现场环境更改
INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://192.168.80.15:6443 K3S_TOKEN=K109204fb8b8c456ef42a9dcefa3864a9ed70c5cdbec35730cc936ecf2092ad2706::server:1c5ea4f88d61afc87c72fd9837e2223f INSTALL_K3S_EXEC='--docker' ./k3s-install.sh
  • #在master节点查看node节点是否加入成功
kubectl get node -o wide
  • #master节点更改node节点身份为worker
kubectl label node k3s-node1 node-role.kubernetes.io/worker=worker
  • #查看是否更改成功
kubectl get node -o wide

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • DockerToolBox文件挂载的实现代码

    DockerToolBox文件挂载的实现代码

    这篇文章主要介绍了DockerToolBox文件挂载的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 绑定Dokcer容器到主机指定网卡的方法

    绑定Dokcer容器到主机指定网卡的方法

    这篇文章主要介绍了绑定 Dokcer 容器到主机指定网卡的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Dockerfile基础分享

    Dockerfile基础分享

    在Docker中,构建一个自定义镜像共有两种方法,一是通过commit指令构建,二是通过Dockerfile文件构建。今天我们主要来详细探讨下Dockerfile的一些基础。
    2017-01-01
  • docker-compose如何单独更新某个服务

    docker-compose如何单独更新某个服务

    这篇文章主要介绍了docker-compose如何单独更新某个服务问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 如何解决docker logs无法实时输出脚本打印的内容

    如何解决docker logs无法实时输出脚本打印的内容

    这篇文章主要介绍了如何解决docker logs无法实时输出脚本打印的内容问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Docker容器的网络管理和网络隔离的实现

    Docker容器的网络管理和网络隔离的实现

    这篇文章主要介绍了Docker容器的网络管理和网络隔离的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Docker搭建NetBox的实现示例

    Docker搭建NetBox的实现示例

    NetBox是一个开源的数据中心基础设施管理和IP地址管理平台,本文主要介绍了Docker搭建NetBox的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • docker imageid 和 digest区别解析

    docker imageid 和 digest区别解析

    在Docker中,image ID和digest是两个不同的标识符,用于唯一标识和引用Docker镜像的不同方面,这篇文章主要介绍了docker imageid 和 digest区别,需要的朋友可以参考下
    2023-06-06
  • 查看Docker容器的信息的方法实现

    查看Docker容器的信息的方法实现

    对于运行在Docker环境的容器,有时我们想查询它们的一些基本信息,本文主要介绍了查看Docker容器的信息的方法实现,文中根据实例编码详细介绍的十分详尽,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Centos-docker文件迁移的解决办法

    Centos-docker文件迁移的解决办法

    Docker镜像默认存放在系统的根目录下,可能会导致根目录空间不足或其他风险,为了避免这些问题,可以将Docker镜像的存储位置更改到其他磁盘,本文介绍Centos-docker文件迁移的解决办法,感兴趣的朋友跟随小编一起看看吧
    2024-09-09

最新评论