news 2026/7/3 5:11:51

ArgoCD从内网的GitLab Repo部署应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ArgoCD从内网的GitLab Repo部署应用

K8s Cluster

我有一个3节点的k8s集群: 一个maste,2个node

❯ kubectl cluster-info Kubernetes control plane is running at https://192.168.1.101:6443 CoreDNS is running at https://192.168.1.101:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. ❯ kubectl get no NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane 25d v1.36.0 k8s-worker1 Ready <none> 25d v1.36.0 k8s-worker2 Ready <none> 25d v1.36.0

ArgoCD

ArgoCD 已经部署到K8S集群里面了

❯ argocd version argocd: v3.4.3+1801122 BuildDate: 2026-05-28T12:02:57Z GitCommit: 1801122b4391cad4961301f787006dc9a88c2dd3 GitTreeState: clean GoVersion: go1.26.0 Compiler: gc Platform: linux/amd64 argocd-server: v3.4.3

ArgoCD Web UI:
https://192.168.1.101:31157/

准备 repo

创建 GitLab repo

Git repo name:argocd-demo-gl

Repo GitLab URLhttp://192.168.1.4:8080/yahoon/argocd-demo-gl

Set the repo topublic

Clone to local dir:

❯ git clone ssh://git@192.168.1.4:2222/yahoon/argocd-demo-gl.git Cloning into 'argocd-demo-gl'...

填充git repo内容

目录结构如下

❯ tree . . ├── container-image │ └── argocd-demo │ ├── Containerfile │ ├── index.html │ └── README.md ├── k8s-apps │ └── argocd-demo │ ├── deployment.yaml │ └── service.yaml └── README.md

内容说明

  • container-image: 放image, 我用argocd-demo-gl做名字
    • 主要效果是http/80 显示html 内容Hello, This is Yahoon's ArgoCD Demo from Local GitLab!
  • k8s-apps: 在k8s上部署的resource,主要是serviceargocd-demo-go

Git提交 & push

你可以访问所有代码在这个仓库: https://github.com/yahoon/argocd-demo-gl

准备 image repo

在Quay上创建 public repo: https://quay.io/repository/yahoon/argocd-demo-gl

准备image

我用argocd-demo-gl做名字

❯ cd container-image/argocd-demo/ ❯ podman build -t quay.io/yahoon/argocd-demo-gl:v1 .

本地测试image

❯ podman run --rm -d -P quay.io/yahoon/argocd-demo-gl:v1 ❯ podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 226a6d5f6589 quay.io/yahoon/argocd-demo-gl:v1 nginx -g daemon o... 2 seconds ago Up 2 seconds 0.0.0.0:44137->80/tcp intelligent_banzai ❯ curl localhost:44137 Hello, This is Yahoon's ArgoCD Demof rom Local GitLab!

推送image

❯ podman login -u='yahoon' -p='yahoon-quay-password' quay.io ❯ podman push quay.io/yahoon/argocd-demo-gl:v1

在ArgoCD UI 上部署app

Create app

Login Argo UI: https://192.168.1.101:31157/

点击+ NEW APP,填写:

General 区

  • Application Name:argocd-demo-gl
  • Project:default
  • Sync Policy:Manual
    Sync Options 区(点开折叠)
    • 勾选Auto-Create Namespace

Source 区

  • Repository URL:http://192.168.1.4:8080/yahoon/argocd-demo-gl.git
  • Revision:HEAD
  • Path:k8s-apps/argocd-demo

Destination 区

  • Cluster URL: 下拉选择in-cluster (https://kubernetes.default.svc)
  • Namespace:argocd-ademo-gl

点击右上角CREATE

Sync app

点开app页面,点sync, 等一会就成功了

在CLI下面查看:

❯ oc get app -n argocd NAME SYNC STATUS HEALTH STATUS argocd-demo-gl Synced Healthy ❯ oc get all -n argocd-demo-gl NAME READY STATUS RESTARTS AGE pod/argocd-demo-79d888c774-4mwpx 1/1 Running 0 7s pod/argocd-demo-79d888c774-6fshr 1/1 Running 0 7s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/argocd-demo-gl ClusterIP 10.109.8.250 <none> 80/TCP 7s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/argocd-demo 2/2 2 2 7s NAME DESIRED CURRENT READY AGE replicaset.apps/argocd-demo-79d888c774 2 2 2 7s

Test the app

❯ ❯ kubectl run curl-test -n argocd-demo-gl --rm -it --image=quay.io/curl/curl --restart=Never -- \ curl http://argocd-demo-gl.argocd-demo-gl.svc.cluster.local // 应该返回 "Hello, This is Yahoon's ArgoCD Demo"。

端口转发

❯ kubectl port-forward -n argocd-demo-gl svc/argocd-demo-gl 8081:80

BASH 复制 全屏

在web browser 里访问 http://localhost:8081/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 5:11:12

信创深水区,企业即时通讯如何走出替代陷阱

信创深水区&#xff0c;企业即时通讯如何走出“替代陷阱” 当信创从党政机关向金融、能源、电信等八大行业全面铺开&#xff0c;企业即时通讯&#xff08;IM&#xff09;的选型逻辑正在被彻底改写。过去&#xff0c;许多组织将“替换微信/钉钉”等同于完成国产化任务&#xff0…

作者头像 李华
网站建设 2026/7/3 5:10:03

领导给我一台麒麟V10:你去用 nginx 部署一个前端项目

第一步&#xff1a;安装 nginx 1. 确定系统信息 用root用户执行nkvers命令查看系统信息&#xff1a; ############## Kylin Linux Version ################# Release: Kylin Linux Advanced Server release V10 (Sword)Kernel: 4.19.90-24.4.v2101.ky10.aarch64Build: Kyli…

作者头像 李华
网站建设 2026/7/3 5:07:12

VBA 宏编辑

体且垂直居中&#xff0c;区域内容为微软雅黑不加粗10号字体且垂直居中。Sub 一键处理JKLM()Dim ws As WorksheetSet ws ActiveSheetDim lastRowB As Long, lastRowC As LongDim lastRowD As Long, lastRowE As LonglastRowB ws.Cells(ws.Rows.Count, "B").End(xlU…

作者头像 李华
网站建设 2026/7/3 5:05:01

生成式引擎GEO优化老师姜泽服装吊牌厂家GEO优化周期

生成式引擎GEO优化老师姜泽服装吊牌厂家GEO优化周期 我不知道什么是生成式引擎GEO优化&#xff1f;平时看到这种名词解释&#xff0c;喜欢看词典或百科。深耕服装吊牌23行业&从事百度SEO优化16年&#xff0c;服装吊牌印刷厂家生成式引擎GEO优化多久出效果&#xff1f;我愿意…

作者头像 李华
网站建设 2026/7/3 5:04:21

多端同步· 万人群组· 独立部署,就选海王IM*

多端同步 万人群组 独立部署&#xff0c;就选海王IM 在数字化沟通需求不断提升的今天&#xff0c;一套稳定、安全、高效的即时通讯系统&#xff0c;已经成为企业、团队和平台运营的重要基础。海王IM即时通讯系统&#xff0c;专注于为客户提供私有化部署、定制开发与多端同步通讯…

作者头像 李华
网站建设 2026/7/3 5:03:16

GO 数据库内容导出到Excel表格

1.导出列表 func exportTaskList(c *gin.Context) {u : user.GetCookie(c)Data, err : handleData(c)if err ! nil {c.JSON(http.StatusInternalServerError, err.Error())return}warehouseId, _ : Data["warehouse_id"].(string)if ok, err : order.GetWareHouseEmp…

作者头像 李华