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官方文档

相关推荐
IT_陈寒7 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
流浪克拉玛依8 小时前
Go Web 服务限流器实战:从原理到压测验证 --使用 Gin 框架 + Uber Ratelimit / 官方限流器,并通过 Vegeta 进行性能剖析
后端
孟沐8 小时前
保姆级教程:手写三层架构 vs MyBatis-Plus
后端
星浩AI8 小时前
让模型自己写 Skills——从素材到自动生成工作流
人工智能·后端·agent
华仔啊10 小时前
为啥不用 MP 的 saveOrUpdateBatch?MySQL 一条 SQL 批量增改才是最优解
java·后端
武子康11 小时前
大数据-242 离线数仓 - DataX 实战:MySQL 全量/增量导入 HDFS + Hive 分区(离线数仓 ODS
大数据·后端·apache hive
砍材农夫11 小时前
TCP和UDP区别
后端
千寻girling12 小时前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
千寻girling12 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法
贾铭12 小时前
如何实现一个网页版的剪映(三)使用fabric.js绘制时间轴
前端·后端