k8s aggregated api的编写思路

参考k8s官方的sample-apiserver进行编写(项目地址:GitHub - kubernetes/sample-apiserver: Reference implementation of an apiserver for a custom Kubernetes API.

说明:网上对于aggregated api的实战性文章非常少,有关这类的文章是在推荐使用apiserver-builder这个工具,但是在学习aggregated api编写的过程中,我觉得这个工具对于代码开发人员不太友好(起码对我这个初学k8s又要进行aggregated api开发的同学),封装的太好了,以至于很难明白其中的实现流程,代码所展现的也不是平时我所理解的web服务的代码结构(很难找到url注册以及handler注册的地方)

场景:

1)编写k8s风格的web服务 & 复用k8s的认证和鉴权;

2)想要实现类似CRD的功能,但是又不想以etcd作为后端存储

通过学习sample-apiserver,可以比较快速的通过运行sample-apiserver来了解aggregated api的运行流程并进行编码

1)编写storage,存储到map[${apiVersion}]map[${resource}]${xxx_storage}中,并注册到gen

"In aggregated query without GROUP BY"是一个错误信息,表示在一个聚合查询中没有使用GROUP BY子句。在SQL中,当使用聚合函数(如SUM、COUNT、AVG等)时,如果SELECT列表中还包含其他非聚合的列,则需要使用GROUP BY子句来指定按照哪些列进行分组。 这个错误信息的意思是,SELECT列表中的表达式1包含了非聚合的列'base_table.user_id',而在当前的sql_mode设置中,只允许在聚合查询中使用GROUP BY来指定分组。因此,需要修改查询语句,将非聚合的列添加到GROUP BY子句中,或者使用聚合函数对该列进行处理。 请注意,具体的修复方法可能因查询语句的具体情况而有所不同,可以根据错误信息中提供的具体查询语句进行调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [In aggregated query without GROUP BY是什么错误](https://blog.csdn.net/weixin_44126489/article/details/124429951)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MYSQL||报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains ...](https://blog.csdn.net/Inochigohan/article/details/122380585)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值