关于云原生:当-Rainbond-遇上龙蜥小龙带你玩转一站式云原生点击开启

7次阅读

共计 3490 个字符,预计需要花费 9 分钟才能阅读完成。

Rainbond 是一个云原生利用治理平台,应用简略,不须要懂容器、Kubernetes 和底层简单技术,反对治理多个 Kubernetes 集群,和治理企业应用全生命周期。次要性能包含利用开发环境、利用市场、微服务架构、利用交付、利用运维、利用级多云治理等。

龙蜥云原生套件 Anolis Cloud Native Suite(ACNS)是由龙蜥社区云原生 SIG(Special Interest Group)推出的基于 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 大数据镜像数据集群内散发的场景等。

部署 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-669bb7c74b-7bmlf 为 Running 状态时,示意 Rainbond 装置胜利。

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

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

最初

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

  • 基础设施:Anolis OS 是龙蜥社区推出的齐全开源、中立、凋谢的发行版,它反对多计算架构,也面向云端场景优化,兼容 CentOS 软件生态。
  • 容器层:龙蜥 ACNS 提供了通过大规模生产验证的 ACK-D 集群,同时也提供了 Kata、Dragonfly、Nydus。
  • 应用层:Rainbond 是一个云原生利用治理平台,应用简略,不须要懂容器、Kubernetes 和底层简单技术。

—— 完 ——

正文完
 0