Centos一键离线部署k8s(提供安装包)

前言

KubeKey提供的命令行安装工具的基础上,进一步进行封装。简化k8s离线安装步骤,提升工作效率。

下面你可以根据我提供的安装包资源和命令,很快的完成K8s的安装,免受国内网络环境的干扰。

目前只支持单master节点,一个及以上node节点的部署。若需高可用,建议采用二进制安装。

此次安装的版本情况:

  • docker版本:20.10.8
  • k8s版本:v1.23.10
  • kubesphere版本:v3.3.2

环境准备

角色 IP地址 hostname 配置(最少)
主节点 10.0.0.80 master 2核4G 硬盘40G
普通节点1 10.0.0.81 node1 2核4G 硬盘40G
普通节点2 10.0.0.82 node2 2核4G 硬盘40G
  1. 设置好对应的主机名称hostnamectl set-hostname 主机名称
  2. 确保三台机器的网络可以互通(简单一点可以直接关闭防火墙)
  3. 最好确保机器上之前没有安装docker之类的

安装

  1. 下载安装包install-k8s.tgz,并上传服务器解压

    shell 复制代码
    tar -zxvf install-k8s.tgz && cd install-k8s
  2. 修改集群机器配置文件vi install-config.yaml

    yaml 复制代码
    spec:
      hosts:
      # name为hostname,address、internalAddress为内网IP,user、password为账号密码
      - {name: master, address: 10.0.0.80, internalAddress: 10.0.0.80, user: root, password: "9ol.(OL>"}
      - {name: node1, address: 10.0.0.81, internalAddress: 10.0.0.81, user: root, password: "9ol.(OL>"}
      - {name: node2, address: 10.0.0.82, internalAddress: 10.0.0.82, user: root, password: "9ol.(OL>"}
      roleGroups:
        etcd:
        # 主节点的hostname
        - master
        control-plane:
        # 主节点的hostname
        - master
        worker:
        # 多个普通节点的hostname
        - node1
        - node2
        registry:
          # 主节点的hostname
          - master
  3. 执行下面命令,正式开始安装

    shell 复制代码
    chmod +x ./install.sh && ./install.sh

    注意:安装开始两分钟左右后需要手动输入yes才会继续执行下去,以便完成安装的最后一步。继续等待安装7分钟左右(因机器性能不同,时间也会有所差别),会打印如下的日志,表示安装完成。

验证

根据刚才最后打印的日志,输入账号密码浏览器登录对应的网址

log 复制代码
Console: http://主机外网IP:30880              
Account: admin                                                      
Password: P@88w0rd

通过下面命令来查看哪些pod启动了

YAML 复制代码
kubectl get pod --all-namespaces

通过下面命令查看具体的pod是否拉取成功

YAML 复制代码
kubectl describe pod pod名称 -n 命名空间

可以通过下面命令查看,kubesphere的执行日志

YAML 复制代码
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

参考资料:B站UP教学kubesphere官方文档

相关推荐
掘金者阿豪32 分钟前
数据库迁移工具选了半年,最后发现决策的起点错了
后端
卷无止境36 分钟前
FastAPI查询参数模型:把散落的参数收拢成一个整齐的盒子
后端·python
gis开发之家1 小时前
Spring Boot 4 深度解析——参数接收大全:@RequestParam、@PathVariable、@RequestBody
java·spring boot·后端·spring
NutShell Wang1 小时前
Rust 1.97 实战迁移:v0 符号重整、Cargo 警告治理与位运算新 API
人工智能·后端·性能优化·rust·vibe coding
阑梦清川1 小时前
零成本把笔记转成双人播客:WorkBuddy + 腾讯云 TTS 完整教程
后端
赫媒派1 小时前
Go 1.27 来了:泛型方法补齐,JSON 提速不踩坑
后端·go·敏捷开发
不ok哥男人1 小时前
C# Roslyn 编译器平台实战:源生成器、分析器与代码修补
后端
长栎1 小时前
99% 的人把桥接模式当策略模式用——抽象与实现分离,你做的不是同一件事
后端
长栎1 小时前
你激活了 sharp-skills 一个模块,但你的项目从来不是单点活儿
后端
Lcos1 小时前
Kubernetes Toleration 六种写法详解:从精确匹配到全部放行
后端