CentOS 7 पर कुबेदम के साथ कुबेरनेट्स तैनात करें
अवलोकन यह लेख आपको कुबेरनेट क्लस्टर प्राप्त करने और कुछ ही समय में कुबेदम के साथ चलने में मदद करने के लिए है। यह गाइड दो सर्वरों को तैनात करेगा
डॉकर झुंड आपके अलग-अलग सर्वरों को कंप्यूटर के क्लस्टर में बदल देता है; स्केलिंग, उच्च-उपलब्धता और लोड-संतुलन की सुविधा। झुंड लोड-बैलेंसर एक राउंड-रॉबिन लोड-बैलेंसिंग रणनीति को लागू करता है, और यह (विरासत) स्टेटफुल अनुप्रयोगों के सही कामकाज को बाधित कर सकता है, जिन्हें कई उदाहरणों के साथ उच्च-उपलब्ध सेटअप की अनुमति देने के लिए चिपचिपा सत्रों के कुछ प्रकार की आवश्यकता होती है। डॉकर एंटरप्राइज एडिशन लेयर -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 स्टिकी सेशन स्थापित करने के लिए यह सब आवश्यक है।
अवलोकन यह लेख आपको कुबेरनेट क्लस्टर प्राप्त करने और कुछ ही समय में कुबेदम के साथ चलने में मदद करने के लिए है। यह गाइड दो सर्वरों को तैनात करेगा
परिचय डॉकटर एक ऐसा एप्लिकेशन है जो हमें कंटेनरों के रूप में चलाए जाने वाले कार्यक्रमों को तैनात करने की अनुमति देता है। यह लोकप्रिय गो प्रोग्रामिंग भाषा में लिखा गया था
यह लेख आपको दिखाएगा कि कैसे एक डॉकटर कंटेनर के भीतर अपने नोड एप्लिकेशन को तैनात किया जाए। नोट: यह ट्यूटोरियल मानता है कि आपके पास डॉकर इंस्टॉल और पढ़ा गया है
PHP अनुप्रयोगों को आमतौर पर एक वेबसर्वर, एक रिलेशनल डेटाबेस सिस्टम और भाषा दुभाषिया द्वारा ही बनाया जाता है। इस ट्यूटोरियल में हम लेवरगिन होंगे
Kubernetes सर्वरों के एक समूह में कंटेनरीकृत अनुप्रयोगों के प्रबंधन के लिए Google द्वारा विकसित एक खुला स्रोत मंच है। यह एक दशक और बनाता है
एक अलग प्रणाली का उपयोग? परिचय Rancher कंटेनर चलाने और एक निजी कंटेनर सेवा बनाने के लिए एक खुला स्रोत मंच है। रंचर आधार है
यह आलेख बताता है कि कोरओएस पर डॉकटर-कंपोज़ कैसे स्थापित करें। CoreOS में, / usr / फ़ोल्डर अपरिवर्तनीय है, इसलिए मानक / usr / स्थानीय / बिन पथ अनुपलब्ध है
हम सभी जानते हैं और कई मशीनों में एप्लिकेशन कंटेनरों को बनाने, प्रबंधित करने और वितरित करने के लिए प्लेटफ़ॉर्म डॉकर को प्यार करते हैं�� Docker Inc. एक सेवा प्रदान करता है
एक अलग प्रणाली का उपयोग? परिचय Rancher कंटेनर चलाने और एक निजी कंटेनर सेवा बनाने के लिए एक खुला स्रोत मंच है। रंचर आधार है
परिचय यह मार्गदर्शिका आपको दिखाएगी कि कैसे कई अल्पाइन लिनक्स 3.9.0 सर्वरों और पोर्टेनर का उपयोग करके डोकर झुंड को बनाया और कॉन्फ़िगर किया जा सकता है। कृपया सचेत रहें
एक अलग प्रणाली का उपयोग? परिचय डॉकर झुंड आपके अलग-अलग सर्वरों को कंप्यूटर के क्लस्टर में बदल देता है, स्केलिंग की सुविधा देता है, उच्च-उपलब्धता ए
एक अलग प्रणाली का उपयोग? डॉकर एक ऐसा एप्लिकेशन है जो वर्चुअल कंटेनर के भीतर सॉफ्टवेयर की तैनाती की अनुमति देता है। यह गो कार्यक्रम में लिखा गया था
अवलोकन RancherOS एक अविश्वसनीय रूप से हल्का ऑपरेटिंग सिस्टम (केवल 60 एमबी के बारे में) है जो एक ऐसी प्रणाली चलाता है जो पीआईडी 0 के रूप में डॉकर डेमन चलाता है।
यह ट्यूटोरियल डॉकर के साथ आरंभ करने की मूल बातें बताता है। मुझे लगता है कि आपके पास पहले से डॉकर इंस्टॉल है। इस ट्यूटोरियल के स्टेप्स a पर काम करेंगे
वेब एप्लिकेशन चलाते समय, आप आमतौर पर मल्टीथ्रेडिंग ओ का उपयोग करने के लिए अपने सॉफ़्टवेयर को परिवर्तित किए बिना अपने संसाधनों का अधिकतम उपयोग करना चाहते हैं
पूर्वापेक्षा डॉक इंजन 1.8+। न्यूनतम 4GB डिस्क स्थान। न्यूनतम 4GB RAM। चरण 1. SQL- सर्वर, डॉकर बाहों को स्थापित करने के लिए डोकर स्थापित करें
एक अलग प्रणाली का उपयोग? परिचय डॉकटर एक ऐसा एप्लिकेशन है जो वर्चुअल कंटेनर के भीतर सॉफ्टवेयर की तैनाती की अनुमति देता है। यह G में लिखा गया था
एक अलग प्रणाली का उपयोग? डॉकर एक ऐसा एप्लिकेशन है जो कंटेनर के रूप में चलाए जाने वाले कार्यक्रमों को तैनात करने की अनुमति देता है। यह लोकप्रिय गो कार्यक्रम में लिखा गया था
एक अलग प्रणाली का उपयोग? परिचय संतरी त्रुटि ट्रैकिंग के लिए एक खुला स्रोत समाधान है। संतरी अपवादों को ट्रैक करता है और अन्य उपयोगी संदेश फ्रॉस्ट करता है
LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है
एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं
एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है
टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं
परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।
एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed का उपयोग करता है। क्या थी?
FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं
एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा
Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar
अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ