【信創(chuàng)-k8s】銀河麒麟V10國防版+鯤鵬/飛騰(arm64架構(gòu))在線/離線部署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.说明
作者使用k8s
和kubesphere
过程中已适配芯片和操作系统如下:
- CPU芯片:
- 鲲鹏
- 飞腾
- 海光
- 兆芯
- 国际芯片:interl、amd等
- 操作系统
- 银河麒麟V10
- 麒麟国防版
- 麒麟信安
- 中标麒麟V7
- 统信 UOS
- 华为欧拉 openEuler、移动大云
- 阿里龙蜥 Anolis OS
- 腾讯 TencentOS
- 国际操作系统:centos、ubuntu、debian等
本文由 [编码如写诗-天行1st] 原创编写,有任何问题可联系我 [sd_zdhr] 获取帮助。
关于我:
- 主要从事后端开发,兼具前端、运维及全栈工程师,热爱
Golang
、Docker
、kubernetes
、KubeSphere
。 - 信创服务器
k8s
&KubeSphere
布道者、KubeSphere
离线部署布道者
关于kt
kt
是基于kk
二次开发的产物,具备kk
的所有功能,二开主要为适配信创国产化环境、简化arm
部署过程和国产化环境离线部署。支持arm64
和amd64
架构国产操作系统,已适配芯片+操作系统 如上。
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:
- node1
control-plane:
- node1
worker:
- node1
registry:
- node1
controlPlaneEndpoint:
## Internal loadbalancer for apiservers
# internalLoadbalancer: haproxy
domain: lb.kubesphere.local
address: ""
port: 6443
kubernetes:
version: v1.30.12
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
registry:
type: harbor
registryMirrors: []
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 bash
url="https://dockerhub.kubekey.local" # 或修改为实际镜像仓库地址
user="admin"
passwd="Harbor@123"
harbor_projects=(
ks
kubesphere
kubesphereio
gjing1st
)
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
创建 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
,不过建议更换
首页
节点:
监控
集群信息
本文由博客一文多发平台 OpenWrite 发布!
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章