External Secrets Operator 开发环境搭建与使用指南

【免费下载链接】external-secrets External Secrets Operator reads information from a third-party service like AWS Secrets Manager and automatically injects the values as Kubernetes Secrets. 【免费下载链接】external-secrets 项目地址: https://gitcode.com/GitHub_Trending/ex/external-secrets

前言

External Secrets Operator 是一个 Kubernetes 控制器,用于将外部密钥管理系统(如 AWS Secrets Manager、HashiCorp Vault 等)中的密钥自动同步到 Kubernetes Secrets 中。本文将详细介绍如何搭建开发环境、构建测试以及本地运行 External Secrets Operator。

开发环境准备

基础环境要求

  1. Go 开发环境:需要安装 Go 1.16 或更高版本
  2. Git:用于代码版本控制
  3. Make:项目使用 Makefile 作为构建系统
  4. Docker:用于构建容器镜像

获取源代码

git clone https://github.com/external-secrets/external-secrets.git
cd external-secrets

辅助工具安装

项目使用以下工具进行开发和测试:

  1. yq:YAML 处理工具,版本要求 4.2X.X 或更高
  2. helm-unittest:Helm 图表单元测试插件

安装 helm-unittest:

helm plugin install https://github.com/helm-unittest/helm-unittest

构建与测试

基本构建命令

项目使用 Makefile 作为构建系统,包含代码生成、测试和静态代码分析等功能。

构建操作符二进制文件和 Docker 镜像:

make build
make docker.build IMAGE_NAME=external-secrets IMAGE_TAG=latest

测试与代码检查

运行单元测试:

make test

代码静态分析:

make lint

或者使用 Docker 运行 lint:

docker run --rm -v $(pwd):/app -w /app golangci/golangci-lint:v1.49.0 golangci-lint run

文档构建

构建项目文档:

make docs

使用 Tilt 进行开发

Tilt 是一个 Kubernetes 开发工具,可以实现代码热重载,非常适合开发 External Secrets Operator。

Tilt 使用步骤

  1. 下载并安装 Tilt
  2. 运行以下命令启动开发环境:
make tilt-up

这个命令会:

  • 下载适合当前系统的 Tilt 二进制文件
  • 生成当前变更的清单文件
  • 启动 Tilt

在 Tilt UI 中,可以实时观察 Pod 启动状态和日志输出。

安装与运行

使用 Helm 安装

在生产环境或测试集群中安装 External Secrets Operator:

helm repo add external-secrets https://charts.external-secrets.io
helm repo update
helm install external-secrets external-secrets/external-secrets

本地开发运行

对于开发目的,可以在主机系统上直接运行控制器:

make crds.install
make run

卸载 CRDs:

make crds.uninstall

使用 KinD 进行集成测试

  1. 创建本地 Kubernetes 集群:
kind create cluster --name external-secrets
  1. 构建并加载 Docker 镜像:
export TAG=$(make docker.tag)
export IMAGE=$(make docker.imagename)
make docker.build
kind load docker-image $IMAGE:$TAG --name external-secrets
  1. 更新 Helm 图表并安装到 KinD 集群:
make helm.generate
helm upgrade --install external-secrets ./deploy/charts/external-secrets/ \
--set image.repository=$IMAGE --set image.tag=$TAG \
--set webhook.image.repository=$IMAGE --set webhook.image.tag=$TAG \
--set certController.image.repository=$IMAGE --set certController.image.tag=$TAG

文档开发

项目使用 mkdocs material 和 mike 生成文档。

本地预览文档

启动实时预览服务器:

make docs.serve

访问 http://localhost:8000 查看文档。

完整构建文档

make docs

构建后的文档位于 /site 目录下。

总结

本文详细介绍了 External Secrets Operator 的开发环境搭建、构建测试流程以及本地运行方法。通过使用 Tilt 和 KinD 等工具,开发者可以高效地进行本地开发和集成测试。文档系统支持实时预览,方便开发者编写和维护项目文档。

【免费下载链接】external-secrets External Secrets Operator reads information from a third-party service like AWS Secrets Manager and automatically injects the values as Kubernetes Secrets. 【免费下载链接】external-secrets 项目地址: https://gitcode.com/GitHub_Trending/ex/external-secrets

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐