目 录CONTENT

文章目录

离线安装 KubeSphere 3.3.2 完整指南

Administrator
2025-10-13 / 0 评论 / 0 点赞 / 14 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2025-10-13,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

离线安装 KubeSphere 3.3.2 完整指南

在企业环境中,出于安全考虑或网络限制,很多生产环境无法直接访问互联网。本文将详细介绍如何在离线环境中使用原生 kubectl 命令安装 KubeSphere 3.3.2,帮助企业用户在无外网访问的环境中部署这一强大的容器管理平台。

场景背景

许多企业在部署容器平台时,出于安全合规要求,生产环境通常处于内网或隔离网络中,无法直接访问外部网络。在这种情况下,需要通过离线安装的方式部署 KubeSphere。本文将介绍如何使用原生 kubectl 命令完成 KubeSphere 3.3.2 的离线安装,并提供实时查看安装日志的方法。

环境准备

系统要求

  • 操作系统:CentOS 7.8/7.9 或 Ubuntu 18.04/20.04
  • Kubernetes 版本:v1.20.x、v1.21.x、v1.22.x、v1.23.x、v1.24.x、v1.25.x 或 v1.26.x
  • 最低硬件配置:CPU > 1 核,内存 > 2 GB
  • 集群中需配置默认存储类型

准备离线安装包

注意:如果您需要完整的离线镜像包,可以联系张师傅获取,微信号:ggttxlss。我们提供 load.sh 脚本用于导入所有涉及的镜像。

安装前请确保已准备好以下文件:

离线环境安装步骤

  1. 将下载的所有文件通过 U 盘或其他介质拷贝到离线环境的服务器上。

  2. 导入镜像到本地镜像仓库:

提示:如果您已从张师傅处获取了完整的离线镜像包,可以使用提供的 load.sh 脚本导入所有涉及的镜像。

  1. (可选)移除 master 节点的污点,允许在 master 节点上部署 Pod:
kubectl taint nodes k8s-master node-role.kubernetes.io/master-
  1. (如果需要网络插件)安装 Calico 网络插件:
kubectl apply -f calico.yaml
  1. 安装 KubeSphere:
# 注意:离线安装时需要检查 kubesphere-installer.yaml 文件中的镜像拉取策略
# 如果 imagePullPolicy 设置为 Always,需要修改为 IfNotPresent
kubectl apply -f kubesphere-installer.yaml
kubectl apply -f cluster-configuration.yaml
  1. 实时查看安装日志:
# 实时查看安装过程日志
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
  1. 访问 KubeSphere 控制台:
# 控制台地址:http://<节点IP>:30880
# 默认账号:admin
# 默认密码:P@88w0rd

重要提示:如果在 cluster-configuration.yaml 中开启了 Redis 高可用模式(enableHA: true),但 redis-ha-server 的副本数为 1,则可能导致登录失败。请确保 Redis 高可用配置正确。

验证安装

安装完成后,可以通过以下方式验证 KubeSphere 是否正常运行:

  1. 检查 Pod 状态:
kubectl get pod -n kubesphere-system
  1. 访问 KubeSphere 控制台:
  • 控制台地址:http://<节点IP>:30880
  • 默认账号:admin
  • 默认密码:P@88w0rd

配置优化

存储配置

为确保 KubeSphere 各组件正常运行,建议配置持久化存储:

spec:
  persistence:
    storageClass: ""  # 如果集群中没有默认 StorageClass,需要在此指定一个现有的 StorageClass

启用可插拔组件

根据实际需求,可以在 cluster-configuration.yaml 中启用相应的可插拔组件:

spec:
  persistence:
    storageClass: ""
  authentication:
    jwtSecret: ""  # 保持与主集群的 jwtSecret 一致
  etcd:
    monitoring: false  # 启用 etcd 监控面板
    endpointIps: localhost  # etcd 集群地址
    port: 2379  # etcd 端口
    tlsEnable: true  # 是否启用 TLS
  common:
    redis:
      enabled: true
      enableHA: false  # 是否启用高可用模式
      volumeSize: 2Gi  # Redis PVC 大小
    openldap:
      enabled: true
      volumeSize: 2Gi  # openldap PVC 大小
    minio:
      volumeSize: 20Gi  # Minio PVC 大小
    monitoring:
      GPUMonitoring:  # 启用 GPU 相关指标监控
        enabled: false
  alerting:  # 启用 KubeSphere 告警系统
    enabled: false
  auditing:  # 启用 KubeSphere 审计日志系统
    enabled: false
  devops:  # 启用 KubeSphere DevOps 系统
    enabled: false
    jenkinsMemoryLim: 8Gi  # Jenkins 内存限制
    jenkinsMemoryReq: 4Gi  # Jenkins 内存请求
    jenkinsVolumeSize: 8Gi  # Jenkins 存储大小
  events:  # 启用 KubeSphere 事件系统
    enabled: false
  logging:  # 启用 KubeSphere 日志系统
    enabled: false
    logsidecar:
      enabled: true
      replicas: 2
  metrics_server:  # 启用 metrics-server,支持 HPA
    enabled: true
  multicluster:  # 多集群配置
    clusterRole: none  # host | member | none
  network:
    networkpolicy:  # 网络策略
      enabled: false
    ippool:  # Pod IP 池
      type: none
    topology:  # 服务拓扑
      type: none
  openpitrix:  # KubeSphere 应用商店
    store:
      enabled: true
  servicemesh:  # KubeSphere 服务网格(基于 Istio)
    enabled: false
  edgeruntime:  # 边缘节点支持
    enabled: false
  gatekeeper:  # Gatekeeper
    enabled: false
  terminal:
    timeout: 600  # 终端超时时间(秒)

故障排除

镜像拉取失败

如果遇到镜像拉取失败的问题,请检查:

  1. 镜像是否已正确导入到私有镜像仓库
  2. cluster-configuration.yaml 中的 privateRegistry 配置是否正确
  3. 网络策略是否允许访问私有镜像仓库

安装卡住

如果安装过程长时间无响应,可以通过以下方式排查:

  1. 检查 ks-installer Pod 日志
  2. 确认 Kubernetes 集群状态正常
  3. 检查存储配置是否正确

总结

通过本文介绍的步骤,可以在完全离线的环境中成功部署 KubeSphere 3.3.2。离线安装虽然步骤较多,但只要按照文档操作,就能顺利完成部署。对于企业用户来说,这种方式能够满足安全合规要求,同时享受 KubeSphere 带来的容器管理便利。

参考文档

  1. KubeSphere 官方文档
  2. KubeSphere GitHub 仓库
  3. KubeKey GitHub 仓库
0

评论区