从零开始,在 Kubernetes 上玩转 Erda(二)

本文涉及的产品
.cn 域名,1个 12个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: 本章节介绍 Erda 的部署以及配置细节

前言

Erda 是一款开源的云原生 PaaS 平台,本系列文章主要实操 Erda 部署以及部分功能的使用测试,主要分为如下几个部分:

  1. 使用 kubeadm 部署 Kubernetes
  2. 通过 helm 部署并配置 Erda (本节)
  3. 利用 Erda CI/CD 能力交付应用


准备工作

由于手里资源不多,选用最小化安装 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:    nodeIP: 192.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 查看一下前置任务是不是失败

image.png

等待组件正常后即可

image.png


配置 Erda

域名解析

登陆 DNS控制台,我们这里配置两条 A 记录解析到第一章节中 Ingress-Controller 部署到的节点。

erda.viper.run     192.168.100.101
*.erda.viper.run   192.168.100.101

image.png


如果没有 DNS 服务器,可以在本地做 hosts 解析,可以参考文档中的几个域名

image.png

访问平台

访问配置的域名,发现会强制跳转到 https,这里我们可以更改 ingress-nginx 的配置关闭

kubectl edit cm -n ingress-nginx ingress-nginx-controller

image.png

image.png

创建企业

登陆到平台后,我们创建一个组织,并进入。

image.png


导入集群

在使用 CI/CD 能力前,我们需要导入 Erda 所在的 Kubernetes 集群资源。


这里有如下几个参数需要注意:

  • 集群标识:根据文档中介绍,默认是 local-cluster, 如果在 helm 安装时更改过 values, 需要填写该值
  • 泛域名:这里我们就直接填写安装时候指定的域名
  • 认证方式:这里我们选择 kubeconfig, 可以在集群 master 节点 ~/.kube/config 找到

image.png

image.png


资源划分

Erda 文档中介绍通过给节点标记不同的标签,从逻辑上隔离环境、隔离资源等。


这里我们来到集群总览,划分三台能力如下

  • 192.168.100.101: 开发,测试环境,可构建流水线
  • 192.168.100.102: 预发环境,可构建流水线
  • 192.168.100.103: 生产环境


image.png



此时配置基本完成,在下一章节,会介绍如何利用 Erda 的 CI/CD 能力交付一个应用。



参考链接:

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
Rust Kubernetes 监控
从零开始,在 Kubernetes 上玩转 Erda(三)
本章节通过 Erda CI/CD 能力进行应用的交付
1046 0
从零开始,在 Kubernetes 上玩转 Erda(三)
|
Kubernetes Cloud Native 应用服务中间件
从零开始,在 Kubernetes 上玩转 Erda(一)
本章节主要介绍了使用 kubeadm 部署 Kubernetes,为部署 Erda 铺路
1652 1
从零开始,在 Kubernetes 上玩转 Erda(一)
|
1天前
|
缓存 容灾 网络协议
ACK One多集群网关:实现高效容灾方案
ACK One多集群网关可以帮助您快速构建同城跨AZ多活容灾系统、混合云同城跨AZ多活容灾系统,以及异地容灾系统。
|
14天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
11天前
|
Kubernetes Ubuntu 网络安全
ubuntu使用kubeadm搭建k8s集群
通过以上步骤,您可以在 Ubuntu 系统上使用 kubeadm 成功搭建一个 Kubernetes 集群。本文详细介绍了从环境准备、安装 Kubernetes 组件、初始化集群到管理和使用集群的完整过程,希望对您有所帮助。在实际应用中,您可以根据具体需求调整配置,进一步优化集群性能和安全性。
52 12
|
16天前
|
Kubernetes 网络协议 应用服务中间件
Kubernetes Ingress:灵活的集群外部网络访问的利器
《Kubernetes Ingress:集群外部访问的利器-打造灵活的集群网络》介绍了如何通过Ingress实现Kubernetes集群的外部访问。前提条件是已拥有Kubernetes集群并安装了kubectl工具。文章详细讲解了Ingress的基本组成(Ingress Controller和资源对象),选择合适的版本,以及具体的安装步骤,如下载配置文件、部署Nginx Ingress Controller等。此外,还提供了常见问题的解决方案,例如镜像下载失败的应对措施。最后,通过部署示例应用展示了Ingress的实际使用方法。
32 2
|
28天前
|
存储 Kubernetes 关系型数据库
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
本文源自2024云栖大会苏雅诗的演讲,探讨了K8s集群业务为何需要灾备及其重要性。文中强调了集群与业务高可用配置对稳定性的重要性,并指出人为误操作等风险,建议实施周期性和特定情况下的灾备措施。针对容器化业务,提出了灾备的新特性与需求,包括工作负载为核心、云资源信息的备份,以及有状态应用的数据保护。介绍了ACK推出的备份中心解决方案,支持命名空间、标签、资源类型等维度的备份,并具备存储卷数据保护功能,能够满足GitOps流程企业的特定需求。此外,还详细描述了备份中心的使用流程、控制台展示、灾备难点及解决方案等内容,展示了备份中心如何有效应对K8s集群资源和存储卷数据的灾备挑战。
|
2月前
|
Kubernetes 监控 Cloud Native
Kubernetes集群的高可用性与伸缩性实践
Kubernetes集群的高可用性与伸缩性实践
83 1
|
3月前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
3月前
|
Kubernetes 持续交付 开发工具
ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理
ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。

热门文章

最新文章