Rainbond 是一个云原生应用管理平台,使用简单,不需要懂容器、Kubernetes 和底层复杂技术,支持管理多个 Kubernetes 集群,和管理企业应用全生命周期。主要功能包括应用开发环境、应用市场、微服务架构、应用交付、应用运维、应用级多云管理等。
龙蜥云原生套件 Anolis Cloud Native Suite(ACNS)是由龙蜥社区云原生 SIG (Special Interest Group)推出的基于 Kubernetes 发行版本为基础而集成的套件能力,可以提供一键式部署、开箱即用,以及丰富的云原生基础能力,主要包括:
服务器信息:
操作系统 | 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 结合提供一站式的云原生体验:
—— 完 ——
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved