我有一个实体列表(个人资料) 我有另一个实体列表(openapis)
每个openapi可以被多个配置文件指向
例如:openapis:“Alpha”,“Beta”
配置文件:配置文件 1 >“Alpha”配置文件 2 >“Alpha”配置文件 3 >“Beta”
我需要显示 openapis ["Alpha", "Beta"] 列表及其指向配置文件 例如:
“阿尔法”:配置文件1,配置文件2
“测试版”:配置文件3
我没有数据库,我使用“kebernetes”CR,最好的方法是什么? 我知道我可以过滤每个 openapi 的配置文件,但是有更好的方法吗?
鉴于您正在使用 Kubernetes 自定义资源 (CR) 并且没有传统数据库,您可能需要在应用程序逻辑中处理此关联。您可以考虑以下几种方法:
您可以维护内存中的数据结构来跟踪 openapi 和配置文件之间的关联。这可以使用 JavaScript 对象来完成,其中键是 openapis,值是关联配置文件的数组 每当您从 openapi 添加或删除配置文件时,都会相应地更新此数据结构。如果您的数据集不太大并且可以轻松放入内存,则此方法适合。
const associations = {
"Alpha": ["profile1", "profile2"],
"Beta": ["profile3"]
};
如果您的实体(配置文件和 openapi)表示为 Kubernetes 自定义资源,您可以使用标签将配置文件与 openapi 关联。标签是可以附加到 Kubernetes 资源的键值对。
例如,您可以添加如下标签:
apiVersion: yourapi.example.com/v1
kind: Profile
metadata:
name: profile1
labels:
openapi: Alpha
---
apiVersion: yourapi.example.com/v1
kind: Profile
metadata:
name: profile2
labels:
openapi: Alpha
---
apiVersion: yourapi.example.com/v1
kind: Profile
metadata:
name: profile3
labels:
openapi: Beta
然后,您可以使用 Kubernetes API 查询来检索与特定 openapi 关联的配置文件。这种方法提供了一种更具声明性的方式来表示关联。