【信创】与X86体验对齐!Arm64麒麟V10系统K8s多机一键离线部署

在上一篇文章中详细介绍了鲲鹏+麒麟v10离线安装k8s+kubesphere的过程。很多小伙伴表现出了兴趣,向我获取离线包和安装脚本。其中有小伙伴表示有多台机器,手动操作起来略显繁琐,希望能够实现一键部署。基于此,我在之前修改kk:的基础上进一步修改kk以支持arm版harbor。同时将麒麟V10操作系统依赖包制作为ISO,并将镜像打包至制品中,实现与X86制品相同效果。

相比上一篇的优势

  • 修改kk源码:支持arm架构harbor
  • 麒麟v10.ISO:将kylin-V10操作系统依赖打包为ISO,以支持kk自动多台机器安装操作系统依赖。后续会将中标麒麟,龙蜥等一起制作。
  • 制品:将k8s+kubesphere所有镜像和依赖一起打包为制品
  • 制作环境:修改后的kk,支持在x86机器一键制作arm架构离线制品。比如直接在windows制作。
  • 节省步骤:去除其他自定义脚本,完全对标x86离线制品和离线安装步骤
  • 在线环境也可用:而且由于制品中包含核心镜像,安装会更快。

接下来演示部署过程

**实战服务器配置 **

三台机器皆为16核32G,用途如下:

<font style="color:rgb(66, 75, 93);">主机名</font> <font style="color:rgb(66, 75, 93);">IP</font> <font style="color:rgb(66, 75, 93);">CPU</font> <font style="color:rgb(66, 75, 93);">OS</font> <font style="color:rgb(66, 75, 93);">用途</font>
<font style="color:rgb(66, 75, 93);">node-1</font> <font style="color:rgb(66, 75, 93);">192.168.101.19</font> <font style="color:rgb(66, 75, 93);">Kunpeng-920</font> <font style="color:rgb(66, 75, 93);">Kylin V10 SP2</font> <font style="color:rgb(66, 75, 93);">master&worker</font>
<font style="color:rgb(66, 75, 93);">node-2</font> <font style="color:rgb(66, 75, 93);">192.168.101.64</font> <font style="color:rgb(66, 75, 93);">Kunpeng-920</font> <font style="color:rgb(66, 75, 93);">Kylin V10 SP2</font> <font style="color:rgb(66, 75, 93);">master&worker</font>
<font style="color:rgb(66, 75, 93);">node-3</font> <font style="color:rgb(66, 75, 93);">192.168.101.140</font> <font style="color:rgb(66, 75, 93);">Kunpeng-920</font> <font style="color:rgb(66, 75, 93);">Kylin V10 SP2</font> <font style="color:rgb(66, 75, 93);">master&worker&harbor</font>

环境涉及软件版本信息与上一篇一致,此处不再罗列。其他版本都可制作

将安装包拷贝至离线环境

将修改后的 KubeKey 、制品 artifact 拷贝至离线环境安装节点。

离线安装集群

离线集群配置文件

./kk create config --with-kubesphere v3.4.1 --with-kubernetes v1.23.17 -f config-sample.yaml

按实际情况修改配置:

安装Harbor镜像仓库

使用kk命令初始化仓库

./kk init registry -f config-sample.yaml -a ks3.4.1-artifact-harbor-images-arm64.tar.gz

可以看到kk使用正在处理arm64版本harbor

等待几分钟可以看到arm版harbor安装成功的消息

验证

切换至node3节点查看docker ps

使用node3外网ip访问web。可以看到helm插件也安装成功

创建harbor中的项目

vim create_project_harbor.sh
#!/usr/bin/env bash
   
url="https://dockerhub.kubekey.local"  #修改url的值为https://dockerhub.kubekey.local
user="admin"
passwd="Harbor12345"
   
harbor_projects=(
    kubesphereio
    kubesphere
)
   
for project in "${harbor_projects[@]}"; do
    echo "creating $project"
    curl -u "${user}:${passwd}" -X POST -H "Content-Type: application/json" "${url}/api/v2.0/projects" -d "{ \"project_name\": \"${project}\", \"public\": true}" -k #curl命令末尾加上 -k
done

脚本授权后,执行脚本创建 ./create_project_harbor.sh

安装集群

执行以下命令安装 KubeSphere 集群:

./kk create cluster -f config-sample.yaml -a ks3.4.1-artifact-harbor-images-arm64.tar.gz --with-packages

可以看到node2node都没有操作系统依赖(node1测试单节点时已安装依赖)

其他节点依赖安装成功:

等待一段时间看到成功日志:

验证

浏览器访问任意机器IP+31688

  • 首页
  • 概览
  • 节点情况
  • 节点信息
  • 集群状态(监控)
  • 系统组件

这里安装了监控和日志

关于制品离线包

上述修改后的kk、麒麟V10操作系统依赖ISO和一键部署自动化脚本不再免费提供,若需要可联系作者付费获取。

若有需求也可参考之前文章自己制作。

本文由博客一文多发平台 OpenWrite 发布!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容