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

相关推荐
章豪Mrrey nical1 小时前
前后端分离工作详解Detailed Explanation of Frontend-Backend Separation Work
后端·前端框架·状态模式
派大鑫wink2 小时前
【JAVA学习日志】SpringBoot 参数配置:从基础到实战,解锁灵活配置新姿势
java·spring boot·后端
程序员爱钓鱼2 小时前
Node.js 编程实战:文件读写操作
前端·后端·node.js
xUxIAOrUIII2 小时前
【Spring Boot】控制器Controller方法
java·spring boot·后端
Dolphin_Home3 小时前
从理论到实战:图结构在仓库关联业务中的落地(小白→中级,附完整代码)
java·spring boot·后端·spring cloud·database·广度优先·图搜索算法
zfj3213 小时前
go为什么设计成源码依赖,而不是二进制依赖
开发语言·后端·golang
weixin_462446233 小时前
使用 Go 实现 SSE 流式推送 + 打字机效果(模拟 Coze Chat)
开发语言·后端·golang
JIngJaneIL3 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
小信啊啊4 小时前
Go语言切片slice
开发语言·后端·golang
Victor3565 小时前
Netty(20)如何实现基于Netty的WebSocket服务器?
后端