डेबियन पर सेटअप NFS शेयर
एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं
डॉकर झुंड आपके अलग-अलग सर्वरों को कंप्यूटर के क्लस्टर में बदल देता है; स्केलिंग, उच्च-उपलब्धता और लोड-संतुलन की सुविधा। झुंड लोड-बैलेंसर एक राउंड-रॉबिन लोड-बैलेंसिंग रणनीति को लागू करता है, और यह (विरासत) स्टेटफुल अनुप्रयोगों के सही कामकाज को बाधित कर सकता है, जिन्हें कई उदाहरणों के साथ उच्च-उपलब्ध सेटअप की अनुमति देने के लिए चिपचिपा सत्रों के कुछ प्रकार की आवश्यकता होती है। डॉकर एंटरप्राइज एडिशन लेयर -7 स्टिकी सेशन का समर्थन करता है, लेकिन इस गाइड में हम डॉकर के मुफ्त (सीई) संस्करण पर ध्यान केंद्रित करेंगे। चिपचिपा सत्रों को लागू करने के लिए हम ट्राफिक का उपयोग करेंगे।
sudoअधिकारों के साथ एक गैर-रूट उपयोगकर्ता (वैकल्पिक लेकिन यह रूट उपयोगकर्ता का उपयोग नहीं करने के लिए दृढ़ता से सलाह दी जाती है)इस ट्यूटोरियल में हम निजी IP पते के साथ दो Vultr उदाहरणों का उपयोग किया जाएगा 192.168.0.100और 192.168.0.101। वे दोनों डॉकर झुंड प्रबंधक नोड्स हैं (जो उत्पादन के लिए आदर्श नहीं है लेकिन इस ट्यूटोरियल के लिए पर्याप्त है)।
यह ट्यूटोरियल jwilder/whoamiडेमो एप्लीकेशन के रूप में डॉकटर इमेज का उपयोग करता है । यह साधारण कंटेनर रिस्पॉन्स कंटेनर के नाम के साथ एक आरईएसटी कॉल का जवाब देगा, जिससे स्टिकी सेशन काम कर रहे हों तो यह टेस्ट करना बहुत आसान हो जाता है। यह छवि स्पष्ट रूप से केवल डेमो उद्देश्यों के लिए उपयोग की जाती है और इसे आपके स्वयं के एप्लिकेशन की छवि द्वारा प्रतिस्थापित करने की आवश्यकता है।
Whoami- सेवा निम्नानुसार कॉन्फ़िगर किया गया है:
sudo docker network create whoaminet -d overlay
sudo docker service create --name whoami-service --mode global --network whoaminet --publish "80:8000" jwilder/whoami
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
यदि हम बाद curlमें whoami REST समापन बिंदु पर हैं http://192.168.0.100/, तो हम काम के लिए डॉकयर झुंड के राउंड-रॉबिन लोड-संतुलन देख सकते हैं:
curl http://192.168.0.100
I'm a6a8c9294fc3
curl http://192.168.0.100
I'm ae9d1763b4ad
curl http://192.168.0.100
I'm a6a8c9294fc3
curl http://192.168.0.100
I'm ae9d1763b4ad
curl http://192.168.0.100
I'm a6a8c9294fc3
क्रोम या फ़ायरफ़ॉक्स जैसे आधुनिक ब्राउज़रों के साथ इसका कोई उपयोग परीक्षण नहीं है क्योंकि वे कनेक्शन को जीवित रखने के लिए डिज़ाइन किए गए हैं, और डॉकर झुंड लोड-बैलेंसर केवल प्रत्येक नए कनेक्शन पर अन्य कंटेनर में स्विच करेगा । यदि आप एक ब्राउज़र के साथ यह परीक्षण करना चाहते हैं, तो आपको फिर से ताज़ा करने से पहले कनेक्शन को बंद करने के लिए कम से कम 30 सेकंड इंतजार करना होगा।
ट्राफिक मूल रूप से डॉकर झुंड का समर्थन करता है, यह पता लगा सकता है और ऑन-द-फ्लाई कंटेनर को पंजीकृत या डी-रजिस्टर कर सकता है और यह आंतरिक ओवरले नेटवर्क पर आपके एप्लिकेशन के साथ संचार करता है। ट्रैफिक को आपके आवेदन के बारे में कुछ जानकारी चाहिए, इससे पहले कि वह इसके लिए अनुरोधों को संभालना शुरू कर दे। यह जानकारी आपकी Swarm सेवा में लेबल जोड़कर ट्राफिक को प्रदान की जाती है:
sudo docker service update --label-add "traefik.docker.network=whoaminet" --label-add "traefik.port=8000" --label-add "traefik.frontend.rule=PathPrefix:/" --label-add "traefik.backend.loadbalancer.stickiness=true" whoami-service
निम्न सूची बताती है कि प्रत्येक लेबल का क्या अर्थ है:
traefik.docker.network : डॉकर ओवरले नेटवर्क, जिस पर ट्राफिक आपकी सेवा के साथ संवाद करेगा traefik.port : वह पोर्ट जिस पर आपकी सेवा सुन रही है (यह आंतरिक रूप से उजागर पोर्ट है, प्रकाशित पोर्ट नहीं)traefik.frontend.rule: इस सेवा PathPrefix:/ के संदर्भ रूट ' /' को बांधता हैtraefik.backend.loadbalancer.stickiness : इस सेवा के लिए चिपचिपा सत्र सक्षम करता हैअब जब कि whoami-serviceआवश्यक लेबल के साथ कॉन्फ़िगर किया गया है, हम ट्रिफ़िक सेवा को झुंड में जोड़ सकते हैं:
sudo docker service create --name traefik -p8080:80 -p9090:8080 --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock --mode=global --constraint 'node.role == manager' --network whoaminet traefik --docker --docker.swarmmode --docker.watch --web --loglevel=DEBUG
यह कमांड एक ही बार में काफी काम करता है, जैसा कि निम्नलिखित सूची में दिखाया गया है:
--name traefik : हमारी नई डॉकर सेवा का नाम ट्राईफिक है -p8080:80: हम ट्राफिक के बंदरगाह 80को पोर्ट करने के लिए प्रकाशित करते हैं 8080क्योंकि पोर्ट 80हमारी थोमी-सेवा द्वारा पहले से ही उपयोग में है-p9090:8080 : हम ट्राफिक के वेब इंटरफेस को पोर्ट करने के लिए प्रकाशित करते हैं 9090--mount ... : हम डॉकटर सॉकेट को कंटेनर में माउंट करते हैं ताकि ट्राईफिक होस्ट के डॉकर रनटाइम तक पहुंच सके --global : हम उच्च उपलब्धता कारणों से प्रत्येक प्रबंधक नोड पर ट्राफिक कंटेनर चाहते हैं --constraint 'node.role == manager': हम केवल ट्रैफिक मैनेजर नोड्स पर चलाना चाहते हैं क्योंकि कार्यकर्ता नोड्स ट्राइफिक को उस जानकारी के साथ प्रदान नहीं कर सकता है जिसे इसकी आवश्यकता है। उदाहरण के लिए, docker service lsएक कार्यकर्ता नोड पर काम नहीं करता है, इसलिए ट्रैफिक भी खोज नहीं कर पाएगा कि कौन सी सेवाएं चल रही हैं--network whoaminet: ट्रैफ़िक को हमारे समान नेटवर्क से कनेक्ट करें whoami-service, अन्यथा यह उससे कनेक्ट नहीं हो सकता है। हमने पहले इस नेटवर्क पर traefik.docker.networkलेबल के साथ हमारी सेवा से जुड़ने के लिए ट्रैफिक को बताया थाtraefik : इस सेवा के लिए नवीनतम Traefik docker छवि का उपयोग करने के लिए docker को बताएँ--docker --docker.swarmmode --docker.watch --web --loglevel=DEBUG: कमांड लाइन की दलीलें सीधे ट्राइफिक को पारित की गईं ताकि वह डोकर झुंड के मोड में चल सके। DEBUGयहाँ वैकल्पिक है, लेकिन सेटअप के दौरान दिलचस्प है, और इस ट्यूटोरियल के लिएडेबियन फ़ायरवॉल में आवश्यक बंदरगाहों को खोलने के लिए जो कुछ करना बाकी है:
sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT
sudo iptables -I INPUT 1 -p tcp --dport 9090 -j ACCEPT
जैसे ही ट्राफिक शुरू होता है, आप लॉग में देख सकते हैं कि ट्राफिक दो whoamiकंटेनरों को हटा देता है । यह कुकी नाम का भी आउटपुट कर रहा है जिसका उपयोग वह स्टिकी सत्र को संभालने के लिए करेगा:
time="2018-11-25T13:17:30Z" level=debug msg="Configuration received from provider docker: {\"backends\":{\"backend-whoami-service\":{\"servers\":{\"server-whoami-service-1-a179b2e38a607b1127e5537c2e614b05\":{\"url\":\"http://10.0.0.5:8000\",\"weight\":1},\"server-whoami-service-2-df8a622478a5a709fcb23c50e689b5b6\":{\"url\":\"http://10.0.0.4:8000\",\"weight\":1}},\"loadBalancer\":{\"method\":\"wrr\",\"stickiness\":{}}}},\"frontends\":{\"frontend-PathPrefix-0\":{\"entryPoints\":[\"http\"],\"backend\":\"backend-whoami-service\",\"routes\":{\"route-frontend-PathPrefix-0\":{\"rule\":\"PathPrefix:/\"}},\"passHostHeader\":true,\"priority\":0,\"basicAuth\":null}}}"
time="2018-11-25T13:17:30Z" level=debug msg="Wiring frontend frontend-PathPrefix-0 to entryPoint http"
time="2018-11-25T13:17:30Z" level=debug msg="Creating backend backend-whoami-service"
time="2018-11-25T13:17:30Z" level=debug msg="Adding TLSClientHeaders middleware for frontend frontend-PathPrefix-0"
time="2018-11-25T13:17:30Z" level=debug msg="Creating load-balancer wrr"
time="2018-11-25T13:17:30Z" level=debug msg="Sticky session with cookie _a49bc"
time="2018-11-25T13:17:30Z" level=debug msg="Creating server server-whoami-service-1-a179b2e38a607b1127e5537c2e614b05 at http://10.0.0.5:8000 with weight 1"
time="2018-11-25T13:17:30Z" level=debug msg="Creating server server-whoami-service-2-df8a622478a5a709fcb23c50e689b5b6 at http://10.0.0.4:8000 with weight 1"
time="2018-11-25T13:17:30Z" level=debug msg="Creating route route-frontend-PathPrefix-0 PathPrefix:/"
time="2018-11-25T13:17:30Z" level=info msg="Server configuration reloaded on :80"
time="2018-11-25T13:17:30Z" level=info msg="Server configuration reloaded on :8080"
यदि हम कर्ल करते हैं http://192.168.0.100:8080तो हम देख सकते हैं कि एक नया कुकी _a49bcसेट किया गया है:
curl -v http://192.168.0.100:8080
* About to connect() to 192.168.0.100 port 8080 (#0)
* Trying 192.168.0.100...
* Connected to 192.168.0.100 (192.168.0.100) port 8080 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: 192.168.0.100:8080
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Length: 17
< Content-Type: text/plain; charset=utf-8
< Date: Sun, 25 Nov 2018 13:18:40 GMT
< Set-Cookie: _a49bc=http://10.0.0.5:8000; Path=/
<
I'm a6a8c9294fc3
* Connection #0 to host 192.168.0.100 left intact
यदि, बाद की कॉल पर, हम इस कुकी को ट्राफिक में भेजते हैं, तो हम हमेशा एक ही कंटेनर में भेजे जाएंगे:
curl http://192.168.0.100:8080 --cookie "_a49bc=http://10.0.0.5:8000"
I'm a6a8c9294fc3
curl http://192.168.0.100:8080 --cookie "_a49bc=http://10.0.0.5:8000"
I'm a6a8c9294fc3
curl http://192.168.0.100:8080 --cookie "_a49bc=http://10.0.0.5:8000"
I'm a6a8c9294fc3
curl http://192.168.0.100:8080 --cookie "_a49bc=http://10.0.0.5:8000"
I'm a6a8c9294fc3
कुकी में कंटेनर के आंतरिक आईपी पते के अलावा कुछ भी नहीं है, जिसे ट्रैफिक को अनुरोध करने के लिए भेजना चाहिए। यदि आप कुकी मूल्य में बदल जाते हैं http://10.0.0.4:8000, तो अनुरोध प्रभावी रूप से अन्य कंटेनर में भेज दिया जाएगा। यदि कुकी को कभी भी ट्राफिक में नहीं भेजा जाता है, तो चिपचिपा सत्र काम नहीं करेगा और आवेदन के कंटेनरों और ट्राफिक कंटेनरों के बीच अनुरोध संतुलित होंगे।
डेबियन 9 पर डॉकटर सीई में लेयर 7 स्टिकी सेशन स्थापित करने के लिए यह सब आवश्यक है।
एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं
LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है
एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है
एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed का उपयोग करता है। क्या थी?
परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।
टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं
FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं
एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा
Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar
अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ