एग्रीगेशन लेयर कुबेरनेट्स को कोर कुबेरनेट्स API द्वारा प्रदान की जाने वाली सुविधाओं से परे अतिरिक्त API के साथ विस्तारित करने की अनुमति देती है। ये अतिरिक्त API या तो तैयार समाधान हो सकते हैं जैसे कि एक metrics server, या ऐसे API जिन्हें आप स्वयं विकसित करते हैं।
एग्रीगेशन लेयर कस्टम रिसोर्स डेफ़िनिशन से अलग है, जो kube-apiserver को नए प्रकार के ऑब्जेक्ट को पहचानने का एक तरीका है।
एग्रीगेशन लेयर kube-apiserver के साथ इन-प्रोसेस चलती है। जब तक कोई एक्सटेंशन रिसोर्स
पंजीकृत नहीं होता, तब तक एग्रीगेशन लेयर कुछ नहीं करती। किसी API को पंजीकृत करने के लिए, आप एक APIService
ऑब्जेक्ट जोड़ते हैं, जो कुबेरनेट्स API में URL पथ का "दावा" करता है। उस बिंदु पर, एग्रीगेशन लेयर
उस API पथ (उदाहरण के लिए /apis/myextension.mycompany.io/v1/…) पर भेजी गई किसी भी चीज़ को
पंजीकृत APIService पर प्रॉक्सी कर देगी।
APIService को लागू करने का सबसे सामान्य तरीका आपके क्लस्टर में चलने वाले Pod(s) में एक एक्सटेंशन API सर्वर चलाना है। यदि आप अपने क्लस्टर में रिसोर्स प्रबंधित करने के लिए एक्सटेंशन API सर्वर का उपयोग कर रहे हैं, तो एक्सटेंशन API सर्वर (जिसे "extension-apiserver" के रूप में भी लिखा जाता है) आमतौर पर एक या अधिक controllers के साथ जोड़ा जाता है। apiserver-builder लाइब्रेरी एक्सटेंशन API सर्वर और संबंधित कंट्रोलर(ओं) दोनों के लिए एक स्केलेटन प्रदान करती है।
एक्सटेंशन API सर्वर की kube-apiserver से और उसकी ओर कम-लेटेंसी नेटवर्किंग होनी चाहिए। डिस्कवरी अनुरोधों को kube-apiserver से पाँच सेकंड या उससे कम में राउंड-ट्रिप करना आवश्यक है।
यदि आपका एक्सटेंशन API सर्वर उस लेटेंसी आवश्यकता को पूरा नहीं कर सकता, तो ऐसे परिवर्तन करने पर विचार करें जो आपको इसे पूरा करने में सक्षम बनाएँ।
वैकल्पिक रूप से: कस्टम रिसोर्स डेफ़िनिशन का उपयोग करके कुबेरनेट्स API का विस्तार करना सीखें।