if a.GetKind().GroupKind() != restaurant.Kind("Pizza") {
return nil
}
...
}
为什么
API
服务器自身不对对象进行预过滤
对于原生的准入插件来说,不需要注册机制来让服务器
API Machinery
了解它所支持的对象类型,就可以保证对插件所支持的对象调用插件逻
辑。其中的一个原因是在
Kubernetes API
服务器(也就是准入机制诞生
的地方)中有很多插件都能支持多种类型的对象。
实现准入的完整示例代码如下:
// Admit ensures that the object in-flight is of kind Pizza.
// In addition checks that the toppings are known.
func (d *PizzaToppingsPlugin) Validate(
a admission.Attributes,
_ admission.ObjectInterfaces,
) error {
// we are only interested in pizzas ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.
O’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
I wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
I’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
I'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.