"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > कुबेरनेट्स पर जेफ्रॉग आर्टिफैक्टरी सेटअप करें और स्प्रिंग बूट एप्लिकेशन कनेक्ट करें

कुबेरनेट्स पर जेफ्रॉग आर्टिफैक्टरी सेटअप करें और स्प्रिंग बूट एप्लिकेशन कनेक्ट करें

2024-11-08 को प्रकाशित
ब्राउज़ करें:199

यह दस्तावेज़ कुबेरनेट्स क्लस्टर में जेफ्रॉग आर्टिफैक्टरी स्थापित करने पर मार्गदर्शन प्रदान करता है। यह स्थानीय मशीन पर चलने वाले कुबेरनेट्स वातावरण पर JFrog को स्थापित और कॉन्फ़िगर करने के लिए डेवलपर्स के लिए एक बुनियादी ट्यूटोरियल के रूप में कार्य करता है।

DevOps संसाधन बनाने के लिए स्थानीय वातावरण सेटअप करें

मैं कई अनुप्रयोगों (सेटअप पर्यावरण) के लिए कार्य वातावरण स्थापित करने के लिए डॉकर कंटेनर का उपयोग करता हूं। यह दृष्टिकोण एप्लिकेशन विकास के लिए पूरी तरह से पृथक और रखरखाव योग्य वातावरण सुनिश्चित करता है, जिससे हम इन वातावरणों को आसानी से शुरू और समाप्त कर सकते हैं। वातावरण बनाने के लिए नीचे डॉकर कमांड है।

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

उपरोक्त कॉन्फ़िगरेशन में, मैंने निम्नलिखित बिंदुओं को कॉन्फ़िगर किया है:

  • हेल्म डिफ़ॉल्ट PostgreSQL डेटाबेस का उपयोग कर रहा है, जहां मैंने डेटाबेस पासवर्ड निर्दिष्ट किया है।
  • एनजीआईएनएक्स और इनग्रेस संसाधन अक्षम हैं।

निम्नलिखित हेल्म कमांड का उपयोग क्लस्टर में आर्टिफैक्टरी को स्थापित करने के लिए किया जाता है। यह क्लस्टर में आवश्यक संसाधन बनाता है, जिसमें "आर्टिफैक्टरी-ओएसएस" नामक नेमस्पेस भी शामिल है, और इस नेमस्पेस के भीतर सभी संसाधनों को स्थापित करता है।

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.63           8082/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/"

Setup JFrog Artifactory on Kubernetes and Connect Spring Boot Application

आप डिफ़ॉल्ट उपयोगकर्ता नाम "एडमिन" और पासवर्ड "पासवर्ड" का उपयोग करके लॉग इन कर सकते हैं। आपके पहले लॉगिन पर, आर्टिफैक्टरी आपको डिफ़ॉल्ट पासवर्ड बदलने के लिए संकेत देगा। पासवर्ड अपडेट करना सुनिश्चित करें, आधार URL को http://jfrog.artifactory.devops.myapp.com (Artifactory Ingress resource में कॉन्फ़िगर किया गया डोमेन) पर सेट करें, और किसी भी अन्य प्रारंभिक कॉन्फ़िगरेशन चरण को छोड़ दें।

हम आर्टिफैक्टरी में निर्भरता और बाइनरी को आगे बढ़ाने के लिए प्रारंभिक रिपॉजिटरी कॉन्फ़िगरेशन बना सकते हैं।

"आर्टिफैक्टरी → कलाकृतियां → रिपॉजिटरी प्रबंधित करें → रिपोजिटरी बनाएं" पर नेविगेट करें और निम्नलिखित रिपॉजिटरी बनाएं:

  • स्थानीय: यह रिपॉजिटरी आपके एप्लिकेशन बायनेरिज़ का प्रबंधन करती है। उदाहरण के लिए "माय-ऐप-स्नैपशॉट"
  • रिमोट: यह रिपॉजिटरी आपके एप्लिकेशन में उपयोग की गई सभी निर्भरताओं को संग्रहीत करती है, जिसे केंद्रीय रिपॉजिटरी से डाउनलोड किया जाएगा और रिपॉजिटरी में संग्रहीत किया जाएगा। उदाहरण के लिए "माय-ऐप-सेंट्रल-स्नैपशॉट"
  • वर्चुअल: यह वर्चुअल रिपॉजिटरी एक सामान्य समापन बिंदु प्रदान करता है जो "स्थानीय" और "रिमोट" रिपॉजिटरी को एकत्रित करता है। यह समापन बिंदु आपके एप्लिकेशन में कॉन्फ़िगर किया जाएगा। "माई-ऐप-वर्चुअल-स्नैपशॉट"

मैं रिपॉजिटरी को बनाए रखने के लिए मेवेन रिपॉजिटरी का उपयोग कर रहा हूं। कॉन्फ़िगरेशन के बाद हमें "माय-ऐप-स्नैपशॉट" स्थानीय रिपॉजिटरी देनी होगी

Setup JFrog Artifactory on Kubernetes and Connect Spring Boot Application

कॉन्फ़िगरेशन के बाद हमें "माय-ऐप-सेंट्रल-स्नैपशॉट" स्थानीय रिपॉजिटरी देनी होगी

Setup JFrog Artifactory on Kubernetes and Connect Spring Boot Application

कॉन्फ़िगरेशन के बाद हमें "माय-ऐप-वर्चुअल-स्नैपशॉट" स्थानीय रिपॉजिटरी देनी होगी

Setup JFrog Artifactory on Kubernetes and Connect Spring Boot Application

Setup JFrog Artifactory on Kubernetes and Connect Spring Boot Application

स्थानीय और दूरस्थ रिपॉजिटरी को वर्चुअल रिपॉजिटरी में जोड़ें और "डिफ़ॉल्ट परिनियोजन रिपॉजिटरी" में स्थानीय रिपॉजिटरी का चयन करें।

एक बार सभी रिपॉजिटरी बन जाने के बाद, आप उन्हें "आर्टिफैक्टरी → आर्टिफैक्ट्स" के अंतर्गत मुख्य अनुभाग में देख सकते हैं। वर्चुअल URL http://jfrog.artifactory.devops.myapp.com/artifactory/my-app-virtual-snapshot/ का उपयोग आपके मावेन एप्लिकेशन के लिए किया जाएगा।

Setup JFrog Artifactory on Kubernetes and Connect Spring Boot Application

हमें आपके मावेन एप्लिकेशन को आर्टिफैक्टरी के साथ प्रमाणित करने में सक्षम करने के लिए मावेन सेटिंग्स कॉन्फ़िगरेशन फ़ाइल "~/.m2/settings.xml" में प्रमाणीकरण विवरण कॉन्फ़िगर करने की आवश्यकता है।

my-app-virtual-snapshotadminGive your artifactory admin passoword

नोट: व्यवस्थापक उपयोगकर्ता का उपयोग यूआई और आर्टिफैक्टरी एक्सेस के लिए नहीं किया जाना चाहिए। इसके बजाय, आर्टिफैक्टरी में पढ़ने और लिखने के लिए उचित अनुमतियों वाला एक कस्टम उपयोगकर्ता बनाएं।

हमने अपने मेवेन एप्लिकेशन POM XML फ़ाइल के अंदर मेवेन रिपॉजिटरी और वितरण प्रबंधन टैग को कॉन्फ़िगर किया है

falsemy-app-virtual-snapshotmy-app-virtual-snapshothttp://jfrog.artifactory.devops.myapp.com/artifactory/my-app-virtual-snapshot/defaultmy-app-virtual-snapshotmy-app-virtual-snapshothttp://jfrog.artifactory.devops.myapp.com/artifactory/my-app-virtual-snapshot/default

हम निम्नलिखित कमांड के साथ मावेन एप्लिकेशन को तैनात कर सकते हैं

mvn clean deploy

हम मावेन का निम्नलिखित आउटपुट प्राप्त कर सकते हैं:

Setup JFrog Artifactory on Kubernetes and Connect Spring Boot Application

रेफरेंस गिट रेपो

  • https://github.com/developerhelperhub/spring-boot-jfrog-artifact-app
  • https://github.com/developerhelperhub/kuberentes-help/tree/main/kubenretes/tutorials/sections/0009
विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/binoy_59380e698d318/setup-jfrog-artifactory-on-kubernetes-and-connect-spring-boot-application-1n4c?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 से संपर्क करें इसे हटाने के लिए .com
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3