当前位置: 首页 > news >正文

Harness 教程 01:平台介绍与环境搭建(国内网络环境落地版)

如果你正在做 DevOps 或平台工程,大概率已经听说过 Harness。

简单来说,Harness 是一个面向云原生时代的端到端交付平台,涵盖 CI、CD、Feature Flags、混沌工程、Cloud Cost Management、安全合规(SSCA)、内部开发者门户(IDP)等能力。

它的想法很有意思:用 AI 和智能化的方式,把过去需要手动配置的部署变成可审计、可治理、可重复的流程。

但问题也很现实——Harness 的中文资料非常少,官方文档虽然齐全,但信息分散,缺乏一条清晰的学习路径。对于刚接触的团队来说,从哪开始、重点在哪、如何落地,都让人头疼。

所以,我花了些时间,整理了这么一套教程。


这套教程是给谁的

如果你符合以下任一角色,这套教程应该对你有用:

  • DevOps 工程师

    :你需要设计 CI/CD 流水线,管理多环境部署,让发布更稳更快

  • SRE

    :可观测性、自动化恢复、回滚策略、混沌工程是你日常关注的

  • 平台工程师

    :你在搭建内部开发者平台,让开发团队能自助式交付

  • 技术管理者

    :你关心标准化、治理合规、成本控制、团队协作效率

如果你是刚接触 Harness 的新手,按顺序从第一篇读下去就行。如果你已经在使用,可以直接跳到感兴趣的专题。


一、为什么国内环境不能直接照搬国外教程?

很多 Harness 官方或海外教程默认使用:

  • GitHub

  • DockerHub

  • npm 官方源

  • 公网 Kubernetes

  • 公网制品仓库

但在国内企业落地时,这些链路经常会遇到访问慢、连接失败、镜像拉取失败、构建超时、企业防火墙限制、内网 Git 无法被 SaaS 直接访问等问题。

所以本文采用国内落地基线:

国外默认

国内替代方案

GitHub

GitLab / Gitee / 内网代码仓库

DockerHub

Harbor / 阿里云 ACR / 腾讯云 TCR / 华为云 SWR

npm 官方源

npmmirror

公网部署

国内 K8s / 企业内网 K8s

明文密码

Harness Secret

直接访问内网

Harness Delegate 代理访问

Harness 的关键组件是 Delegate。官方文档中,Harness Delegate 被定义为运行在本地网络或 VPC 中的服务,用来把制品、基础设施、协作工具、验证工具和其他第三方系统连接到 Harness Manager,Delegate 会执行部署和集成等操作。


二、本文最终架构

国内环境推荐采用下面这种架构:

code复制

开发人员   │   ├── GitLab / Gitee   │   ├── Harbor / 国内云镜像仓库   │   └── Kubernetes 集群         │         └── Harness Delegate               │ 出站 HTTPS/WSS               ▼         Harness SaaS

重点是:

  • Harness SaaS

     负责编排、可视化、审计、流水线配置

  • Delegate

     负责访问企业内网 Git、Harbor、Kubernetes、云厂商 API

官方文档说明,Delegate 与 Harness Manager 之间通过出站 HTTPS/WSS 连接通信;同时 Harness 建议把 Delegate 安装在防火墙之后,并确保它能访问制品服务器、部署环境和云平台等目标资源。


三、核心概念快速入门

1. Harness SaaS

Harness SaaS 是你登录的 Web 控制台,主要负责:

  • 创建项目

  • 创建流水线

  • 管理环境

  • 管理连接器

  • 管理密钥

  • 查看执行日志

  • 审批发布

  • 审计发布记录

国内企业如果允许访问 SaaS,可以直接使用 Harness SaaS。如果是政务、强内网、完全离线环境,则需要评估 Harness Self-Managed 或离线部署方案。Harness Delegate Helm 安装文档中也提到,Self-Managed Enterprise Edition 的 air-gapped 环境需要额外处理证书和离线安装要求。


2. Delegate

Delegate 是部署在你自己网络里的执行代理。

它的职责是:

  • 访问内网 GitLab

  • 访问 Harbor

  • 访问 Kubernetes API Server

  • 执行 kubectl / helm / shell

  • 拉取 Manifest

  • 执行部署

  • 回传执行状态

在国内环境中,Delegate 非常重要,因为 Harness SaaS 通常不能直接访问企业内网的 GitLab、Harbor 和 Kubernetes。


3. Connector

Connector 是 Harness 连接外部系统的配置,例如:

  • GitLab Connector

  • Gitee Connector

  • Harbor Connector

  • Kubernetes Cluster Connector

  • 阿里云 Connector

  • 腾讯云 Connector

  • Prometheus Connector

国内落地时,Connector 要尽量选择:

  • Execute on Delegate: true
  • Delegate Selector: cn-k8s-dev

意思是让 Delegate 去访问内网资源,而不是让 Harness SaaS 直接访问。


4. Secret

Secret 用来保存密码、Token、AccessKey、Harbor 机器人账号 Token 等敏感信息。

不要把密码写进 Pipeline YAML 或 Git 仓库。

Harness Connector YAML 示例中,Docker Registry Connector 就是通过 passwordRef 引用 Secret,而不是直接写密码。


5. Pipeline、Stage、Step

Harness 的流水线层级可以这样理解:

code复制

Pipeline:完整流水线   └── Stage:阶段,例如构建、部署、审批         └── Step:具体动作,例如执行脚本、部署 K8s、运行测试

Harness 官方 YAML 文档说明,Pipeline 顶层包含 pipeline,下面包含 nameidentifierprojectIdentifierorgIdentifierstages 等字段;stages 用来定义多个阶段。


四、环境准备

本文建议准备下面这些环境。

1. 基础组件

  • Harness SaaS 账号

  • Kubernetes 集群

  • kubectl

  • Helm 3

  • GitLab / Gitee

  • Harbor / 国内云镜像仓库

  • Node.js 示例项目

2. 国内推荐选型

类型

推荐方案

代码仓库

GitLab CE、GitLab 企业版、Gitee 企业版

镜像仓库

Harbor、阿里云 ACR、腾讯云 TCR、华为云 SWR

Kubernetes

自建 K8s、ACK、TKE、CCE、Rancher 管理集群

npm 源

npmmirror

CI/CD 平台

Harness SaaS + Delegate

生产环境访问方式

Delegate + 企业代理 / 专线 / VPC 内访问

Harbor 官方文档说明,Harbor 文档覆盖安装配置、管理员运维和项目管理等内容,适合作为企业容器镜像仓库使用。

npmmirror 官方说明它是 npmjs 的完整镜像,可以代替官方版本使用,并提供了 npm config set registry https://registry.npmmirror.com 的配置方式。


五、推荐仓库结构

本教程先准备一个最小可用项目,后续 30 篇教程都可以基于这个结构继续扩展。

code复制

harness-demo-app/ ├── README.md ├── .npmrc ├── app/ │   ├── package.json │   └── server.js ├── docker/ │   └── Dockerfile ├── k8s/ │   ├── namespace
http://www.zskr.cn/news/1507992.html

相关文章:

  • ObservableCollection的坑我帮你踩完了:从事件触发原理到Blazor/MAUI跨平台实战避坑指南
  • 从实验室到设计台:如何将AlGaN/GaN HEMT的2DEG解析模型集成进你的EDA工具链
  • 从“隔直通交”到波形转换:一个电容如何让运放变身积分器?保姆级电路分析避坑指南
  • EasyExcel注解避坑指南:@ExcelProperty顺序错乱、@ContentLoopMerge失效?看这篇就够了
  • 水表、燃气表维护福音:实测80K固件差分包仅3K的OTA升级方案选型指南
  • USB PD协议里的四种Reset,到底该怎么用?一个真实调试案例带你搞懂
  • 计算机毕业设计之django校园兼职平台设计
  • 高透水鱼缸滤材有哪些品牌适合长期使用?2026年耐用滤材对比与选购清单 - 观域传媒
  • 2026年聚合氯化铁供应商选择指南:四川本地正规厂家与行业格局分析 - 优质品牌商家
  • 从‘误报警’到‘精准定位’:聊聊DTC状态掩码在车载故障排查中的实战避坑指南
  • EB Garamond 12:开源古典字体与学术引用系统的完美融合指南
  • 从单片机到服务器:聊聊C/C++里“计时”这件事的演变与选择
  • 给硬件工程师的PCIe配置空间Header速查手册:从Device ID到BAR寄存器,一文搞定
  • CFR Java反编译器终极指南:3分钟从字节码到可读源码的快速转换
  • 终极指南:5个技巧掌握CERN开发的Indico活动管理系统 [特殊字符]
  • MPC7451处理器规格深度解析:电压、功耗与热设计实战指南
  • 从数据手册到实际电路:运放Vos和Ibs参数到底怎么用?一个DC误差计算实例讲清楚
  • 2026年高考志愿填报机构怎么选?金榜如愿、蜀志愿、交大典博等5家实力机构深度解析 - 优质品牌商家
  • 告别gpio_tlmm_config:深入解析高通UEFI架构下ABL与XBL的Protocol通信机制
  • MySQL慢SQL瓶颈定位
  • 计算机毕业设计之django协同过滤算法的音乐推荐研究
  • 别再死记公式了!用PyTorch的BatchNorm1d/2d跑个Demo,5分钟搞懂它到底在算啥
  • 从RTP包到多协议流:拆解ZLMediaKit中MultiMediaSourceMuxer的‘万能转换’核心
  • 浙江好用的中铁标准抑尘剂生产厂家推荐2026 - 品牌排行榜
  • 深度解析Roboto字体:全面掌握多语言排版与Unicode支持的实用指南
  • ChromePass:当你忘记密码时,你的浏览器记得
  • 给Linux驱动开发者的PCI配置空间Header实战指南:手把手教你读懂BAR、中断与命令寄存器
  • 广州番禺黄金回收哪家好?金小福24小时上门服务口碑佳 - 花生花生1
  • 别再只弹alert了!用XSS_labs靶场实战,手把手教你挖掘Cookie窃取、钓鱼等真实危害
  • 2026深圳App/软件定制公司怎么选?五大维度避坑指南(附 5 家参考名单)