找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1583

积分

0

好友

228

主题
发表于 5 天前 | 查看: 18| 回复: 0

近期,KubeSphere 社区版重新开放,尽管此前的文档与项目变动曾引发社区讨论,但作为曾经的原厂工程师,我依然认可其产品价值。鉴于目前手头缺少用于学习的 Kubernetes 环境,本文将演示如何使用 Kubekey 工具快速初始化一个集群并安装 KubeSphere。

01 准备工作

1.1 环境准备

在云环境中准备三台虚拟机,具体配置如下:

序号 OS ip role
1 ubuntu 2204 172.20.200.5 master
2 ubuntu 2204 172.20.200.6 node01
3 ubuntu 2204 172.20.200.7 node02
1.2 软件包准备

下载 Kubekey 安装工具:

export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | sh -
1.3 节点准备

在所有节点上安装必要的依赖软件包:

sudo apt install socat conntrack ebtables ipset -y
1.4 持久化存储

考虑到个人学习环境的资源限制,将使用 KubeSphere 默认集成的 OpenEBS LocalPV 存储类。

1.5 镜像仓库

使用已有的 Harbor 私有镜像仓库,地址为 172.20.100.253(用户名:admin,密码:Harbor12345)。

1.6 文档参考

本次安装主要参考当前最新的 KubeSphere 社区版在线安装文档:
https://docs.kubesphere.com.cn/v4.1.3/03-installation-and-upgrade/02-install-kubesphere/01-online-install-kubernetes-and-kubesphere/

02 安装部署

2.1 初始化 Kubernetes 集群
  1. 定义集群配置文件 config.yaml
    此配置文件定义了集群节点、角色、网络及仓库等核心信息,是 Kubekey 这一云原生部署工具执行的关键依据。

    apiVersion: kubekey.kubesphere.io/v1alpha2
    kind: Cluster
    metadata:
      name: sample
    spec:
      hosts:
      - {name: master1, address: 172.20.100.5, internalAddress: 172.20.100.5, user: root}
      - {name: node1,   address: 172.20.100.6, internalAddress: 172.20.100.6, user: root}
      - {name: node2,   address: 172.20.100.7, internalAddress: 172.20.100.7, user: root}
      roleGroups:
        etcd:
        - master1
        control-plane:
        - master1
        worker:
        - node1
        - node2
      controlPlaneEndpoint:
        domain: lb.kubesphere.local
        address: ""
        port: 6443
      kubernetes:
        version: v1.23.17
        clusterName: cluster.local
        autoRenewCerts: true
        containerManager: docker
      etcd:
        type: kubekey
      network:
        plugin: calico
        kubePodsCIDR: 10.233.64.0/18
        kubeServiceCIDR: 10.233.0.0/18
      registry:
        type: harbor
        privateRegistry: "dockerhub.kubekey.local/kse"
        auths:
          "dockerhub.kubekey.local":
            skipTLSVerify: true
            plainHTTP: true
            username: admin
            password: Harbor12345
  2. 执行集群初始化命令

    ./kk create cluster --with-local-storage --with-packages --container-manager containerd -f config-sample.yaml -a ./kubekey-artifact.tar.gz

    注意:如果 Harbor 仓库中已存在所需镜像,可以添加 --skip-pull-images 参数以跳过拉取镜像的步骤。更多参数请使用 -h 查看。

  3. 验证 Kubernetes 集群状态
    执行以下命令,确认所有节点状态均为 Ready

    kubectl get node

    预期输出类似:

    NAME      STATUS   ROLES                  AGE   VERSION
    master1   Ready    control-plane,master   79s   v1.23.17
    node1     Ready    worker                 54s   v1.23.17
    node2     Ready    worker                 54s   v1.23.17
2.2 安装 KubeSphere Core (ks-core)

使用 Helm 安装 KubeSphere 核心组件,并指定从私有仓库拉取镜像。

helm upgrade --install -n kubesphere-system --create-namespace ks-core charts/ks-core \
--debug \
--wait \
--set global.imageRegistry=dockerhub.kubekey.local/kse \
--set extension.imageRegistry=dockerhub.kubekey.local/kse

安装完成后,命令行会给出访问提示,包括控制台地址和默认管理员账号密码。

2.3 登录验证

访问 http://172.20.100.5:30880,使用默认用户名 admin 和密码 P@88w0rd 登录。
KubeSphere控制台登录界面
至此,KubeSphere 已成功安装,可用于后续的 Docker容器环境 学习与实验。

03 Kuboard 安装(可选)

虽然 KubeSphere 功能强大,但在为客户进行演示时,个人认为 Kuboard 的界面更为直观。我们可以在已有的 Harbor 服务器上快速部署 Kuboard。

  1. 定义 docker-compose.yaml 文件

    configs:
      create_db_sql:
        content: |
          CREATE DATABASE kuboard DEFAULT CHARACTER SET = 'utf8mb4' DEFAULT COLLATE = 'utf8mb4_unicode_ci';
          create user 'kuboard'@'%' identified by 'kuboardpwd';
          grant all privileges on kuboard.* to 'kuboard'@'%';
          FLUSH PRIVILEGES;
    services:
      db:
        image: swr.cn-east-2.myhuaweicloud.com/kuboard/mariadb:11.3.2-jammy
        environment:
          MARIADB_ROOT_PASSWORD: kuboardpwd
          MYSQL_ROOT_PASSWORD: kuboardpwd
          TZ: Asia/Shanghai
        volumes:
          - ./kuboard-mariadb-data:/var/lib/mysql:Z
        configs:
          - source: create_db_sql
            target: /docker-entrypoint-initdb.d/create_db.sql
        networks:
          kuboard_v4_dev:
            aliases:
              - db
      kuboard:
        image: swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v4
        environment:
          - DB_DRIVER=org.mariadb.jdbc.Driver
          - DB_URL=jdbc:mariadb://db:3306/kuboard?serverTimezone=Asia/Shanghai
          - DB_USERNAME=kuboard
          - DB_PASSWORD=kuboardpwd
        ports:
          - "8000:80"
        depends_on:
          - db
        networks:
          kuboard_v4_dev:
            aliases:
              - kuboard
    networks:
      kuboard_v4_dev:
        driver: bridge
  2. 启动服务

    docker-compose up -d
  3. 登录与集群导入

    • 访问 URL: http://172.20.100.253:8000/login
    • 用户名: admin
    • 密码: Kuboard123
      登录后,可在 Web 界面通过图形化操作导入刚才创建的 Kubernetes 集群。
      Kuboard集群管理界面



上一篇:C# .NET Core面向对象编程全解:从三大特性到企业级实战应用
下一篇:深入理解Netty心跳机制:原理、实现与生产环境配置策略
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 19:22 , Processed in 0.270481 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表