यह दस्तावेज़ कुबेरनेट्स क्लस्टर में जेफ्रॉग आर्टिफैक्टरी स्थापित करने पर मार्गदर्शन प्रदान करता है। यह स्थानीय मशीन पर चलने वाले कुबेरनेट्स वातावरण पर JFrog को स्थापित और कॉन्फ़िगर करने के लिए डेवलपर्स के लिए एक बुनियादी ट्यूटोरियल के रूप में कार्य करता है।
मैं कई अनुप्रयोगों (सेटअप पर्यावरण) के लिए कार्य वातावरण स्थापित करने के लिए डॉकर कंटेनर का उपयोग करता हूं। यह दृष्टिकोण एप्लिकेशन विकास के लिए पूरी तरह से पृथक और रखरखाव योग्य वातावरण सुनिश्चित करता है, जिससे हम इन वातावरणों को आसानी से शुरू और समाप्त कर सकते हैं। वातावरण बनाने के लिए नीचे डॉकर कमांड है।
docker run -it --name test-jfrog-envornment-box -v ${HOME}/root/ -v ${PWD}/work -w /work --net host developerhelperhub/kub-terr-work-env-box sh
कंटेनर में डॉकर, कुबेक्टल, हेल्म, टेराफॉर्म, काइंड, गिट शामिल हैं
मैंने सभी टेराफ़ॉर्म स्क्रिप्ट बनाई हैं, जो GitHub रिपॉजिटरी में उपलब्ध हैं। आप जेनकींस को कुबेरनेट्स क्लस्टर पर डाउनलोड और सेट कर सकते हैं, जो स्थानीय रूप से डॉकर कंटेनर में चलता है।
आरंभ करने के लिए रिपॉजिटरी को क्लोन करें अपनी स्थानीय लिनक्स मशीन पर।
git clone https://github.com/developerhelperhub/kuberentes-help.git cd kuberentes-help/kubenretes/tutorials/sections/0009/
कुबेरनेट्स क्लस्टर स्थापित करें एक डॉकर कंटेनर में काइंड का उपयोग करके, क्लस्टर का नाम "devops-jfrog-क्लस्टर-कंट्रोल-प्लेन" रखें। यह क्लस्टर इनग्रेस का समर्थन करता है और सेवाओं तक पहुंच की अनुमति देने के लिए पोर्ट 80 और 443 को उजागर करता है। क्लस्टर के बाहर से.
क्लस्टर क्रिएट टेराफॉर्म स्क्रिप्ट काइंड फोल्डर के अंतर्गत उपलब्ध है
cd kind terraform init #Install the required providers to set up the necessary resources. terraform plan #Verify the resources that will be installed on the system. terraform apply #Install resources on the system
निम्नलिखित आदेश क्लस्टर को सत्यापित करें
kubectl cluster-info kubectl get nodes -o wide
कुबेरनेट्स क्लस्टर पर Nginx इंग्रेस कंट्रोलर सेटअप करें
कुबेरनेट्स क्लस्टर में सेवाओं तक बाहरी पहुंच का प्रबंधन करने के लिए एनजीआईएनएक्स इनग्रेस कंट्रोलर। यह आपके कुबेरनेट्स अनुप्रयोगों के लिए एक प्रवेश बिंदु के रूप में कार्य करता है, बाहरी HTTP और HTTPS ट्रैफ़िक को क्लस्टर के भीतर उपयुक्त सेवाओं तक पहुंचाता है।
निम्नलिखित आदेश क्लस्टर पर प्रवेश नियंत्रक स्थापित करें
इन्ग्रेस क्रिएट स्क्रिप्ट "इन्ग्रेस" फ़ोल्डर के अंतर्गत उपलब्ध है
cd ingress kubectl apply -f ingress-nginx.yaml
निम्नलिखित आदेश nginx प्रवेश नियंत्रक को सत्यापित करें
kubectl get -n ingress-nginx pod
आउटपुट
NAME READY STATUS RESTARTS AGE ingress-nginx-admission-create-5mt2k 0/1 Completed 0 53s ingress-nginx-admission-patch-w2rlk 0/1 Completed 0 53s ingress-nginx-controller-d45d995d4-gl65h 1/1 Running 0 53s
जेफ्रॉग आर्टिफैक्टरी ओएसएस कम्युनिटी हेल्म रिपॉजिटरी जोड़ें: शुरू करने के लिए, आपको अपने हेल्म क्लाइंट में जेफ्रॉग आर्टिफैक्टरी ओएसएस कम्युनिटी हेल्म रिपॉजिटरी जोड़ना होगा:
नोट: JFrog "jfrog" फ़ोल्डर के अंतर्गत उपलब्ध स्क्रिप्ट बनाता है
helm repo add jfrog https://charts.jfrog.io helm repo update
क्लस्टर में स्थापित सेवाओं के ऐप संस्करण और चार्ट संस्करण को सत्यापित करने के लिए निम्नलिखित कमांड का उपयोग किया जा सकता है:
helm search repo artifactory-oss
इस उदाहरण में, मैं कार्ट संस्करण इंस्टॉल कर रहा हूं "107.90.8" और ऐप संस्करण "7.90.8" है
NAME CHART VERSION APP VERSION DESCRIPTION jfrog/artifactory-oss 107.90.8 7.90.8 JFrog Artifactory OSS
हेल्म-वैल्यू.yaml नाम से एक हेल्म वैल्यूज YAML फ़ाइल बनाएं, जिसका उपयोग JFrog Artifactory OSS सेवा को कॉन्फ़िगर करने के लिए किया जाएगा। इस कॉन्फ़िगरेशन फ़ाइल का उपयोग हेल्म द्वारा क्लस्टर में सेवा स्थापित करने के लिए किया जाएगा।
artifactory: postgresql: postgresqlPassword: postgres_password nginx: enabled: false ingress: enabled: false
उपरोक्त कॉन्फ़िगरेशन में, मैंने निम्नलिखित बिंदुओं को कॉन्फ़िगर किया है:
निम्नलिखित हेल्म कमांड का उपयोग क्लस्टर में आर्टिफैक्टरी को स्थापित करने के लिए किया जाता है। यह क्लस्टर में आवश्यक संसाधन बनाता है, जिसमें "आर्टिफैक्टरी-ओएसएस" नामक नेमस्पेस भी शामिल है, और इस नेमस्पेस के भीतर सभी संसाधनों को स्थापित करता है।
helm install artifactory-oss -f helm-value.yaml jfrog/artifactory-oss --namespace artifactory-oss --create-namespace
हेल्म चार्ट मान: https://github.com/jfrog/charts/blob/master/stable/artifactory-oss/values.yaml
हम सत्यापित कर सकते हैं कि सभी संसाधन "आर्टिफैक्टरी-ओएसएस" नेमस्पेस में स्थापित किए गए हैं। आर्टिफैक्टरी सेवा यूआई पोर्ट 8082 पर चल रही है, जबकि आर्टिफैक्टरी स्वयं पोर्ट 8081 पर काम कर रही है।
kubectl get -n artifactory-oss all NAME READY STATUS RESTARTS AGE pod/artifactory-oss-0 0/7 Running 0 3m19s pod/artifactory-oss-postgresql-0 1/1 Running 0 3m19s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/artifactory-oss ClusterIP 10.96.170.638082/TCP,8025/TCP,8081/TCP 3m19s service/artifactory-oss-postgresql ClusterIP 10.96.95.36 5432/TCP 3m19s service/artifactory-oss-postgresql-headless ClusterIP None 5432/TCP 3m19s NAME READY AGE statefulset.apps/artifactory-oss 0/1 3m19s statefulset.apps/artifactory-oss-postgresql 1/1 3m19s
हमें आर्टिफैक्टरी सेवा के अनुरोधों को रूट करने के लिए एक इनग्रेस संसाधन बनाने की आवश्यकता है। निम्नलिखित कॉन्फ़िगरेशन को ingress-resource.yaml फ़ाइल में जोड़ें।
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: jfrog-ingress namespace: artifactory-oss annotations: nginx.ingress.kubernetes.io/proxy-body-size: "0" spec: ingressClassName: nginx rules: - host: jfrog.artifactory.devops.myapp.com http: paths: - path: / pathType: ImplementationSpecific backend: service: name: artifactory-oss port: number: 8082
हमें प्रॉक्सी-बॉडी-साइज़=0 को कॉन्फ़िगर करने की आवश्यकता है। यह सेटिंग इनग्रेस को निर्देश देती है कि आर्टिफैक्टरी में फ़ाइलें अपलोड करते समय फ़ाइल आकार पर कोई सीमा न लगाई जाए।
क्लस्टर में प्रवेश लागू करने के लिए निम्नलिखित कमांड निष्पादित करें
kubectl apply -f ingress-resource.yaml
सत्यापित करें कि आईपी पता सेट है:
kubectl -n artifactory-oss get ingress NAME CLASS HOSTS ADDRESS PORTS AGE jfrog-ingress nginx jfrog.artifactory.devops.myapp.com localhost 80 2m53s
हमारे डोमेन को अपनी स्थानीय मशीन पर /etc/hosts फ़ाइल के नीचे जोड़ें। यह कॉन्फ़िगरेशन हमारे कार्यशील Linux बॉक्स "test-jfrog-envornment-box" के अंदर नहीं होना चाहिए; इसे आपकी व्यक्तिगत मशीन की /etc/hosts फ़ाइल पर लागू किया जाना चाहिए।
(आपको व्यवस्थापक पहुंच की आवश्यकता होगी):
127.0.0.1 jfrog.artifactory.devops.myapp.com
हम ब्राउज़र में आर्टिफैक्टरी यूआई खोल सकते हैं "http://jfrog.artifactory.devops.myapp.com/"
आप डिफ़ॉल्ट उपयोगकर्ता नाम "एडमिन" और पासवर्ड "पासवर्ड" का उपयोग करके लॉग इन कर सकते हैं। आपके पहले लॉगिन पर, आर्टिफैक्टरी आपको डिफ़ॉल्ट पासवर्ड बदलने के लिए संकेत देगा। पासवर्ड अपडेट करना सुनिश्चित करें, आधार URL को http://jfrog.artifactory.devops.myapp.com (Artifactory Ingress resource में कॉन्फ़िगर किया गया डोमेन) पर सेट करें, और किसी भी अन्य प्रारंभिक कॉन्फ़िगरेशन चरण को छोड़ दें।
हम आर्टिफैक्टरी में निर्भरता और बाइनरी को आगे बढ़ाने के लिए प्रारंभिक रिपॉजिटरी कॉन्फ़िगरेशन बना सकते हैं।
"आर्टिफैक्टरी → कलाकृतियां → रिपॉजिटरी प्रबंधित करें → रिपोजिटरी बनाएं" पर नेविगेट करें और निम्नलिखित रिपॉजिटरी बनाएं:
मैं रिपॉजिटरी को बनाए रखने के लिए मेवेन रिपॉजिटरी का उपयोग कर रहा हूं। कॉन्फ़िगरेशन के बाद हमें "माय-ऐप-स्नैपशॉट" स्थानीय रिपॉजिटरी देनी होगी
कॉन्फ़िगरेशन के बाद हमें "माय-ऐप-सेंट्रल-स्नैपशॉट" स्थानीय रिपॉजिटरी देनी होगी
कॉन्फ़िगरेशन के बाद हमें "माय-ऐप-वर्चुअल-स्नैपशॉट" स्थानीय रिपॉजिटरी देनी होगी
स्थानीय और दूरस्थ रिपॉजिटरी को वर्चुअल रिपॉजिटरी में जोड़ें और "डिफ़ॉल्ट परिनियोजन रिपॉजिटरी" में स्थानीय रिपॉजिटरी का चयन करें।
एक बार सभी रिपॉजिटरी बन जाने के बाद, आप उन्हें "आर्टिफैक्टरी → आर्टिफैक्ट्स" के अंतर्गत मुख्य अनुभाग में देख सकते हैं। वर्चुअल URL http://jfrog.artifactory.devops.myapp.com/artifactory/my-app-virtual-snapshot/ का उपयोग आपके मावेन एप्लिकेशन के लिए किया जाएगा।
हमें आपके मावेन एप्लिकेशन को आर्टिफैक्टरी के साथ प्रमाणित करने में सक्षम करने के लिए मावेन सेटिंग्स कॉन्फ़िगरेशन फ़ाइल "~/.m2/settings.xml" में प्रमाणीकरण विवरण कॉन्फ़िगर करने की आवश्यकता है।
my-app-virtual-snapshot admin Give your artifactory admin passoword
नोट: व्यवस्थापक उपयोगकर्ता का उपयोग यूआई और आर्टिफैक्टरी एक्सेस के लिए नहीं किया जाना चाहिए। इसके बजाय, आर्टिफैक्टरी में पढ़ने और लिखने के लिए उचित अनुमतियों वाला एक कस्टम उपयोगकर्ता बनाएं।
हमने अपने मेवेन एप्लिकेशन POM XML फ़ाइल के अंदर मेवेन रिपॉजिटरी और वितरण प्रबंधन टैग को कॉन्फ़िगर किया है
false my-app-virtual-snapshot my-app-virtual-snapshot http://jfrog.artifactory.devops.myapp.com/artifactory/my-app-virtual-snapshot/ default my-app-virtual-snapshot my-app-virtual-snapshot http://jfrog.artifactory.devops.myapp.com/artifactory/my-app-virtual-snapshot/ default
हम निम्नलिखित कमांड के साथ मावेन एप्लिकेशन को तैनात कर सकते हैं
mvn clean deploy
हम मावेन का निम्नलिखित आउटपुट प्राप्त कर सकते हैं:
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3