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

相关推荐
独断万古他化3 分钟前
【Java 实战项目】多用户网页版聊天室:消息传输模块 —— 基于 WebSocket 实现实时通信
java·spring boot·后端·websocket·ajax·mybatis
舒一笑8 分钟前
🚀 我用一行命令,把 OSS 私有文件变成“可直接下载的公网链接”(很多人不会)
后端
小兔崽子去哪了20 分钟前
Docker 安装 PostgreSQL
数据库·后端·postgresql
野犬寒鸦24 分钟前
Redis热点key问题解析与实战解决方案(附大厂实际方案讲解)
服务器·数据库·redis·后端·缓存·bootstrap
snakeshe10101 小时前
深入理解 Java 注解:从原理到实战
后端
Lucaju1 小时前
吃透 Spring AI Alibaba 多智能体|四大协同模式+完整代码
后端
Nyarlathotep01131 小时前
Redis的对象(5):有序集合对象
redis·后端
Java水解1 小时前
Spring Boot 消息队列与异步处理
spring boot·后端
桦说编程1 小时前
AI 真的让写代码变快了吗?
后端