当前位置: 首页 > news >正文

【信创-k8s】银河麒麟V10国防版+鲲鹏/飞腾(arm64架构)在线/离线部署k8s1.30+kubesphere

银河麒麟作为国家核高基专项的重要成果,国防版凭借其卓越的安全性和可靠性,已成为军工领域的首选操作系统。之前我们在适配麒麟V4国防版的过程中已发现诸多安全性要求,而麒麟V10国防版在安全防护等级上又达到了更高的级别。

本文将主要演示离线部署,因为军工项目基本不会出现联网场景。即使在线,也可以按离线方式部署,且离线部署由于有私有仓库,不会存在镜像获取不到和丢失情况。

环境涉及软件版本信息

  • 服务器芯片: 鲲鹏920/飞腾2500(arm64)
  • 操作系统:银河麒麟V10国防版
  • Containerd: 1.7.13
  • Kubernetes:v1.30.12
  • KubeSphere:v3.4.1
  • KubeKey: v3.1.10(二开版)
  • Docker: 24.0.9
  • DockerCompose: v2.26.1
  • Harbor: v2.7.1
  • Prometheus: v2.51.2

1.说明

作者使用k8skubesphere过程中已适配芯片和操作系统如下:

  • CPU芯片:
    • 鲲鹏
    • 飞腾
    • 海光
    • 兆芯
    • 国际芯片:interl、amd等
  • 操作系统
    • 银河麒麟V10
    • 麒麟国防版
    • 麒麟信安
    • 中标麒麟V7
    • 统信 UOS
    • 华为欧拉 openEuler、移动大云
    • 阿里龙蜥 Anolis OS
    • 腾讯 TencentOS
    • 国际操作系统:centos、ubuntu、debian等

本文由 [编码如写诗-天行1st] 原创编写,有任何问题可联系我 [sd_zdhr] 获取帮助。

关于我:

  • 主要从事后端开发,兼具前端、运维及全栈工程师,热爱GolangDockerkubernetesKubeSphere
  • 信创服务器k8s&KubeSphere布道者、KubeSphere离线部署布道者

关于kt

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

2 离线部署准备

2.1 将安装包拷贝至离线环境

将下载的 kt、制品 artifact 、脚本文件等介质拷贝至master1主节点

2.2 初始化操作系统

所有节点,上传kt_arm.tar.gz 解压后执行./kt init-os。已适配操作系统和架构见1.说明
在这里插入图片描述

2.3 修改配置文件

主要修改相关节点和harbor信息

vi config-sample.yaml
kind: Cluster
metadata:name: sample
spec:hosts:- {name: node1, address: 192.168.0.45, internalAddress: 192.168.0.45, user: root, password: "123456",arch: "arm64"}roleGroups:etcd:- node1control-plane:- node1worker:- node1registry:- node1controlPlaneEndpoint:## Internal loadbalancer for apiservers # internalLoadbalancer: haproxydomain: lb.kubesphere.localaddress: ""port: 6443kubernetes:version: v1.30.12clusterName: cluster.localautoRenewCerts: truecontainerManager: dockeretcd:type: kubekeynetwork:plugin: flannelkubePodsCIDR: 10.233.64.0/18kubeServiceCIDR: 10.233.0.0/18## multus support. https://github.com/k8snetworkplumbingwg/multus-cnimultusCNI:enabled: falseregistry:type: harborregistryMirrors: []insecureRegistries: []privateRegistry: "dockerhub.kubekey.local"namespaceOverride: "kubesphereio"auths: # if docker add by `docker login`, if containerd append to `/etc/containerd/config.toml`"dockerhub.kubekey.local":username: "admin"password: Harbor@123 # 此处可自定义,kk3.1.8新特性skipTLSVerify: true # Allow contacting registries over HTTPS with failed TLS verification.plainHTTP: false # Allow contacting registries over HTTP.certsPath: "/etc/docker/certs.d/dockerhub.kubekey.local"addons: []---

2.4 创建镜像仓库

./kt init registry -f config-sample.yaml -a artifact-arm-k8s13012-ks413.tar.gz

可以看到使用了arm64版本的harbor

2.5 创建harbor项目

说明:

Harbor 管理员账号:admin,密码:Harbor@123。密码同步使用配置文件中的对应password

harbor 安装文件在 <font style="background-color:rgb(255,245,235);">/opt/harbor</font> 目录下,可在该目录下对 harbor 进行运维。

vi create_project_harbor.sh
#!/usr/bin/env bashurl="https://dockerhub.kubekey.local"  # 或修改为实际镜像仓库地址
user="admin"
passwd="Harbor@123"harbor_projects=(kskubespherekubesphereiogjing1st
)for project in "${harbor_projects[@]}"; doecho "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
创建 Harbor 项目
chmod +x create_project_harbor.sh./create_project_harbor.sh
验证

2.6 上传ks3.4.1相关镜像

tar zxf ks3.4.1-images.tar.gz
cd ks3.4.1-images && ./load-push.sh

3 安装Kubernetes +KubeSphere

执行以下命令创建 Kubernetes 集群:

./kt create cluster -f config-sample.yaml -a artifact-arm-k8s13012-ks413.tar.gz  --with-local-storage

等待大概两分钟左右看到k8s安装完成,开始安装ks

期间可以通过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 查看安装进度

4 验证

登录页面

初次登录需要换密码,如果不想换也可以继续填写P@88w0rd,不过建议更换

首页

节点:

监控

集群信息

http://www.lryc.cn/news/574315.html

相关文章:

  • fiddler+安卓模拟器,解决无网络、抓不到https问题
  • 网络安全之某cms的漏洞分析
  • 阿里云Elasticsearch生产环境误删数据恢复指南
  • 将RESP.app的备份数据转码成AnotherRedisDesktopManager的格式
  • 越南数学家吴宝珠恶搞式证明朗兰兹纲领
  • 基于SpringBoot + Vue 的网上拍卖系统
  • ESXi 8 相较于 ESXi 7 升级
  • 【C++】哈希表的实现(链地址法)
  • Linux切换中文输入法
  • SpringCloud系列(32)--使用Hystrix进行全局服务降级
  • STM32对接霍尔传感器
  • Vibe Coding - 使用cursor从PRD到TASK精准分解执行
  • 第十六届蓝桥杯C/C++程序设计研究生组国赛 国二
  • Vue按键事件
  • ​​根系杂种优势的分子解码:SPE基因互补与进化可塑性的协同效应​​
  • 电路图识图基础知识-塔式起重机控制电路识图与操作要点(三十五)
  • TestCafe 全解析:免费开源的 E2E 测试解决方案实战指南
  • libwebsockets编译
  • 优化提示词的常用技巧
  • 使用AI开发招聘网站(100天AI编程实验)
  • Matplotlib数据可视化入门:从基础图表到多图展示
  • 【AI 测试】测试用例设计:人工智能语言大模型性能测试用例设计
  • MySQL 慢查询日志与 Binlog 启用与故障排查实录
  • 全链接神经网络,CNN,RNN各自擅长解决什么问题
  • HarmonyOS应用开发——层叠布局
  • Deepoc大模型重构核工业智能基座:混合增强架构与安全增强决策技术​
  • MM-AttacKG:一种使用大型语言模型构建攻击图的多模态方法
  • pyhton基础【15】函数进阶一
  • Robyn高性能Web框架系列04:事件、中间件与错误处理
  • 前端跨域解决方案(7):Node中间件