关于 ACNS

龙蜥云原生套件 OpenAnolis Cloud Native Suite(ACNS)是由龙蜥社区云原生 SIG 推出的根据 Kubernetes 发行版本为根底而集成的套件才能,能够供给一键式布置,开箱即用,以及丰富的云原生根底才能,首要包括:

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

  • 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 结合

龙蜥云原生套件 ACNS供给一键布置集群的才能,Rainbond 供给一键布置运用的才能,Rainbond 与龙蜥云原生套件 ACNS 结合供给一站式的云原生体会:

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

一站式云原生体验|龙蜥云原生ACNS + 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 更加严密的协作,供给给用户最佳的一站式云原生体会。