APISIX Declarative CLI को API7 Enterprise के साथ एकीकृत करना
March 20, 2024
ADC क्या है?
ADC (APISIX Declarative CLI), API7.ai द्वारा प्रस्तुत, एक डिक्लेरेटिव कॉन्फ़िगरेशन टूल है जो उपयोगकर्ताओं को गैर-कुबेरनेट्स वातावरण में GitOps क्षमताओं को लागू करने में सहायता करने के लिए बनाया गया है। उपयोगकर्ता इसे अपने CI/CD पाइपलाइन में सहजता से एकीकृत कर सकते हैं ताकि API के जीवनचक्र को प्रबंधित किया जा सके, जिससे अपडेट और रिलीज़ को सुगम बनाया जा सके।
इसके वर्तमान संस्करण में, ADC को APISIX के साथ एकीकृत किया गया है ताकि APISIX संसाधनों के निर्यात और सिंक्रनाइज़ेशन को सुगम बनाया जा सके।
API7 एंटरप्राइज़ क्या है?
API7 एंटरप्राइज़ APISIX पर आधारित है, जो उन्नत API प्रबंधन क्षमताएं प्रदान करता है, जिसमें गेटवे समूहीकरण और सेवा संस्करण शामिल हैं, जो उद्यमों के लिए एक व्यापक API प्रबंधन समाधान प्रदान करने का लक्ष्य रखता है। GitOps-आधारित API प्रबंधन के साथ कुछ अंतर हैं, क्योंकि उपयोगकर्ता Web UI इंटरफ़ेस के माध्यम से API7 एंटरप्राइज़ कार्यक्षमताओं को आसानी से प्रबंधित कर सकते हैं।
कुछ उपयोगकर्ता API7 एंटरप्राइज़ में GitOps मोड को अपनाने के लिए उत्सुक हैं ताकि API के पूर्ण जीवनचक्र को बेहतर ढंग से प्रबंधित किया जा सके। वे सभी API परिभाषाओं को डिक्लेरेटिव कॉन्फ़िगरेशन फ़ाइलों के रूप में संग्रहीत करना चाहते हैं और Pull Requests पर कोड समीक्षा तंत्र के माध्यम से API घोषणाओं की शुद्धता सुनिश्चित करना चाहते हैं। वे रिपॉजिटरी में CI का उपयोग करके उत्पादन वातावरण में जारी करने से पहले विकास वातावरण में API तैनाती का पूर्वावलोकन भी करते हैं।
ADC ने डिक्लेरेटिव कॉन्फ़िगरेशन प्रबंधन के लिए एक ढांचा स्थापित किया है और API संसाधनों पर परिवर्तन पहचान और सिंक्रनाइज़ेशन कार्य पूरे किए हैं। इसलिए, यह स्पष्ट है कि API7 एंटरप्राइज़ में ADC का समर्थन एक विकास दिशा बन जाएगा।

ADC 0.7 संस्करण की नई सुविधाएं
API7 एंटरप्राइज़ का समर्थन करने के लिए, ADC में कई महत्वपूर्ण सुधार किए गए हैं, जैसा कि नीचे बताया गया है।
API7 एंटरप्राइज़ का बैकेंड
हमने ADC का एक नया संस्करण जारी किया है जो API7 एंटरप्राइज़ बैकेंड पर इसके उपयोग के लिए प्रारंभिक समर्थन प्रदान करता है। dump, diff, और sync जैसी मुख्य कार्यक्षमताएं अब API7 एंटरप्राइज़ बैकेंड पर उपलब्ध हैं।
इस नए बैकेंड समर्थन के साथ, उपयोगकर्ता सीधे APISIX से API संसाधनों को निर्यात कर सकते हैं और उन्हें API7 एंटरप्राइज़ के साथ सिंक्रनाइज़ कर सकते हैं, जिससे APISIX से पुराने कॉन्फ़िगरेशन को माइग्रेट करके API7 एंटरप्राइज़ द्वारा प्रदान की जाने वाली शक्तिशाली उद्यम-स्तरीय सुविधाओं का पूरा लाभ उठाया जा सके।
गेटवे समूह
API7 एंटरप्राइज़ कई गेटवे उदाहरणों के लिए उन्नत प्रबंधन क्षमताएं प्रदान करता है। उपयोगकर्ता गेटवे उदाहरणों को विभिन्न गेटवे समूहों में आवंटित कर सकते हैं ताकि विभिन्न वातावरणों में कॉन्फ़िगरेशन को अलग किया जा सके। उदाहरण के लिए, विकास और उत्पादन उद्देश्यों के लिए अलग-अलग गेटवे क्लस्टर बनाए जा सकते हैं, जिससे एक सेवा को अलग-अलग गेटवे समूहों में प्रकाशित किया जा सके ताकि विभिन्न आवश्यकताओं को पूरा किया जा सके। सेवाओं के अलावा, ग्लोबल प्लगइन्स और TLS प्रमाणपत्र भी गेटवे समूहों के माध्यम से प्रबंधित किए जाते हैं।
गेटवे समूह प्रबंधन API7 एंटरप्राइज़ की एक प्रमुख नई सुविधा है, और ADC इसके लिए समर्थन प्रदान करता है। ADC मुख्य कमांड का उपयोग करते समय, उपयोगकर्ता gateway-group नामक एक कमांड-लाइन फ्लैग निर्दिष्ट कर सकते हैं, जो ADC को उस गेटवे समूह से उपयोगकर्ता-निर्दिष्ट संसाधनों को प्राप्त करने और सिंक्रनाइज़ करने के लिए निर्देशित करता है।
लेबल-आधारित संसाधन फ़िल्टरिंग
ADC के पिछले संस्करणों में, API कॉन्फ़िगरेशन को Admin API से पूरी तरह से खींचा और सिंक्रनाइज़ किया जाता था। हालांकि, यदि हम API कॉन्फ़िगरेशन में मामूली संशोधन करते हैं, तो भी सिस्टम हमें सभी डिक्लेरेटिव कॉन्फ़िगरेशन फ़ाइलें प्रदान करने के लिए कहता है, भले ही उनमें से कुछ में कोई परिवर्तन न हुआ हो। यदि इन अपरिवर्तित कॉन्फ़िगरेशन फ़ाइलों को प्रदान नहीं किया जाता है, तो सिस्टम Admin API में सूचीबद्ध लेकिन कमांड लाइन पर प्रदान नहीं किए गए संसाधनों को हटा दिया गया मानता है, जिससे उन्हें उत्पादन वातावरण से हटा दिया जाता है। यह अपेक्षित कॉन्फ़िगरेशन स्थिति को समझौता कर सकता है और ट्रैफ़िक प्रसंस्करण को प्रभावित कर सकता है, जो वांछनीय नहीं है।
इस समस्या को हल करने के लिए, हम अब एक लेबल-आधारित संसाधन फ़िल्टर प्रदान करते हैं। यह फ़िल्टर उपयोगकर्ताओं को एक या अधिक लेबल कुंजी-मान जोड़े निर्दिष्ट करने की अनुमति देता है जो संसाधनों द्वारा पूरे किए जाने चाहिए, label-selector नामक एक कमांड-लाइन फ्लैग के माध्यम से। इस लेबल फ़िल्टर की आवश्यकताओं को पूरा न करने वाले किसी भी स्थानीय और दूरस्थ संसाधनों को अनदेखा किया जाएगा, जिससे गेटवे कॉन्फ़िगरेशन को गलती से बाधित होने से रोका जा सके।
नई सुविधाओं की संभावनाएं
उपरोक्त नई सुविधाओं के अलावा, हम ADC कार्यक्षमता को बढ़ाने और उपयोगकर्ताओं को अधिक मूल्य प्रदान करने के लिए नए क्षेत्रों की खोज कर रहे हैं। कुछ उदाहरणों में शामिल हैं:
-
एक प्लगइन तंत्र प्रदान करना ताकि उपयोगकर्ता API गेटवे बैकेंड को अनुकूलित कर सकें। उपयोगकर्ता किसी भी API गेटवे से ADC डिक्लेरेटिव कॉन्फ़िगरेशन निर्यात कर सकते हैं और ADC के माध्यम से API कॉन्फ़िगरेशन को परिभाषित कर सकते हैं ताकि उन्हें किसी भी API गेटवे पर तैनात किया जा सके।
-
स्क्रिप्टेबल प्रोग्रामिंग क्षमताएं प्रदान करना ताकि उपयोगकर्ताओं को विशिष्ट चरणों में ADC कॉन्फ़िगरेशन का निरीक्षण और संशोधन करने के लिए हुक प्रदान किए जा सकें। यह कुछ API के लिए सुरक्षा बेसलाइन जांच को लागू करने और सामान्य असुरक्षित परिदृश्यों को रोकने में मदद करेगा।
-
OpenAPI के अलावा अन्य API परिभाषा कन्वर्टर्स प्रदान करना ताकि ADC द्वारा उपयोग किए जा सकने वाले API टूल इकोसिस्टम को समृद्ध किया जा सके।
ADC 0.7 केवल API7 एंटरप्राइज़ के भीतर आंतरिक उपयोग के लिए उपलब्ध है और इसे सार्वजनिक रूप से जारी नहीं किया गया है। यह सुविधा इस वर्ष की दूसरी तिमाही में ओपन-सोर्स समुदाय Apache APISIX में योगदान की जाएगी।