关于 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 更加紧密的合作,提供给用户最佳的一站式云原生体验。

一站式云原生体验|龙蜥云原生ACNS + Rainbond的更多相关文章

  1. 持续优化云原生体验,阿里云在Serverless容器与多云上的探索

    近日,阿里云宣布推出Serverless Kubernetes服务此举意在降低容器技术的使用门槛.简化容器平台运维.并同时发布阿里云服务对Open Service Broker API标准支持,通过一 ...

  2. 微信小程序(七)-项目实例(原生框架 MINA转云开发)==02-云开发-配置

    云开发:1.就是用云函数的型式来使用云存储和云数据库完成各种操作!     2.只关注调什么函数,完成什么功能即可,无需关心HTTP请求哪一套!     3.此模式不代表没有服务器,只是部署在云环境中 ...

  3. 阿里云资深DBA专家罗龙九:云数据库十大经典案例分析【转载】

    阿里云资深DBA专家罗龙九:云数据库十大经典案例分析 2016-07-21 06:33 本文已获阿里云授权发布,转载具体要求见文末 摘要:本文根据阿里云资深DBA专家罗龙九在首届阿里巴巴在线峰会的&l ...

  4. 【阿里云产品公测】云引擎ACE初体验

    作者:阿里云用户蓝色之鹰 :RYYjmG5;  来投票支持我把=i2]qj\  序号2. [阿里云产品公测]云引擎ACE初体验:作者:蓝色之鹰 e(OKE7  序号10.[阿里云产品公测]结构化数据服 ...

  5. UPYUN云服务体验计划,阅读神器Kindle、LaCie移动硬盘、索尼大法充电宝、高大上极路由、UPYUN代金券等你拿!

    请看以下的“通关攻略”,分享你对云服务的“体验心得”,即可赢取绝佳的“通关宝藏”,阅读神器Kindle.LaCie移动硬盘.索尼大法充电宝.高大上极路由.UPYUN代金券等你拿!先来了解下UPYUN能 ...

  6. 菜鸟学IT之python词云初体验

    作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2822 1. 下载一长篇中文小说. 2. 从文件读取待分析文本. txt = ...

  7. 融云技术分享:融云安卓端IM产品的网络链路保活技术实践

    本文来自融云技术团队原创分享,原文发布于“ 融云全球互联网通信云”公众号,原题<IM 即时通讯之链路保活>,即时通讯网收录时有部分改动. 1.引言 众所周知,IM 即时通讯是一项对即时性要 ...

  8. LiveVideoStackCon2021 北京站专访:从上云到创新,视频云的新技术、新场景

    伴随着视频技术的进步和标准的迭代,视频产业从模拟进入到数字时代,完成了从电影电视到互联网的媒介转换,并且衍生出了超高清.3D.AR/VR 等多种创新形态.特别是在后疫情的当下,我们可以看到音视频技术领 ...

  9. 万物智联,腾讯云 IoT 边缘计算揭秘——云+未来峰会开发者专场回顾

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 背景:现在是万物互联的时代,智能穿戴设备,智能家居,无人商业,改变了我们的生活方式.预计到2021年,全球物联网设数将达到150亿,超过手机 ...

  10. 不服跑个分:ARM鲲鹏云服务器实战评测——华为云鲲鹏KC1实例 vs. 阿里云G5实例【华为云技术分享】

    原文链接:https://m.ithome.com/html/444828.htm 今年一月份,华为正式发布了鲲鹏920数据中心高性能处理器,该处理器兼容ARM架构,采用7纳米制造,最高支持64核,主 ...

随机推荐

  1. Vue学习之--------深入理解Vuex之getters、mapState、mapGetters(2022/9/3)

    这一篇博客的内容是在上一篇博客的基础上进行:深入理解Vuex.原理详解.实战应用 @ 目录 1.getters的使用 1.1 概念 1.2 用法 1.3 如何读取数据 2.getters在项目中的实际 ...

  2. 一个电器工厂可以生产多种类型的电器,如海尔工厂可以生产海尔电视机、海尔空调等,TCL工厂可以生产TCL电视机,TCL空调等,相同品牌的电器构成一个产品族,而相同类型的电器构成了一个产品等级结构,现使用

    一个电器工厂可以生产多种类型的电器,如海尔工厂可以生产海尔电视机.海尔空调等,TCL工厂可以生产TCL电视机,TCL空调等,相同品牌的电器构成一个产品族,而相同类型的电器构成了一个产品等级结构,现使用 ...

  3. python基础之if条件控制语句

    前言 本文主要介绍控制流程中的if条件语句,包括if...:if...else...:if...elif...elif...else...:if...if...if...else...:if嵌套等.内 ...

  4. 沁恒CH32V003F4P6 开发板上手报告和Win10环境配置

    CH32V003 沁恒最近推出的低价CH32V003系列, 基于青稞RISC-V2A内核, 48MHz主频, 2KB SRAM, 16KB Flash, 工作电压兼容3.3V和5V. 主要参数如下 S ...

  5. 浅入浅出 1.7和1.8的 HashMap

    前言 HashMap 是我们最最最常用的东西了,它就是我们在大学中学习数据结构的时候,学到的哈希表这种数据结构.面试中,HashMap 的问题也是常客,现在卷到必须答出来了,是必须会的知识. 我在学习 ...

  6. c++ 模板 指针类型偏特化

    一步步来,先简单点. 目标:我们要实现一个模板类,例化后,可以通过get_val获取到值,通过get_ptr获取到指针.具体什么意思结合例子来看看吧. 例子: struct A{ int data; ...

  7. 独立按键控制led灯

    #include "regx51.h"typedef unsigned int u16; void delay_us(u16 time){ while(time--){} }voi ...

  8. elasticsearch聚合之bucket terms聚合

    目录 1. 背景 2. 前置条件 2.1 创建索引 2.2 准备数据 3. 各种聚合 3.1 统计人数最多的2个省 3.1.1 dsl 3.1.2 运行结果 3.2 统计人数最少的2个省 3.2.1 ...

  9. php变量规范命名用了记得消除,保证唯一性

    PHP中的命名规则 类的命名  在为类(class )命名前首先要知道它是什么.如果通过类名的提供的线索,还是想不起这个类是什么的话,那么就说明设计存在问题. 超过三个词组成的混合名是容易造成系统各个 ...

  10. 基于python的数学建模---洛伦兹线与数值解

    import numpy as np from scipy.integrate import odeint from mpl_toolkits.mplot3d import Axes3D import ...