25b726908d1a28a332a238c2833e11d175010065
\345\237\272\344\272\216k8s\345\256\236\347\216\260\345\205\203\346\225\260\346\215\256\347\232\204\345\220\214\346\255\245.md
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 | iidp 平台有时候需要将元数据同步到所有 pod 的内存中,比如v2.8.2版本中需要在各个pod内存中维护model名称和app的关系, |
4 | 4 | 这样发起请求call的时候就可以直接通过model名称找到app,并进一步通过app找到pod ip完成远程通信。 |
5 | 5 | 类似地,app 和 pod ip的关系也是基于k8s watch机制实现的,但有一点不一样的是app的路由信息是直接使用k8s内置的资源service来实现的, |
6 | -而对于model名称和app的关系,或者说任何其他的元数据的存储需要用户自己定义CRD,详细可参考k8s官方文档:https://kubernetes.io/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/ |
|
6 | +而对于model名称和app的关系,或者说任何其他的元数据的存储需要用户自己定义CRD,详细可参考k8s官方文档:[[https://kubernetes.io/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/]] |
|
7 | 7 | |
8 | 8 | ### 设计与实现 |
9 | 9 | |
... | ... | @@ -194,7 +194,7 @@ spec: |
194 | 194 | |
195 | 195 | #### 4. CRD的watch |
196 | 196 | |
197 | -接下来我们需要实现对crd的watch功能,k8s的watch机制是基于etcd的watch实现的,具体可以参考k8s官方文档:https://kubernetes.io/zh-cn/docs/reference/using-api/api-concepts/#watching-changes-to-objects |
|
197 | +接下来我们需要实现对crd的watch功能,k8s的watch机制是基于etcd的watch实现的,具体可以参考k8s官方文档:[[https://kubernetes.io/zh-cn/docs/reference/using-api/api-concepts/#watching-changes-to-objects]] |
|
198 | 198 | 这里我们使用golang的client-go库来实现对crd的watch,代码如下: |
199 | 199 | |
200 | 200 | ```go |