银河麒麟作为国家核高基专项的重要成果,国防版凭借其卓越的安全性和可靠性,已成为军工领域的首选操作系统。之前我们在适配麒麟V4国防版的过程中已发现诸多安全性要求,而麒麟V10国防版在安全防护等级上又达到了更高的级别。
本文将主要演示离线部署,因为军工项目基本不会出现联网场景。即使在线,也可以按离线方式部署,且离线部署由于有私有仓库,不会存在镜像获取不到和丢失情况。
环境涉及软件版本信息
作者使用k8s
和kubesphere
过程中已适配芯片和操作系统如下:
本文由 [编码如写诗-天行1st] 原创编写,有任何问题可添加作者微信 [sd_zdhr] 获取帮助。
关于我:
Golang
、Docker
、kubernetes
、KubeSphere
。k8s
&KubeSphere
布道者、KubeSphere
离线部署布道者编码如写诗
,作者:天行1st
,微信:sd_zdhr
kt
是基于kk
二次开发的产物,具备kk
的所有功能,二开主要为适配信创国产化环境、简化arm
部署过程和国产化环境离线部署。支持arm64
和amd64
架构国产操作系统,已适配芯片+操作系统 如上。
将下载的 kt、制品 artifact 、脚本文件等介质拷贝至master1主节点。安装包联系我获取
所有节点,上传kt_arm.tar.gz[1]解压后执行./kt init-os
。已适配操作系统和架构见1.说明
主要修改相关节点和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: []
---
./kt init registry -f config-sample.yaml -a artifact-arm-k8s13012-ks413.tar.gz
可以看到使用了arm64
版本的harbor
说明:
Harbor 管理员账号:admin,密码:Harbor@123。密码同步使用配置文件中的对应password
harbor 安装文件在 /opt/harbor
目录下,可在该目录下对 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
chmod +x create_project_harbor.sh
./create_project_harbor.sh
tar zxf ks3.4.1-images.tar.gz
cd ks3.4.1-images && ./load-push.sh
执行以下命令创建 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
查看安装进度
登录页面
初次登录需要换密码,如果不想换也可以继续填写P@88w0rd
,不过建议更换
首页
节点:
监控
集群信息
引用链接
[1]kt: https://pan.xunlei.com/s/VOSqd-kKxnREGZDVk1b5UYmLA1?pwd=vsui#
。