हाय ज़ेन मास्टर्स, यह लेख हमारे ज़ेन लोड बैलेंसर एपीआई (ZAPI) के माध्यम से एक L4 (परत 4) फ़ार्म, बैकेंड (वेब सर्वर) और फ़ार्म गार्जियन को बनाने और कॉन्फ़िगर करने का तरीका प्रस्तुत करता है।
L4xNAT प्रोफाइल
L4xNAT फ़ार्म प्रोफ़ाइल आपको L4 फ़ार्म बनाने की अनुमति देता है जिसमें टीसीपी, यूडीपी या एचटीटीपी फ़ार्म प्रोफ़ाइल जैसे 7 में लोड बैलेंसर कोर की तुलना में बहुत उच्च प्रदर्शन और अधिक समवर्ती कनेक्शन होते हैं। उस परत 4 प्रदर्शन में सुधार उन्नत सामग्री को संभालता है कि परत 7 प्रोफाइल प्रबंधन कर सकता है।
इसके अतिरिक्त, L4xNAT फ़ार्म कई पोर्ट्स को बाँध सकता है, न कि केवल एक वर्चुअल पोर्ट जैसा कि अन्य लेयर 7 प्रोफाइल के साथ प्रयोग किया जाता है। L4xNAT खेतों में कई वर्चुअल पोर्ट या एक विशिष्ट वर्चुअल पोर्ट का चयन करने में सक्षम होने के लिए, प्रोटोकॉल प्रकार का चयन करना अनिवार्य है। दूसरे मामले में, खेत आभासी आईपी से सभी बंदरगाहों पर सुन रहा होगा।
प्रारंभिक ZAPI
जैसा कि हमने पिछले लेख में चर्चा की थी, आपको zapi उपयोगकर्ता को सक्षम करना होगा और हमारे ZAPI का उपयोग करने के लिए एक कुंजी और एक पासवर्ड सेट करना होगा।
निम्नलिखित उदाहरणों के लिए, इन मापदंडों का उपयोग किया जाएगा:
Key: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5 Password: admin Zen Load Balancer IP: 192.168.101.25 Zen Web Port: 444
ZAPI कॉन्फ़िगर हो जाने के बाद ... आइए शुरू करें
ZAPI के साथ L4xNAT खेत कैसे बनाएं
पहले स्थान पर, आपको संबंधित कमांड के साथ एक L4xNAT प्रोफ़ाइल फ़ार्म बनाना होगा:
curl --tlsv1 -k -X POST -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"interface":"eth0","vip":"192.168.101.25","profile":"L4xNAT"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM
HTTP क्रिया: POST, खेतों, बैकेंड, सेवाओं को बनाने के लिए उपयोग किया जाता है ...
JSON पैरामीटर: इंटरफ़ेस, वीआईपी और प्रोफ़ाइल (L4xNAT प्रोफ़ाइल में vport आवश्यक नहीं है)।
URI पैरामीटर: farmname -> L4FARM, यह खेत के लिए चयनित नाम है।
एक बार यह कमांड लॉन्च हो जाने के बाद, निम्नलिखित प्रतिक्रिया दिखाई जाएगी:
{ "description" : "New farm L4FARM", "params" : [ { "interface" : "eth0", "name" : "L4FARM", "profile" : "L4xNAT", "vip" : "192.168.101.25", "vport" : 0 } ] }
यह प्रतिक्रिया मुख्य खेत मापदंडों को दिखाती है। Vport क्या है: 0 का मतलब है? जब कोई L4xNAT फ़ार्म बनाया जाता है, तो वह वर्चुअल IP से सभी पोर्ट्स को डिफ़ॉल्ट रूप से सुन रहा होता है और इसे 0 या * के रूप में दिखाया जाएगा।
ZXI के साथ L4xNAT फ़ार्म को कैसे कॉन्फ़िगर करें
एक बार L4xNAT फ़ार्म बन जाने के बाद, आप फ़ार्म मापदंडों को संशोधित कर पाएंगे। सभी मापदंडों को बदलना संभव है, कुछ या सिर्फ एक।
सबसे पहले, GET अनुरोध के साथ खेत के मापदंडों को प्राप्त करें:
curl --tlsv1 -k -X GET -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM
HTTP क्रिया: GET, खेतों, बैकेंड, सेवाओं के मापदंडों के लिए उपयोग किया जाता है ...
JSON पैरामीटर: कोई नहीं।
URI पैरामीटर: farmname -> L4FARM।
एक बार यह कमांड लॉन्च हो जाने के बाद, निम्नलिखित प्रतिक्रिया दिखाई जाएगी:
{ "backends" : [], "description" : "List farm L4FARM", "params" : [ { "algorithm" : "weight", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "dnat", "persistence" : "none", "protocol" : "all", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 0 } ] }
यह प्रतिक्रिया उन्नत खेत मापदंडों को दिखाती है। इन मापदंडों को ZAPI का उपयोग करके संशोधित किया जा सकता है। आइए कुछ मापदंडों को बदलें:
curl --tlsv1 -k -X PUT -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"protocol":"tcp","nattype":"nat" ,"port":"80"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM
HTTP क्रिया: PUT, खेतों, बैकेंड, सेवाओं के मापदंडों को संशोधित करने के लिए उपयोग किया जाता है ...
JSON पैरामीटर्स: प्रोटोकॉल, एनटाइप और पोर्ट।
URI पैरामीटर: farmname -> L4FARM।
एक बार यह कमांड लॉन्च हो जाने के बाद, निम्नलिखित प्रतिक्रिया दिखाई जाएगी:
{ "description" : "Modify farm L4FARM", "params" : [ { "protocol" : "tcp" }, { "port" : "80" }, { "nattype" : "nat" } ] }
यदि हम एक और GET अनुरोध लॉन्च करते हैं, तो प्रतिक्रिया नए परिवर्तनों के साथ सभी मापदंडों को दिखाएगी:
{ "backends" : [], "description" : "List farm L4FARM", "params" : [ { "algorithm" : "weight", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "nat", "persistence" : "none", "protocol" : "tcp", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 80 } ] }
Nattype, port, और प्रोटोकॉल पैरामीटर्स सफलतापूर्वक बदल गए हैं!
बैकएंड कैसे बनाएं और संशोधित करें
हम ZAPI के माध्यम से L4xNAT फ़ार्म के बैकएंड को कैसे बना और कॉन्फ़िगर कर सकते हैं? आपको बस कर्ल के साथ कई कमांड का उपयोग करके ऊपर दिए गए चरणों का पालन करना है:
curl --tlsv1 -k -X POST -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"ip":"46.120.34.160","port":"80","priority":"1","weight":"1"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/backends
HTTP क्रिया: POST, खेतों, बैकेंड, सेवाओं को बनाने के लिए उपयोग किया जाता है ...
JSON पैरामीटर: आईपी, पोर्ट, प्राथमिकता और वजन (सभी पैरामीटर आवश्यक हैं)।
URI पैरामीटर: farmname -> L4FARM, यह खेत के लिए चयनित नाम है।
एक बार यह कमांड लॉन्च हो जाने के बाद, निम्नलिखित प्रतिक्रिया दिखाई जाएगी:
{ "description" : "New backend 0", "params" : [ { "id" : 0, "ip" : "46.120.34.160", "port" : 80, "priority" : 1, "weight" : 1 } ] }
यह प्रतिक्रिया बैकएंड मापदंडों और इसकी आईडी को दिखाती है।
हम L4xNAT फ़ार्म के बैकएंड को कैसे संशोधित कर सकते हैं? PUT HTTP वर्ब का प्रयोग कर्ल के साथ करें:
curl --tlsv1 -k -X PUT -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"ip":"46.120.101.65","port":"25","priority":"2","weight":"3"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/backends/0
HTTP क्रिया: PUT, खेतों, बैकेंड, सेवाओं के मापदंडों को संशोधित करने के लिए उपयोग किया जाता है ...
JSON पैरामीटर: आईपी। बंदरगाह, प्राथमिकता और वजन।
URI पैरामीटर:
Farmname -> L4FARM।
बैकएंड आईडी -> 0।
एक बार यह कमांड लॉन्च हो जाने के बाद, निम्नलिखित प्रतिक्रिया दिखाई जाएगी:
{ "description" : "Modify backend 0 in farm L4FARM", "params" : [ { "ip" : "46.120.101.65" }, { "weight" : "3" }, { "priority" : "2" }, { "port" : "25" } ] }
यदि हम एक और GET अनुरोध लॉन्च करते हैं, तो प्रतिक्रिया नए परिवर्तनों के साथ सभी मापदंडों को दिखाएगी:
{ "backends" : [ { "id" : 0, "ip" : "46.120.101.65", "port" : 25, "priority" : 2, "weight" : 3 } ], "description" : "List farm L4FARM", "params" : [ { "algorithm" : "weight", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "nat", "persistence" : "none", "protocol" : "tcp", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 80 } ] }
वजन, प्राथमिकता और पोर्ट पैरामीटर सफलतापूर्वक बदल गए हैं!
फार्म गार्जियन को कैसे कॉन्फ़िगर करें
बंद करने के लिए, आइए L4xNAT फ़ार्म के फ़ार्म संरक्षक को कॉन्फ़िगर करें। हमें कर्ल के साथ निम्नलिखित अनुरोध का उपयोग करना होगा:
curl --tlsv1 -k -X PUT -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"fgenabled":"true","fgscript":"check_tcp -w 10 -c 10 -H HOST -p PORT","fgtimecheck":"15","fglog":"false"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/fg
HTTP क्रिया: PUT, खेतों, बैकेंड, सेवाओं के मापदंडों को संशोधित करने के लिए उपयोग किया जाता है ...
JSON पैरामीटर: fgenabled, fgscript, fgtimecheck और fglog।
URI पैरामीटर: farmname -> L4FARM।
एक बार यह कमांड लॉन्च हो जाने के बाद, निम्नलिखित प्रतिक्रिया दिखाई जाएगी:
{ "description" : "Modify farm L4FARM", "params" : [ { "fglog" : "false" }, { "fgenabled" : "true" }, { "fgscript" : "check_tcp -w 10 -c 10 -H HOST -p PORT" }, { "fgtimecheck" : "15" } ] }
ये परमार्थी क्या करते हैं? 'fgenabled' पैरामीटर फार्म अभिभावक को सक्षम करता है, 'fgtimecheck' पैरामीटर चेक (सेकंड में) के बीच का समय है, 'fglog' फार्म अभिभावक लॉग को सक्षम करता है और 'fgscript' चेक करने के लिए कमांड है।
ज़ेन टीम की ओर से, हम वास्तव में आशा करते हैं कि आपको यह लेख अच्छा लगा होगा। अगले में मिलते हैं!