HarmonyOS 鸿蒙Next:从安装到配置,教你用Argo CD对接CCE集群完成测试、生产部署
HarmonyOS 鸿蒙Next:从安装到配置,教你用Argo CD对接CCE集群完成测试、生产部署
摘要:
本文使用两个CCE集群模拟测试及生产环境,使用gitlab仓库作为应用部署yaml文件存储仓库,通过Argo CD对接不同CCE集群完成测试、生产环境业务部署。
本文分享自华为云社区《Argo CD对接CCE完成不同测试、生产环境业务部署》,作者: 可以交个朋友。
一 背景说明
- Argo CD是用于Kubernetes的声明性GitOps持续交付工具,遵循GitOps模式,该模式使用Git仓库作为定义所需应用程序状态的真实来源。
- Argo CD可在指定的目标环境中自动部署所需的应用程序状态,应用程序部署可以在Git提交时跟踪对分支,标签的更新,或固定到清单的特定版本。
- 本文档使用两个CCE集群(cce-test-cluster、cce-prod-cluster)模拟测试及生产环境,使用gitlab仓库作为应用部署yaml文件存储仓库,通过Argo CD对接不同CCE集群完成测试、生产环境业务部署。
二 Argo CD安装配置
2.1 ArgoCD部署
Argo CD部署可以参考https://github.com/argoproj/argo-cd/releases/tag/v2.9.3,当前新版本为2.9.3,这里采用Non-HA的方式进行部署演示。
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.9.3/manifests/install.yaml
2.2 Argo CD客户端工具使用
Argo CD提供命令行工具,可以通过命令行客户端添加集群,修改登录密码等操作,安装命令如下:
wget https://github.com/argoproj/argo-cd/releases/download/v2.9.3/argocd-linux-amd64
cp argocd-linux-amd64 /usr/local/bin/argocd
chmod +x /usr/local/bin/argocd
查看版本信息:
登录argo,地址为argo地址,用户名为admin,密码获取如下:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
Argo CD web界面是通过https登录的,通过argocd客户端工具登录和修改初始密码。
argocd login 192.168.1.137:31000 --username admin --password VQME4b7HSdl8REAu
通过以下命令修改admin用户的密码:
argocd account update-password \
--current-password VQME4b7HSdl8REAu \
--new-password Aa123456
2.3 Argo CD添加多集群
多集群管理是通过argo对接不同的k8s集群,然后实现对各个集群上服务的部署和管理。获取到目标集群的config配置信息,根据config配置信息,获取到目标集群的name信息
Argo CD部署在cce-test-prod集群上,可以使用以下命令查看argocd管理的集群
argocd cluster list
可以看到有一个默认的,就是部署argocd所在的集群。这里为了容易区分,重新添加如下集群并设置名称
argocd cluster add internal --kubeconfig /root/.kube/config --name cce-test-cluster
将另一个CCE集群也添加进来,这样就完成了argocd连接多集群的配置。
三 ArgoCD 关联置顶yaml仓库完成不同环境业务部署
3.1 Argo CD登录及配置git仓库
通过用户名admin,密码Aa123456登录argo CD界面
在Settings中添加git仓库信息:
这里通过https方式连接git仓库
配置完成后需要确保git仓库状态是正常连接的
gitlab仓库目录结构如下,通过文件夹区分不同环境:
3.2 业务发布
在Applications页面创建APP(应用),根据页面进行填写填写或者选择,这里先部署业务到cce-test-cluster集群。
Application Name: 自定义的应用名。 Project: 使用默认创建好的 default 项目。 SYNC POLICY: 同步方式,可以选择自动或者手动,这里我们选择手动同步。 Repository URL: 项目的 Git 地址。 Revision: 分支名。 Path: yaml 资源文件所在的相对路径。
创建应用后应用状态为OutOfSync(当已部署应用程序的运行状态偏离目标状态时将被argoCD视为OutOfSync)。
点击sync进行同步
部署成功后应用状态为Healthy
查看cce-test-cluster集群应用部署情况:
用类似的配置方法部署应用到cce-prod-cluster集群:
查看cce-prod-cluster集群应用部署情况:
3.3 跨集群部署业务
- ApplicationSet控制器是一个Kubernetes控制器,它增加了对ApplicationSet CustomResourceDefinition (CRD)的支持。这个控制器/CRD可以实现跨大量集群和单节点管理Argo CD应用程序的自动化和更大的灵活性。从Argo CD v2.3开始,Argo CD集成了ApplicationSet控制器。
- ApplicationSet控制器提供:通过Argo CD使用单个Kubernetes清单来针对多个Kubernetes集群的能力;通过Argo CD使用单个Kubernetes清单从一个或多个Git存储库部署多个应用程序的能力。
- 通过UI界面部署应用时只能选择单个集群,无法进行多集群业务部署。
这里演示部署nginx应用到两个CCE集群,yaml文件如下:
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: my-test
spec:
generators:
- list:
elements:
- cluster: cce-prod
url: https://192.168.1.112:5443
- cluster: cce-test
url: https://192.168.1.132:5443
template:
metadata:
name: '{{cluster}}'
spec:
project: default
source:
repoURL: http://192.168.1.218:32182/devops/argocd.git
targetRevision: main
path: '{{cluster}}'
destination:
server: '{{url}}'
namespace: default
部署应用:
argocd appset create app.yaml
查看应用状态
argocd app list
更多关于HarmonyOS 鸿蒙Next:从安装到配置,教你用Argo CD对接CCE集群完成测试、生产部署的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
不错
更多关于HarmonyOS 鸿蒙Next:从安装到配置,教你用Argo CD对接CCE集群完成测试、生产部署的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对帖子标题“HarmonyOS 鸿蒙Next:从安装到配置,教你用Argo CD对接CCE集群完成测试、生产部署”的问题,以下回答专注于鸿蒙及Argo CD与CCE集群的对接流程,不涉及Java或C语言内容:
在HarmonyOS鸿蒙Next环境中,使用Argo CD对接华为云容器引擎(CCE)集群进行测试、生产部署,主要步骤包括:
-
准备环境:确保HarmonyOS鸿蒙Next系统已安装并配置好必要的网络访问权限。同时,在华为云上创建并配置好CCE集群。
-
安装Argo CD:在鸿蒙系统中,通过命令行或图形界面工具下载并安装Argo CD。安装过程中需指定Argo CD的存储后端及访问CCE集群所需的kubeconfig文件。
-
配置Argo CD:安装完成后,登录Argo CD Web UI,添加新的应用。在添加过程中,指定Git仓库地址(包含Kubernetes资源定义),选择目标CCE集群,并配置同步策略。
-
部署与监控:配置完成后,Argo CD将自动同步Git仓库中的资源定义到CCE集群。通过Argo CD Web UI监控同步状态,确保测试、生产环境中的应用正确部署。
如遇到具体问题,如同步失败、资源创建错误等,可参考Argo CD及CCE的官方文档进行排查。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html