首页 > 其他分享 >一站式云原生体验|龙蜥云原生ACNS + Rainbond

一站式云原生体验|龙蜥云原生ACNS + Rainbond

时间:2023-01-09 14:34:20浏览次数:61  
标签:原生 sealer containerd Rainbond 集群 蜥云 ACNS

关于 ACNS

龙蜥云原生套件 OpenAnolis Cloud Native Suite(ACNS)是由龙蜥社区云原生 SIG 推出的基于 Kubernetes 发行版本为基础而集成的套件能力,可以提供一键式部署,开箱即用,以及丰富的云原生基础能力,主要包括:

  • Kubernetes 基于 ACK-D , 作为开源的发行版以及 ACK 的下游,ACK-D 经过大规模的生产的验证,保证了组件的稳定性、可靠性;同时在网络插件上支持 Calico、Hybirdnet,可同时支持网络的 Overlay 与 Underlay,除了 Overlay 满足容器网络的同时,可以部署成 Underlay 模式是使得 POD IP 直接被外部访问,同时提供比较好的性能;存储插件上支持本地存储 Open-Local、利用 LVM 提供了灵活的本地磁盘能力,以及共享存储 Minio。
  • Runtime 同时支持 runC、runD 和 Kata,以及 runE (未来版本),满足各种对共享、隔离以及安全场景下使用。
  • 镜像管理上提供了开箱即用的 Nydus + Dragonfly,使用 Nydus 可以在集群内部使镜像按需加载,可以大大提高集群的动态弹性的能力;Dragonfly 则是提供镜像在集群的 P2P 的能力,这两个能力主要面向 Kubernetes 集群提供 Serverless服务,以及动态弹性的场景,AI大数据镜像数据集群内分发的场景等。

关于 Rainbond

Rainbond 是一个云原生应用管理平台,使用简单,不需要懂容器、Kubernetes和底层复杂技术,支持管理多个Kubernetes集群,和管理企业应用全生命周期。

ACNS 与 Rainbond 结合

龙蜥云原生套件 ACNS提供一键部署集群的能力,Rainbond 提供一键部署应用的能力,Rainbond 与龙蜥云原生套件 ACNS 结合提供一站式的云原生体验:

  • 基础设施:Anolis OS 是 OpenAnolis 社区推出的完全开源、中立、开放的发行版,它支持多计算架构,也面向云端场景优化,兼容 CentOS 软件生态。
  • 容器层:龙蜥 ACNS 提供了经过大规模生产验证的 ACK-D 集群,同时也提供了 Kata 安全运行时、Dragonfly 文件分发、Nydus 镜像加速。
  • 应用层:Rainbond 提供了应用开发、应用市场、微服务架构、应用交付、应用运维等开箱即用的能力。

部署 ACNS 与 Rainbond

服务器信息:

操作系统 IP
Anolis OS 8.6 ANCK 172.31.98.243
Anolis OS 8.6 ANCK 172.31.98.242

部署龙蜥 ACNS

在任意节点上下载 sealer 可执行文件

wget -c https://cloud-native.oss-cn-shanghai.aliyuncs.com/bin/amd64/sealer-latest-linux-amd64.tar.gz && tar -xvf sealer-latest-linux-amd64.tar.gz -C /usr/bin

使用 sealer 下载集群镜像

sealer pull cloud-native-registry.cn-shanghai.cr.aliyuncs.com/kubernetes/anoliscluster:v1.0

定义 Clusterfile 文件,Clusterfile 用于定义集群相关信息,例如:节点IP、参数等,通过 Clusterfile 一键式部署集群。

$ vim Clusterfile

apiVersion: sealer.cloud/v2
kind: Cluster
metadata:
  name: my-cluster								# 自定义集群名称
spec:
  image: cloud-native-registry.cn-shanghai.cr.aliyuncs.com/kubernetes/anoliscluster:v1.0
  env:
    - ContainerRuntime=containerd # 使用 containerd 运行时
    - SkipPreflight=true
    - SupportKata=true						# 使用 Kata 容器
    - SupportNydus=true						# 使用 Nydus
    - SupportDragonfly=true				# 使用 Dragonfly
    - YodaDevice=/dev/vdb					# Node 节点未使用的磁盘,用于 Dragonfly 存储数据
  ssh:
    passwd: xxxx									# 节点 root ssh 密码
  hosts:
    - ips: [ 172.31.98.243 ]			# master IPS
      roles: [ master ]
    - ips: [ 172.31.98.242 ]			# node IPS
      roles: [ node ]

开始部署 ACNS

sealer apply -f Clusterfile

配置 Dragonfly

等待部署完成后,在 Node 节点上配置 Containerd 使用 Dragonfly,在 Containerd 中配置镜像的 Mirror,如下:

$ vim /etc/containerd/config.toml

[plugins."io.containerd.grpc.v1.cri".registry]
  [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
      endpoint = ["http://127.0.0.1:65001","https://registry-1.docker.io"]
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."sea.hub:5000"]
      endpoint = ["http://127.0.0.1:65001","https://sea.hub:5000"]
      [plugins."io.containerd.grpc.v1.cri".registry.configs."sea.hub:5000".tls]
        insecure_skip_verify = true

配置完成后重启 Containerd 生效。

systemctl restart containerd

在 ACNS 上部署 Rainbond

修改集群的 Coredns 配置,让 sea.hub 私有镜像仓库可在集群中使用

$ kubectl edit cm coredns -n kube-system

apiVersion: v1
data:
  Corefile: |
    .:53 {
        hosts {
          172.31.98.243 sea.hub
          fallthrough
        }
    }

# 重启 Coredns POD
$ kubectl delete pod -l k8s-app=kube-dns -n kube-system

使用 Helm 部署 Rainbond

创建 rbd-system 命名空间

kubectl create namespace rbd-system

添加 Rainbond Helm 仓库

helm repo add rainbond https://openchart.goodrain.com/goodrain/rainbond

执行 Helm 命令安装 Rainbond 并指定镜像仓库信息,复用 sealer 的 registry

helm install rainbond rainbond/rainbond-cluster -n rbd-system \
--set Cluster.imageHub.enable=true \
--set Cluster.imageHub.domain=sea.hub:5000 \
--set Cluster.imageHub.namespace=rainbond \
--set Cluster.imageHub.username=sealer \
--set Cluster.imageHub.password=sealer

当名称包含 rbd-app-ui 的 POD 为 Running 状态时即安装成功。POD rbd-app-ui-xxxx-xx 为 Running 状态时,表示 Rainbond 安装成功。

复制如下命令,在集群中执行,可以获取到平台访问地址。如果有多个网关节点,则任意一个地址均可访问到控制台。

kubectl get rainbondcluster rainbondcluster -n rbd-system -o go-template --template='{{range.spec.gatewayIngressIPs}}{{.}}:7070{{printf "\n"}}{{end}}'

最后

在未来,Rainbond 会与龙蜥云原生 ACNS 更加紧密的合作,提供给用户最佳的一站式云原生体验。

标签:原生,sealer,containerd,Rainbond,集群,蜥云,ACNS
From: https://www.cnblogs.com/rainbond/p/17036952.html

相关文章

  • 让开源和标准成为云原生的确定性力量
    图片来源:预见2023·吴晓波年终秀纵观过去几年云原生技术的发展历程,开放、标准的开源生态对云原生技术持续演进起到极大推动作用。开源生态带来了众多云原生领域技术创......
  • 年终盘点一 | 云原生的 2022 年:降本提效、全面 Serverless 化
    作者:阿里云云原生团队受访嘉宾:阿里云智能云原生应用平台负责人:丁宇阿里云智能容器服务负责人:易立阿里云智能云原生应用平台产品负责人:李国强阿里云智能中间件技术负责人:胡伟......
  • 云原生人才培养计划2.0 之 消息产品「全家桶训练营」重磅来袭
    2021年8月,阿里云联合Linux基金会发布云原生人才培养计划2.0,协同开源生态力量,为云原生领域提供更具专业性的定向人才培养方式,帮助云原生时代的开发者更好地享受云红利,创造......
  • 年终盘点一 | 云原生的 2022 年:降本提效、全面 Serverless 化
    作者:阿里云云原生团队受访嘉宾:阿里云智能云原生应用平台负责人:丁宇阿里云智能容器服务负责人:易立阿里云智能云原生应用平台产品负责人:李国强阿里云智能中间件技术负......
  • 【云原生】Ceph 在 k8s中应用
    目录一、概述二、CephRook介绍三、通过Rook在k8s中部署Ceph1)下载部署包2)部署RookOperator3)创建RookCeph集群4)部署RookCeph工具5)部署CephDashboard6)检查6)通过ceph......
  • 云原生 微服务架构
    微服务架构 云原生架构 ......
  • PHP 原生EXCEL传入数据库
    1.下载PHPExcel-1.8下载地址:https://codeload.github.com/PHPOffice/PHPExcel/zip/1.8   2.前端页面-通过form表单提交必须设置enctype="multipart/form-data"......
  • js原生xhr请求XMLHttpRequest
    创建一个请求实例,发送请求varxhr=newXMLHttpRequest();xhr.open('GET','test.php');xhr.send();监控XMLHttpRequest对象的状态变化xhr.onreadystatechange=......
  • 原生js常用操作
    元素#创建一个元素document.createElement("a")#附加到父元素的最后pararentEle.appendChild(childEle);#查找document.getElementById("aa")document.querySel......
  • 【微信小程序】小程序原生代码生成海报[转]
    官方文档https://github.com/Kujiale-Mobile/Painter  目录结构(亲测有效) 海报【微信小程序】小程序原生代码生成海报==>https://blog.csdn.net/weixin_422321......