1.产品属性

昇腾310B上一篇已经介绍,这里不再写。

RK3588 是瑞芯微推出的旗舰级高性能 ARM 处理器,内置 6TOPS 算力的 NPU,适合边缘计算、工业控制和人工智能领域。

CPU和系统信息:

服务器情况

主机名 设备 架构 OS 配置 IP
master1 rk3588 arm64 麒麟V10国防版 8核8G 192.168.37.14
master2 rk3588 arm64 麒麟V10国防版 8核8G 192.168.37.16
master3 rk3588 arm64 麒麟V10国防版 8核8G 192.168.37.18
node1 310B arm64 欧拉22.03 4核12G 192.168.37.12
node2 rk3588 arm64 麒麟V10国防版 8核8G 192.168.37.20
node3 rk3588 arm64 麒麟V10国防版 8核8G 192.168.37.22

2.环境准备

2.1 上传安装包

将离线制品、配置文件、kt和sh脚本等上传至其中一个节点(本文以master为例),后续在该节点操作创建集群。这里我们为追求稳定性选择了k8s 1.23.17版本+ks 4.1.3版本

关于kt

kt是基于kk二次开发的产物,具备kk的所有功能。二开主要为适配信创国产化环境、简化arm部署过程和国产化环境离线部署。支持arm64amd64架构国产操作系统,已适配芯片+操作系统 如下。

kt****新增功能点

  • 适配arm架构harbor和支持,部署体验与X86一样简单。
  • 离线环境部署增强。常用国际和国产操作系统依赖,内置到安装包中。已适配芯片和操作系统如下
    • ./kt init-os -f config-sample.yaml 一条命令完成所有节点操作系统依赖安装和初始化操作。
    • CPU:鲲鹏、飞腾、海光、兆芯、intel、amd等。
    • OS:Centos、Rocky Linux、Ubuntu、Debian、银河麒麟V10、麒麟V11、麒麟国防版、麒麟信安、中标麒麟V7、统信UOS、华为欧拉、移动大云、阿里龙蜥、TencentOS等。

2.2 修改配置文件

修改config-sample.yaml,主要修改节点信息部分(如下hosts和roleGroups部分)

kind: Cluster
metadata:
  name: sample
spec:
  hosts:
  - {name: master1, address: 192.168.137.14, internalAddress: 192.168.137.14, user: root, password: "123123", arch: "arm64"}
  - {name: master2, address: 192.168.137.16, internalAddress: 192.168.137.16, user: root, password: "123123", arch: "arm64"}
  - {name: master3, address: 192.168.137.18, internalAddress: 192.168.137.18, user: root, password: "123123", arch: "arm64"}
  - {name: node1, address: 192.168.137.12, internalAddress: 192.168.137.12, user: root, password: "123123", arch: "arm64"}
  - {name: node2, address: 192.168.137.20, internalAddress: 192.168.137.20, user: root, password: "123123", arch: "arm64"}
  - {name: node3, address: 192.168.137.22, internalAddress: 192.168.137.22, user: root, password: "123123", arch: "arm64"}
  roleGroups:
    etcd:
    - master1
    - master2
    - master3
    control-plane:
    - master1
    - master2
    - master3
    worker:
    - node1
    - node2
    - node3
    # 如需使用 kk 自动部署镜像仓库,请设置该主机组 (建议仓库与集群分离部署,减少相互影响)
    # 如果需要部署 harbor 并且 containerManager 为 containerd 时,由于部署 harbor 依赖 docker,建议单独节点部署 harbor
    registry:
    - master3
  controlPlaneEndpoint:
    ## Internal loadbalancer for apiservers
    internalLoadbalancer: haproxy

    domain: lb.kubesphere.local
    address: ""
    port: 6443
  kubernetes:
    version: v1.23.17
    clusterName: cluster.local
    autoRenewCerts: true
    containerManager: docker
  etcd:
    type: kubekey
  network:
    plugin: flannel
    kubePodsCIDR: 10.233.64.0/18
    kubeServiceCIDR: 10.233.0.0/18
    ## multus support. https://github.com/k8snetworkplumbingwg/multus-cni
    multusCNI:
      enabled: false

2.3 系统初始化

解压kt-arm64.tar.gz文件后执行./kt init-os -f config-sample.yaml

3.创建私有仓库

执行./kt init resigtry -f config-sample.yaml -a artica*

等待一切安装成功后,创建 Harbor 项目

chmod +x create_project_harbor.sh && ./create_project_harbor.sh

注意事项:如果系统提示缺少iptables,则需要安装先安装iptables

4.创建k8s集群

./kt create cluster -f config-sample.yaml -a artifact-arm-k8s12317tar.gz

此命令kt会自动将离线制品中的镜像推送到harbor 私有仓库

执行后会有如下提示,输入yes/y继续执行

等待最后提示安装成功,

注意:由于该麒麟V10国防版是瑞芯微定制版,内核缺少非常多的东西,安装过程会报错。大体如下:

需要安装内核模块,再创建k8s。

最后k8s创建完成,还是会报错,起初nodelocaldns会报错,需要安装dummy模块。

这里还需要修改kube-proxykube-flannel配置。

都修改完成后重启服务,等待一会 。

查看节点状态

kubectl get nodes -owide

可以看到所有节点状态均已 Ready,共有3个管理节点和3个工作节点,其中管理节点也充当工作节点。

查看pod运行情况

kubectl get pod -A -owide

可以看到所有pod已成功运行(ps:以下截图为装完ks和插件的截图)

5.部署KubeSphere

使用helm命令通过私有仓库安装ks

helm upgrade --install -n kubesphere-system --create-namespace ks-core ks-core-1.1.5.tgz \
     --set global.imageRegistry=dockerhub.kubekey.local/ks \
     --set extension.imageRegistry=dockerhub.kubekey.local/ks \
     --set ksExtensionRepository.image.tag=v1.1.6 \
     --debug \
     --wait

等待一会看到成功的消息

6.验证

  • 登录页面

默认用户名为admin默认密码:P@88w0rd

  • 首页

  • 集群管理

安装监控插件

直接从扩展市场安装,这里不再记录具体过程

  • 概览

  • 集群节点

  • 集群状态监控

  • 节点信息

昇腾310B

RK3588

7.总结

本文详细介绍了在瑞芯微RK3588麒麟V10国防版和华为昇腾310B欧拉异构环境下,部署Kubernetes集群和KubeSphere管理平台,并实现资源设备监控。下一步,将实现将实现NPU设备统一调度。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐