CentOS 7 पर कुबेदम के साथ कुबेरनेट्स तैनात करें
अवलोकन यह लेख आपको कुबेरनेट क्लस्टर प्राप्त करने और कुछ ही समय में कुबेदम के साथ चलने में मदद करने के लिए है। यह गाइड दो सर्वरों को तैनात करेगा
हम सभी जानते हैं और कई मशीनों में एप्लिकेशन कंटेनरों को बनाने, प्रबंधित करने और वितरित करने के लिए प्लेटफ़ॉर्म डॉकर को प्यार करते हैं। डॉकर इंक एक स्रोत प्रदान करता है जो ओपन सोर्स कंटेनरों को होस्ट करने के लिए डाउनलोड किया जाता है (या खींचा जाता है) जैसे एक गेट रिपॉजिटरी जिसे "डॉकर रजिस्ट्री" कहा जाता है। इसे डॉकटर कंटेनरों के लिए गीथहब की तरह समझें।
लेकिन क्या होगा अगर आप सार्वजनिक से अलग अपनी रजिस्ट्री की मेजबानी करना चाहते हैं? खैर, डॉकटर इंक ने गिटहब पर अपने रजिस्ट्री आवेदन को खोल दिया है।
यह ट्यूटोरियल आपको एक नए VPS पर CoreOS का उपयोग करके एक निजी डॉकर रजिस्ट्री स्थापित करने की प्रक्रिया में ले जाएगा।
हम उस डॉकटर और कोरओएस के ठीक वैसा ही होने में एक टन खर्च करेंगे, जैसा कि इस ट्यूटोरियल के दायरे से बाहर है। संक्षेप में, CoreOS को बड़े पैमाने पर सर्वर क्लस्टर के लिए डिज़ाइन किया गया है, यह छोटा है, तेज़ है और स्वचालित रूप से नियमित सुरक्षा अपडेट प्राप्त करता है। इसकी रूट फाइल सिस्टम भी केवल पढ़ने के लिए है, जिसका अर्थ है कि आपको किसी भी प्रकार के सॉफ़्टवेयर को चलाने के लिए Docker का उपयोग करना होगा जो आधार स्थापित के साथ शामिल नहीं है।
यह कोर ओएस को डॉकर के लिए एक आदर्श होस्ट सिस्टम बनाता है!
डॉकर इंक ने रजिस्ट्री को एक शीर्ष स्तर की छवि के रूप में प्रदान किया है, इसका मतलब है कि हम इसे एक सरल के साथ नीचे खींच सकते हैं:
docker pull registry
कनेक्शन की गति के आधार पर इसमें कुछ मिनट लग सकते हैं।
एक उच्च स्तरीय छवि होने का एक मतलब यह भी है कि इसे नियमित रूप से समर्थन और अपडेट मिलता है।
अब रजिस्ट्री का परीक्षण करते हैं। हम रजिस्ट्री छवि का उपयोग करके एक नया कंटेनर बना सकते हैं:
docker run -p 5000:5000 -d --name=basic_registry registry
जिन लोगों ने डॉकटर का बहुत अधिक उपयोग नहीं किया है, उनके लिए -p
ध्वज खड़ा है PORT
, जिसका अर्थ है कि हम कंटेनर से होस्ट 5000 पोर्ट पर पोर्ट 5000 का पर्दाफाश कर रहे हैं।
-d
झंडा खड़ा के लिए daemon
, इस कंटेनर पृष्ठभूमि में चलाने के लिए और मौजूदा SSH सत्र के उत्पादन मुद्रित नहीं होगा, हम भी इस बुनियादी परीक्षण कंटेनर का उपयोग कर नामकरण करना चाहते हैं --name
विकल्प ताकि हम उसे बाद में आसानी से प्रबंधित कर सकते।
सुनिश्चित करें कि आपका मूल रजिस्ट्री कंटेनर उपयोग करके चल रहा है docker ps
। आउटपुट के समान दिखना चाहिए:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
edfb54e4a8c4 registry:0.8.1 "/bin/sh -c 'exec do 7 seconds ago Up 6 seconds 0.0.0.0:5000->5000/tcp basic_registry
इसके अलावा, http://YOUR_IP:5000
अपने वेब ब्राउज़र में जाएँ , और आपको निम्न जैसा एक संदेश मिलना चाहिए:
"docker-registry server (dev) (v0.8.1)"
dev
कोष्ठक में शब्द पर ध्यान दें । इसका मतलब है कि सर्वर वर्तमान में देव कॉन्फिग चला रहा है। हम जल्द ही और अधिक विन्यास देखेंगे।
अब आपके पास अपना (बहुत मूल) कंटेनर रजिस्ट्री चल रहा है! लेकिन हम अभी तक नहीं किया है।
हो सकता है कि आप इस निजी को चुभने वाली नज़रों से बचाना चाहते हों, या हो सकता है कि अपनी तस्वीरों को स्थानीय स्टोरेज के बजाय अमेज़न S3 पर स्टोर कर सकें। आइए अगले अनुभाग में विभिन्न कॉन्फ़िगरेशन विकल्पों पर जाएं।
इससे पहले कि हम आगे बढ़ें, हम परीक्षण कंटेनर को मार दें ताकि हम परस्पर विरोधी बंदरगाहों में न चलें।
docker kill basic_registry
दो तरीके हैं जिनसे हम डॉकटर रजिस्ट्री में कॉन्फ़िगरेशन पास कर सकते हैं। एक तरीका एक नए कंटेनर में पर्यावरण चर को पार करके है, और दूसरा एक कॉन्फ़िगरेशन फ़ाइल को जोड़ना है।
यहां कुछ सामान्य कॉन्फ़िगरेशन विकल्प दिए गए हैं जिनका हम उपयोग कर रहे हैं:
loglevel
- कंसोल में लॉग करने के लिए न्यूनतम जानकारी। डिफ़ॉल्ट है info
।standalone
- क्या यह रजिस्ट्री अपने दम पर होनी चाहिए? (कभी भी सार्वजनिक रजिस्ट्री पर सवाल नहीं उठाता।) डिफ़ॉल्ट है true
।index_endpoint
- यदि स्टैंडअलोन नहीं है, तो हम किस अन्य सूचकांक में क्वेरी करेंगे? डिफ़ॉल्ट index.docker.io
।cache
और cache_lru
- छोटी फ़ाइलों के लिए रेडिस कैश का उपयोग करने से संबंधित विकल्प, हम इस पर बाद में स्पर्श करेंगे।storage
- इस सर्वर के लिए हमें कौन से स्टोरेज बैकएंड का उपयोग करना चाहिए? (इस ट्यूटोरियल में हम स्थानीय का उपयोग करेंगे)।storage_path
- स्थानीय भंडारण का उपयोग करते समय, फाइलों को रखने के लिए हमें किस निर्देशिका का उपयोग करना चाहिए?इससे पहले कि हम कॉन्फ़िगरेशन के साथ काम करें, हमें काम करने के लिए एक बेस फाइल की आवश्यकता है। GitHub पर डॉकर रजिस्ट्री रिपॉजिटरी की फ़ाइल ठीक काम करेगी:
wget https://raw.githubusercontent.com/docker/docker-registry/0.8/config/config_sample.yml
फ़ाइल को आउटपुट के साथ सफलतापूर्वक सहेजना चाहिए जैसे:
2014-09-14 14:09:01 (156 MB/s) - 'config_sample.yml' saved [5384/5384]
महान! अब हम अपनी आवश्यकताओं को पूरा करने के लिए इस फाइल को संशोधित कर सकते हैं।
कोर ओएस के साथ आने वाला एकमात्र टेक्स्ट एडिटर है vim
, लेकिन चिंता न करें अगर आपने इसे पहले कभी इस्तेमाल नहीं किया है, तो यह कदम से कदम समझाएगा कि इसे कैसे संपादित किया जाए और इसे कैसे किया जाए।
vim config_sample.yml
एक बार जब आप फ़ाइल को खोलते हैं, तो हिट करें I
और नीचे दाएं कोने को प्रदर्शित करना चाहिए: -- INSERT --
सम्मिलित मोड के लिए। अपने तीर कुंजियों का उपयोग करके फ़ाइल के निचले भाग तक सभी को स्क्रॉल करें, आपको एक खंड लेबल देखना चाहिए prod
।
हम दो पंक्तियों को बदल देंगे, परिवर्तन नीचे हैं
prod:
<<: *local
storage_path: _env:STORAGE_PATH:/data
हमने जो किया है prod
वह local
खंड के बजाय अनुभाग से प्राप्त करने के लिए कॉन्फ़िगरेशन को बदलना है s3
। फिर हमने नए कंटेनर के अंदर storage_path
पथ का उपयोग करने के लिए ओवरवोट किया /data
।
एक बार जब आप पुष्टि कर लेते हैं कि सभी परिवर्तन सही हैं, तो ESC
सम्मिलित करें मोड से बाहर निकलें और टाइप करें :wq
(इसका मतलब है कि फ़ाइल में परिवर्तन लिखें, और रिम छोड़ दें।)
अब फाइल का नाम बदलकर बस config.yml
mv config_sample.yml config.yml
यदि आप अपने कंटेनर रजिस्ट्री को तेज करने के लिए रेडिस का उपयोग करना चाहते हैं, तो यह उतना ही सरल है जितना कि सार्वजनिक रजिस्ट्री से एक नया कंटेनर खींचना और कॉन्फ़िगरेशन की कुछ और पंक्तियों को जोड़ना।
सबसे पहले, रेडिस के शीर्ष स्तर की छवि को खींचें:
docker pull redis
एक बार छवि को सफलतापूर्वक खींचने के बाद, हम इसे चला सकते हैं और इसे वैसे ही नाम दे सकते हैं जैसे हमने परीक्षण रजिस्ट्री के साथ किया था:
docker run -d --name registry-redis redis
क्योंकि रेडिस स्मृति में है, हमें इसके लिए कोई कॉन्फ़िगरेशन करने की आवश्यकता नहीं है, क्योंकि हम इसे बाद के चरणों में रजिस्ट्री कंटेनर से जोड़ देंगे।
एक बार फिर, सुनिश्चित करें कि इसका उपयोग करके चल रहा है docker ps
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
54f65641eccf redis:2.8 "redis-server" 2 seconds ago Up 1 seconds 6379/tcp registry-redis
अब पहली बार जैसे ही हमने इसे संपादित किया, वैसे ही config.yml
इन -री-ओपन करें vim
और इंसर्ट मोड डालें।
prod
अनुभाग के नीचे निम्नलिखित पंक्तियों को जोड़ें , ठीक से इंडेंट करना सुनिश्चित करें। इस बार हम केवल जोड़ रहे हैं cache
और cache_lru
।
cache:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 0
cache_lru:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 1
पर्यावरण चर REDIS_PORT_6379_TCP_ADDR
और REDIS_PORT_6379_TCP_PORT
रजिस्ट्री कंटेनर को Redis कंटेनर के साथ लिंकेज पर पारित किया जाता है।
इसके साथ, अब आपके पास एक रेडिस कंटेनर है जो आपके रजिस्ट्री कंटेनर के साथ हाथ से काम करेगा। अब रजिस्ट्री बनाने पर!
हमारे पास सभी कॉन्फ़िगरेशन सेट और तैयार हैं, अब हमें वास्तविक रजिस्ट्री कंटेनर बनाने की आवश्यकता है।
vim Dockerfile
एक नई डॉकफाइल बनाने के लिए आग । इन्सर्ट मोड डालें और नीचे दिए गए संपादन का पालन करें।
FROM registry:latest
# Add the custom configuration file we made
ADD ./config.yml /docker-registry/config/config.yml
# Create the data directory
RUN mkdir /data
# Set the configuration file to config.yml
env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
# Make sure we use the prod configuration settings
env SETTINGS_FLAVOR prod
हमने जो ऊपर किया है वह अनिवार्य रूप से रजिस्ट्री छवि का विस्तार करता है इसलिए यह हमारी कॉन्फ़िगरेशन फ़ाइल और सेटिंग्स का उपयोग करेगा। Dockerfile, Docker को पढ़ने और बनाने के लिए बिल्ड निर्देशों का एक सेट है। यदि आप Dockerfiles और उनके सिंटैक्स पर अधिक जानना चाहते हैं, तो आधिकारिक Docker साइट प्रलेखन पर एक नज़र डालें।
अगला हमें उपयोग के लिए कंटेनर बनाने की आवश्यकता है।
docker build -t my_registry .
Sending build context to Docker daemon 13.82 kB
Sending build context to Docker daemon
Step 0 : FROM registry
---> e42d15ec8417
Step 1 : ADD ./config.yml /docker-registry/config/config.yml
---> 4339f026d459
Removing intermediate container 2d5138fbcd34
Step 2 : RUN mkdir /data
---> Running in a090f0bdbfd1
---> 8eb27ba6e12a
Removing intermediate container a090f0bdbfd1
Step 3 : env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
---> Running in 565b5bfb2b22
---> 914462e46dc0
Removing intermediate container 565b5bfb2b22
Step 4 : env SETTINGS_FLAVOR prod
---> Running in 31a92847b851
---> b5949575c374
Removing intermediate container 31a92847b851
Successfully built b5949575c374
अब हम दौड़ने के लिए तैयार हैं!
चलिए कंटेनर में /data
वॉल्यूम के रूप में माउंट करने के लिए हमारे होस्ट सिस्टम पर एक निर्देशिका बनाते हैं ।
mkdir registry-data
अब हम एक नए कंटेनर को स्पिन कर सकते हैं। यदि आप Redis cache का उपयोग करने की योजना बना रहे हैं, तो नीचे दिए गए 2nd कमांड का उपयोग करें।
# For a non-Redis cache registry
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg my_registry
# For a Redis cached registry (Must have followed Redis Caching section above)
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg --link registry-redis:redis my_registry
यह सुनिश्चित करने के लिए कि आपका सर्वर सही तरीके से चल रहा है, पर जाएँ http://YOUR_IP:5000
। आप निम्न संदेश देखेंगे:
"docker-registry server (prod) (v0.8.1)"
ध्यान दें कि (prod)
हमारे कॉन्फ़िगरेशन परिवर्तन सफल रहे थे!
अब जबकि हमारी अपनी रजिस्ट्री चल रही है, हम चाहते हैं कि हमारी स्थानीय मशीनों पर डॉकर क्लाइंट इसका उपयोग शुरू कर दे। आमतौर पर आप कमांड का उपयोग करेंगे: docker login
लेकिन हमारे उपयोग के लिए, हमें लॉगिन कमांड में एक और तर्क जोड़ना होगा:
docker login YOUR_IP:5000
एक उपयोगकर्ता नाम और पासवर्ड दर्ज करें (एक नया खाता बनाने की तरह सोचें) और उस संदेश को अनदेखा करें जो बताता है कि आपको इसे सक्रिय करना होगा।
अगला, चलो एक स्टॉक छवि खींचते हैं, और इसे अपने स्वयं के भंडार तक धकेल देते हैं।
# Pull the busybox image from the public registry
docker pull busybox
# Tag it with our IP/URL
docker tag busybox YOUR_IP:5000/busybox
# Push it to our newly made registry
docker push YOUR_IP:5000/busybox
यदि सब कुछ सही ढंग से धक्का देता है, तो अंतिम संदेश की पंक्तियों के साथ होना चाहिए:
Pushing tag for rev [a9eb17255234] on
बधाई हो! आप अपने खुद के docker रिपॉजिटरी को सेटअप करते हैं।
यहां अपनी नई निजी रजिस्ट्री को बेहतर बनाने के बारे में कुछ विचार दिए गए हैं:
अवलोकन यह लेख आपको कुबेरनेट क्लस्टर प्राप्त करने और कुछ ही समय में कुबेदम के साथ चलने में मदद करने के लिए है। यह गाइड दो सर्वरों को तैनात करेगा
परिचय डॉकटर एक ऐसा एप्लिकेशन है जो हमें कंटेनरों के रूप में चलाए जाने वाले कार्यक्रमों को तैनात करने की अनुमति देता है। यह लोकप्रिय गो प्रोग्रामिंग भाषा में लिखा गया था
यह लेख आपको दिखाएगा कि कैसे एक डॉकटर कंटेनर के भीतर अपने नोड एप्लिकेशन को तैनात किया जाए। नोट: यह ट्यूटोरियल मानता है कि आपके पास डॉकर इंस्टॉल और पढ़ा गया है
PHP अनुप्रयोगों को आमतौर पर एक वेबसर्वर, एक रिलेशनल डेटाबेस सिस्टम और भाषा दुभाषिया द्वारा ही बनाया जाता है। इस ट्यूटोरियल में हम लेवरगिन होंगे
Kubernetes सर्वरों के एक समूह में कंटेनरीकृत अनुप्रयोगों के प्रबंधन के लिए Google द्वारा विकसित एक खुला स्रोत मंच है। यह एक दशक और बनाता है
एक अलग प्रणाली का उपयोग? परिचय Rancher कंटेनर चलाने और एक निजी कंटेनर सेवा बनाने के लिए एक खुला स्रोत मंच है। रंचर आधार है
यह आलेख बताता है कि कोरओएस पर डॉकटर-कंपोज़ कैसे स्थापित करें। CoreOS में, / usr / फ़ोल्डर अपरिवर्तनीय है, इसलिए मानक / usr / स्थानीय / बिन पथ अनुपलब्ध है
एक अलग प्रणाली का उपयोग? परिचय 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 फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ