前言
Erda 是一款开源的云原生 PaaS 平台,本系列文章主要实操 Erda 部署以及部分功能的使用测试,主要分为如下几个部分:
准备工作
由于手里资源不多,选用最小化安装 Erda, 所用的机器资源请参考第一章节。
从 Erda 文档中可以看到,有两个前提条件需要准备好:
- docker insecure-registries 放行,这个在第一章节我们安装 docker 的时候已经添加过了。
- 准备网络存储,统一挂载到 /netdata
网络存储
我们先来准备网络存储,这里大家可以自己挂载外部的 nfs 或者 nas 等,这里我直接使用Erda 提供的脚本来做。
从 github 下载 2.0.0 版本的 erda linux 包并解压
wget https://github.com/erda-project/erda/releases/download/v2.0.0/erda-linux.tar.gz && tar -zxvf erda-linux.tar.gz && cd erda-release/erda-helm/scripts
执行脚本,按照提示输入密码,等待完成
sh storage_prepare.sh
添加 Chart 仓库
helm repo add erda https://charts.erda.cloud/erda helm repo update
准备 values
Erda 是通过 helm 安装的,我们这里同样准备一份 values 文件作为安装配置
cat <<EOF > erda-values.yaml global domain erda.viper.run registry custom nodeIP192.168.100.102 nodeName node-192168100102 EOF
参数介绍:
global.domain
: erda 需要提供一个访问的域名,默认是 erda.io,我们修改一下。registry.custom.*
:这里有一个容易忽视的坑,一般情况下我们安装完成,机器是没有办法直接通过 coredns 解析的,我们直接选择一个节点,让 registry 以 hostNetwork 的方式部署。
安装 Erda
准备完成后,接下来我们进行安装操作
tips: 文章写时,erda 是 2.0.0 版本,所以未指定 --version
helm install erda erda/erda -n erda-system --create-namespace-f erda-values.yaml
出现如下提示,代表安装完成
tips: 如果一直卡着,可以开个新 shell 查看一下前置任务是不是失败
等待组件正常后即可
配置 Erda
域名解析
登陆 DNS控制台,我们这里配置两条 A 记录解析到第一章节中 Ingress-Controller 部署到的节点。
erda.viper.run 192.168.100.101 *.erda.viper.run 192.168.100.101
如果没有 DNS 服务器,可以在本地做 hosts 解析,可以参考文档中的几个域名
访问平台
访问配置的域名,发现会强制跳转到 https,这里我们可以更改 ingress-nginx 的配置关闭
kubectl edit cm -n ingress-nginx ingress-nginx-controller
创建企业
登陆到平台后,我们创建一个组织,并进入。
导入集群
在使用 CI/CD 能力前,我们需要导入 Erda 所在的 Kubernetes 集群资源。
这里有如下几个参数需要注意:
- 集群标识:根据文档中介绍,默认是 local-cluster, 如果在 helm 安装时更改过 values, 需要填写该值
- 泛域名:这里我们就直接填写安装时候指定的域名
- 认证方式:这里我们选择 kubeconfig, 可以在集群 master 节点 ~/.kube/config 找到
资源划分
Erda 文档中介绍通过给节点标记不同的标签,从逻辑上隔离环境、隔离资源等。
这里我们来到集群总览,划分三台能力如下
- 192.168.100.101: 开发,测试环境,可构建流水线
- 192.168.100.102: 预发环境,可构建流水线
- 192.168.100.103: 生产环境
此时配置基本完成,在下一章节,会介绍如何利用 Erda 的 CI/CD 能力交付一个应用。
参考链接: