uds-core:云原生系统的安全基石
项目介绍
UDS Core(Unicorn Delivery Service - Core)是一个开源项目,旨在为云原生系统提供一个安全的基础架构。它不仅包含了合规性文档,还提供了一流的对空气隔离(airgap)或出站受限(egress-limited)系统的支持。UDS Core 基于 Platform One 的工作成果,进一步增强了 Big Bang 的安全性能,并通过 UDS Operator 和 UDS Policy Engine 提供了先进的自动化功能。
项目技术分析
UDS Core 结合了多个独立应用程序,并将其打包成一个单一的 Zarf 包。它包含了一系列核心应用程序,如 Authservice、Grafana、Istio、KeyCloak、Loki、Metrics Server、Neuvector、Pepr、Prometheus Stack 和 Vector,以及 Velero 等,这些应用程序共同构成了一个强大的云原生解决方案。
UDS Core 支持多种开发环境和生产环境,对于开发与测试环境,推荐使用 K3D,而对于生产环境,则支持 CNCF 认证的 Kubernetes 集群。此外,UDS CLI 工具的引入,进一步简化了部署过程。
项目及技术应用场景
UDS Core 主要应用于以下场景:
- 安全基础架构:通过内置的安全措施和合规性文档,确保云原生系统的安全性。
- 自动化部署:利用 UDS Operator 和 UDS Policy Engine,实现自动化部署和管理。
- 监控和日志:通过 Grafana、Loki 和 Prometheus Stack 等工具,提供全面的监控和日志聚合功能。
- 身份与访问管理:通过 KeyCloak 等工具,实现强大的身份与访问管理。
- 容器安全:Neuvector 提供了容器安全解决方案,确保容器环境的安全性。
项目特点
UDS Core 具有以下特点:
- 集成性:将多个独立应用程序集成在一个包中,提供了完整的解决方案。
- 安全性:提供了安全的基础架构,以及合规性文档,确保系统的安全性。
- 灵活性:支持多种开发环境和生产环境,适应不同用户的需求。
- 自动化:通过 UDS Operator 和 UDS Policy Engine,实现了自动化部署和管理。
- 易于部署:通过 UDS CLI 工具,简化了部署过程,降低了用户的操作难度。
以下是一个详细的部署和使用 UDS Core 的指南:
快速开始
如果你想要尝试 UDS Core,可以使用 k3d-core-demo 包来创建一个本地 k3d 集群,并安装 UDS Core。运行以下命令:
uds deploy k3d-core-demo:0.44.0
开发环境
除了演示包之外,还有一个 k3d-slim-dev 包,它仅安装了 Istio、Keycloak 和 Pepr。运行以下命令来使用它:
uds deploy k3d-core-slim-dev:0.44.0
开发 UDS Core
UDS Core 的开发依赖于 uds zarf dev deploy
命令。为了方便,提供了一个 UDS Task 来设置开发环境。你需要安装 NodeJS 20 或更高版本。以下是一个开发身份验证层的示例流程:
# 创建开发环境
uds run dev-setup
# 如果开发 Pepr 模块:
npx pepr dev
# 如果不开发 Pepr 模块(可以多次运行):
npx pepr deploy
# 部署层(可以多次运行)
uds run dev-deploy --set LAYER=identity-authorization
测试 UDS Core
你可以通过运行以下命令来执行 UDS Core 的完整测试:
uds run test-uds-core
这将创建一个本地 k3d 集群,安装 UDS Core,并对其运行一系列测试。
UDS Core 的架构概述如下:
UDS Core 为云原生系统提供了一个全面、安全且易于管理的解决方案,适用于各种规模的组织和项目。通过其高度集成的特性,UDS Core 不仅能提高系统的安全性,还能简化运维流程,为开发者提供更加便捷的开发体验。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考