乐趣区

关于云计算:三步搞定-ARM64-离线部署-Kubernetes-KubeSphere

背景

随着我国对信息安全的愈发器重,国产化的趋势也越来越浓,包含国产操作系统、国产 CPU 等。因为 ARM 架构国产 CPU 在维持翻新可信和先进性方面的潜在劣势,其利用也将会越来越宽泛。

KubeSphere 作为一款深受国内外开发者所青睐的开源容器平台,也将积极参与并摸索在 ARM 架构下的利用与翻新。本文将次要介绍如何在 ARM64 环境下部署 Kubernetes 和 KubeSphere。

环境筹备

节点

kubeSphere 反对的操作系统包含:

  • Ubuntu 16.04, 18.04
  • Debian Buster, Stretch
  • CentOS/RHEL 7
  • SUSE Linux Enterprise Server 15
  • openEuler

这里以一台 openEuler 20.09 64bit 为例:

name ip role
node1 172.169.102.249 etcd, master, worker

确保机器曾经装置所需依赖软件(sudo curl openssl ebtables socat ipset conntrack docker)

具体环境要求参见:https://github.com/kubesphere…

对于多节点装置请参考 KubeSphere 官网文档。

倡议:可将装置了所有依赖软件的操作系统制作成零碎镜像应用,防止每台机器都装置依赖软件,即可晋升交付部署效率,又可防止依赖问题的产生。

提醒:如应用 centos7.x、ubuntu18.04,则能够抉择应用 kk 命令对机器进行初始化。
解压安装包,并创立好配置文件之后(创立办法请看下文),可执行如下命令对节点进行初始化:
./kk init os -s ./dependencies -f config-example.yaml
如应用该命令遇到依赖问题,可自行装置相干依赖软件。

镜像仓库

可应用 harbor 或其余第三方镜像仓库。

提醒:可应用 kk 命令主动创立测试用自签名镜像仓库。留神,请确保以后机器存在 registry:2,如没有,可从解压包 kubesphere-images-v3.0.0/registry.tar 中导入,导入命令:docker load < registry.tar
创立测试用自签名镜像仓库:
./kk init os -f config-example.yaml --add-images-repo
留神:由 kk 启动的镜像仓库端口为 443,请确保所有机器均可拜访以后机器 443 端口。镜像数据存储到本地 /mnt/registry (倡议独自挂盘)。

安装包下载:

提醒:该安装包仅蕴含 Kubernetes + KubeSphere-core 镜像,如需更多组件 arm64 镜像,可自行编译构建。

# md5: 3ad57823faf2dfe945e2fe3dcfd4ace9
curl -Ok https://kubesphere-installer.pek3b.qingstor.com/offline/v3.0.0/kubesphere-core-v3.0.0-offline-linux-arm64.tar.gz

装置步骤:

1. 创立集群配置文件

安装包解压后进入kubesphere-core-v3.0.0-offline-linux-arm64

./kk create config

依据理论环境信息批改生成的配置文件config-sample.yaml,也可应用 - f 参数自定义配置文件门路。kk 具体用法可参考:https://github.com/kubesphere…

留神填写正确的公有仓库地址privateRegistry(如已筹备好公有仓库可设置为已有仓库地址,若应用 kk 创立公有仓库,则该参数设置为:dockerhub.kubekey.local)

apiVersion: kubekey.kubesphere.io/v1alpha1
kind: Cluster
metadata:
  name: sample
spec:
  hosts:
  # 留神指定节点 arch 为 arm64
  - {name: node1, address: 172.169.102.249, internalAddress: 172.169.102.249, password: Qcloud@123, arch: arm64}
  roleGroups:
    etcd:
    - node1
    master:
    - node1
    worker:
    - node1
  controlPlaneEndpoint:
    domain: lb.kubesphere.local
    address: ""
    port: 6443
  kubernetes:
    version: v1.17.9
    imageRepo: kubesphere
    clusterName: cluster.local
  network:
    plugin: calico
    kubePodsCIDR: 10.233.64.0/18
    kubeServiceCIDR: 10.233.0.0/18
  registry:
    registryMirrors: []
    insecureRegistries: []
    privateRegistry: dockerhub.kubekey.local
  addons: []

2. 导入镜像

进入 kubesphere-all-v3.0.0-offline-linux-arm64/kubesphere-images-v3.0.0
应用 offline-installation-tool.sh 将镜像导入之前筹备的仓库中:

# 脚本后镜像仓库地址请填写实在仓库地址
./offline-installation-tool.sh -l images-list-v3.0.0.txt -d kubesphere-images -r dockerhub.kubekey.local

3. 执行装置

# 以上筹备工作实现且再次查看配置文件无误后,执行装置。./kk create cluster -f config-sample.yaml --with-kubesphere

查看后果

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

退出移动版