এই নির্দেশিকায় এয়ার-গ্যাপ করা Google Distributed Cloud (GDC) এনভায়রনমেন্টে Apigee Edge for Private Cloud এবং API প্রক্সি কীভাবে ইনস্টল ও ডিপ্লয় করতে হয় তা বর্ণনা করা হয়েছে। GDC এয়ার-গ্যাপড অফারিং, যার মধ্যে প্রাইভেট ক্লাউডের জন্য Apigee Edge অন্তর্ভুক্ত, ইনফ্রাস্ট্রাকচার ও পরিষেবা ম্যানেজ করার জন্য Google Cloud-এর সাথে কানেক্ট করার প্রয়োজন হয় না। আপনি সমস্ত অপারেশনের জন্য আপনার প্রাঙ্গণে হোস্ট করা একটি লোকাল কন্ট্রোল প্লেন ব্যবহার করতে পারেন। GDC এয়ার-গ্যাপের ওভারভিউ পেতে, ওভারভিউ দেখুন।
এই গাইড Apigee অপারেটরদের জন্য লেখা হয়েছে যারা Apigee Edge for Private Cloud-এর সাথে পরিচিত এবং Kubernetes সম্পর্কে প্রাথমিক ধারণা রাখেন।
প্রয়োজনীয় ধাপের ওভারভিউ
এয়ার-গ্যাপড GDC এনভায়রনমেন্টে Apigee Edge for Private Cloud ইনস্টল ও ডেপ্লয় করতে, অপারেটরকে নিম্নলিখিত ধাপগুলি সম্পূর্ণ করতে হবে:
- প্রাইভেট ক্লাউডের জন্য Apigee Edge-এর ইনস্টলেশন ফাইল পান।
- স্টোরেজ বাকেট সেট-আপ করুন।
- একটি রেপোজিটরি নোড সেট-আপ করুন।
- Apigee নোড ডেপ্লয় করুন।
- কন্ট্রোল নোড সেট-আপ করুন।
- Ansible কনফিগার করুন।
- Apigee কম্পোনেন্ট ইনস্টল করুন।
- পড ও পরিষেবা ডেপ্লয় করুন।
- আপলোডার ও Fluent Bit ফরওয়ার্ডারের IP আপডেট করুন।
- Apigee সংস্থা অনবোর্ড করুন।
- HTTP কানেক্টিভিটি পরীক্ষা করুন।
- TLS কনফিগার করুন এবং HTTPS পরীক্ষা করুন।
শুরু করার আগে
ইনস্টলেশন প্রসেস শুরু করার আগে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করতে ভুলবেন না:
- আপনার আগে থেকে কোনও GDC প্রোজেক্ট না থাকলে, ইনস্টলেশনের জন্য একটি তৈরি করুন। আরও তথ্যের জন্য, প্রোজেক্ট তৈরি করুন দেখুন।
- GDC কানেক্ট করা ওয়ার্কস্টেশনে অথবা আপনার সংস্থার কন্টিনিউয়াস ডিপ্লয়মেন্ট এনভায়রনমেন্টের মধ্যে
gdcloudCLI ডাউনলোড, ইনস্টল, এবং কনফিগার করুন। gdcloudCLI ওkubectlAPI ব্যবহার করার জন্য প্রয়োজনীয় ক্রেডেনশিয়াল পান। প্রয়োজনীয় ধাপগুলি জানতে অ্যাক্সেস পেতে আপনার অ্যাকাউন্ট যাচাই করুন লিঙ্কে দেখুন।- আপনার Apigee অ্যাকাউন্ট ম্যানেজারের থেকে পাওয়া Apigee ইউজারনেম ও পাসওয়ার্ড কনফার্ম করুন।
- আপনার GKE অ্যাডমিন ক্লাস্টার ও GKE ব্যবহারকারী ক্লাস্টারের নাম কনফার্ম করুন।
ক্যাপাসিটি সংক্রান্ত প্রয়োজনীয়তা
GDC-তে Private Cloud-এর জন্য Apigee Edge ইনস্টল করতে, নির্দিষ্ট রিসোর্স অ্যাসাইনমেন্ট সহ একাধিক ভার্চুয়াল মেশিন (VM) প্রয়োজন হয়। এইসব VM-এর জন্য কম্পিউট রিসোর্স (RAM, vCPU কোর) এবং লোকাল ডিস্ক স্টোরেজের ভিত্তিতে চার্জ করা হয়। আরও তথ্যের জন্য, মূল্য দেখুন।
নিচের সারণীতে প্রতিটি VM-এর জন্য প্রয়োজনীয় রিসোর্স দেখানো হয়েছে:
| VM-এর ধরন | RAM | vCPU কোর | ডিস্ক স্টোরেজ |
|---|---|---|---|
| Repo নোড | ৮ জিবি | ২-vCPU কোর | ৬৪ জিবি |
| কন্ট্রোল নোড | ৮ জিবি | ২-vCPU কোর | ৬৪ জিবি |
| Apigee API ম্যানেজমেন্ট নোড ১, ২ ও ৩ | ১৬ জিবি র্যাম | ৮-vCPU কোর | ৬৭০ জিবি |
| Apigee API ম্যানেজমেন্ট নোড ৪ ও ৫ | ১৬ জিবি র্যাম | ৮-vCPU কোর | ৫০০ জিবি - ১টিবি |
ভূমিকা ও অনুমতি
এয়ার-গ্যাপড GDC এনভায়রনমেন্টে প্রাইভেট ক্লাউডের জন্য Apigee Edge ডেপ্লয় করতে নিম্নলিখিত ভূমিকা ও অনুমতি প্রয়োজন:
- প্ল্যাটফর্ম অ্যাডমিনিস্ট্রেটর (PA):
IAM Adminভূমিকা অ্যাসাইন করুন। - অ্যাপ্লিকেশন অপারেটর (AO): নিম্নলিখিত ভূমিকাগুলি অ্যাসাইন করুন:
Harbor Instance Admin: প্রোজেক্টে Harbor ইনস্ট্যান্স ম্যানেজ করার সম্পূর্ণ অ্যাক্সেস আছে।LoggingTarget Creator: প্রোজেক্ট নেমস্পেসেLoggingTargetকাস্টম রিসোর্স তৈরি করে।LoggingTarget Editor: প্রোজেক্ট নেমস্পেসে কাস্টম রিসোর্সLoggingTargetএডিট করে।Project Bucket Admin: বাকেটের মধ্যে স্টোরেজ বাকেট ও অবজেক্ট ম্যানেজ করেProject Grafana Viewer: প্রোজেক্ট নেমস্পেসে মনিটরিং ইনস্ট্যান্স অ্যাক্সেস করে।Project NetworkPolicy Admin: প্রোজেক্ট নেমস্পেসে প্রোজেক্ট নেটওয়ার্ক নীতি ম্যানেজ করে।Project VirtualMachine Admin: প্রোজেক্ট নেমস্পেসে ভার্চুয়াল মেশিন ম্যানেজ করে।Secret Admin: প্রোজেক্টে Kubernetes সিক্রেট ম্যানেজ করে।Service Configuration Admin: প্রোজেক্ট নেমস্পেসের মধ্যে পরিষেবা কনফিগারেশনে রিড ও রাইট অ্যাক্সেস আছে।Namespace Admin: প্রোজেক্ট নেমস্পেসের মধ্যে থাকা সব রিসোর্স ম্যানেজ করে।
- GDC এয়ার-গ্যাপে থাকা Apigee-তে ডিএনএস সার্ভার থাকে না এবং এটি সাময়িক সমাধান হিসেবে লোকাল ডিএনএস রেজোলিউশন ব্যবহার করে। এক্সটার্নাল DNS সার্ভার সহ কোনও এনভায়রনমেন্টে GDC এয়ার-গ্যাপে Apigee ডেপ্লয় করা হলে, DNS সার্ভারে DNS এন্ট্রি কনফিগার করার মাধ্যমে লোকাল DNS কনফিগার করার ধাপগুলি পরিবর্তন করুন।
- GDC এয়ার-গ্যাপে থাকা Apigee-তে স্বতন্ত্র SMTP সার্ভার থাকে না। ম্যানেজমেন্ট সার্ভার ও ম্যানেজমেন্ট UI থেকে অ্যাকাউন্ট তৈরি করা ও পাসওয়ার্ড রিসেট করার জন্য আউটবাউন্ড ইমেল বিজ্ঞপ্তি চালু করতে, আপনি যেকোনও সময় একটি SMTP সার্ভার কনফিগার করতে পারবেন। Apigee ব্যবহারকারীর অ্যাকাউন্ট ম্যানেজমেন্টের জন্য ম্যানেজমেন্ট API উপলভ্য থাকে। আরও তথ্যের জন্য Edge SMTP সার্ভার কনফিগার করা দেখুন।
- GDC এয়ার-গ্যাপে থাকা Apigee-তে অনুপ্রবেশ শনাক্তকরণ ও প্রতিরোধ ব্যবস্থা প্রয়োগ করা হয় না। ক্ষতিকারক অ্যাক্টিভিটি শনাক্ত ও প্রতিরোধ করতে, Snort-এর মতো ইনট্রুশন প্রিভেনশন সিস্টেম (IPS) ইনস্টল ও কনফিগার করুন।
- অপারেটিং সিস্টেম: Rocky Linux 8
- মেশিনের সাইজ: ৮ জিবি র্যাম; ২-vCPU কোর; ৬৪ জিবি লোকাল ডিস্ক স্টোরেজ
- কানেক্টিভিটি:
- ইনগ্রেস: TCP 22 (SSH)
- ইগ্রেস: ইন্টারনেট
- Edge for Private Cloud কলামে উল্লেখ করা GDC-তে কাজ করে এমন লেটেস্ট অফিসিয়াল রিলিজ ভার্সনের জন্য প্রাইভেট ক্লাউডের জন্য Apigee Edge রিলিজ নোট চেক করুন।
- Edge সেট-আপ ফাইল ডাউনলোড করুন:
curl https://software.apigee.com/apigee/tarball/VERSION/rocky8/archive.tar -o /tmp/archive.tar -u 'APIGEE_USER:APIGEE_PASSWORD'
যেখানে:
- APIGEE_USER হল Apigee সংস্থার জন্য আপনি যে ইউজারনেম পেয়েছেন।
- APIGEE_PASSWORD হল Apigee সংস্থার জন্য আপনার পাওয়া পাসওয়ার্ড।
- VERSION হল GDC-তে ইনস্টল করার জন্য Apigee Edge for Private Cloud রিলিজ ভার্সন, যেমন, 4.53.01।
- Apigee Edge for Private Cloud-এর লেটেস্ট
bootstrap_VERSION.shফাইল/tmp/bootstrap_VERSION.sh-এ ডাউনলোড করুন:curl https://software.apigee.com/bootstrap_VERSION.sh -o /tmp/bootstrap_VERSION.sh
যেখানে VERSION হল GDC-তে ইনস্টল করার জন্য আপনার উদ্দেশ্য অনুযায়ী প্রাইভেট ক্লাউডের জন্য লেটেস্ট Apigee Edge রিলিজ ভার্সন, যেমন, 4.53.01.
- Edge
apigee-serviceইউটিলিটি ও ডিপেন্ডেন্সি ইনস্টল করুন:sudo bash /tmp/bootstrap_VERSION.sh apigeeuser=APIGEE_USER apigeepassword=APIGEE_PASSWORD
যেখানে:
- APIGEE_USER হল Apigee সংস্থার জন্য আপনি যে ইউজারনেম পেয়েছেন।
- APIGEE_PASSWORD হল Apigee সংস্থার জন্য আপনার পাওয়া পাসওয়ার্ড।
- VERSION হল GDC-তে ইনস্টল করার জন্য Apigee Edge for Private Cloud রিলিজ ভার্সন।
- কানেক্ট করা নোডে সেট-আপ স্ক্রিপ্ট রান করান:
chmod a+x connected-node_setup.sh \ ./connected-node_setup.sh
এই ধাপে, স্ক্রিপ্ট নিম্নলিখিত লোকেশনে প্রয়োজনীয় ফাইল তৈরি করে (যেমন, 4.53.01 ভার্সনের জন্য):
/opt/apigee/data/apigee-mirror/apigee-4.53.01.tar.gz/tmp/apigee-nginx/apigee-nginx.tar/tmp/fluentbit/fluentbit.tar/tmp/postgresql14/postgresql14.tar/tmp/ansible-rpms.tar/tmp/apigee-repos.tar
- SSH-এর মাধ্যমে কানেক্ট করা নোড থেকে প্রয়োজনীয় ফাইল লোকাল মেশিনে ট্রান্সফার করুন:
mkdir apigee-filescd apigee-filesfor file in /opt/apigee/data/apigee-mirror/apigee-4.53.01.tar.gz /tmp/ansible-rpms.tar /tmp/apigee-nginx/apigee-nginx.tar /tmp/fluentbit/fluentbit.tar /tmp/postgresql14/postgresql14.tar /tmp/apigee-repos.tar; do scp -i SSH_PRIVATE_KEY_FILE USER@CONNECTED_NODE_IP:$file . doneযেখানে:
- SSH_PRIVATE_KEY_FILE হল SSH প্রাইভেট কী ফাইলের পাথ।
- কানেক্ট করা নোডের ইউজারনেম হল USER।
- CONNECTED_NODE_IP হল কানেক্ট করা নোডের IP অ্যাড্রেস।
- সংস্থা অ্যাডমিন ক্লাস্টারের মাধ্যমে যাচাইকরণ করুন:
gdcloud auth login --login-config-cert WEB_TLS_CERTgdcloud clusters get-credentials ORG_ADMIN_CLUSTERযেখানে:
- WEB_TLS_CERT হল ওয়েব TLS সার্টিফিকেটের পাথ।
- ORG_ADMIN_CLUSTER হল অর্গানাইজেশন অ্যাডমিন GKE ক্লাস্টারের নাম।
- প্রোজেক্ট ও বাকেট এনভায়রনমেন্ট ভেরিয়েবল সেট করুন:
export PROJECT=PROJECTexport BUCKET=BUCKET_NAMEযেখানে:
- PROJECT হল আপনার GDC প্রোজেক্টের নাম।
- BUCKET_NAME হল সেই বাক্কেটের নাম যা আপনি প্রাইভেট ক্লাউডের জন্য Apigee Edge ব্যাক-আপ ফাইল স্টোর করার জন্য তৈরি করতে চান।
- বাকেট কনফিগারেশন প্রয়োগ করুন:
kubectl apply -f - <<EOF apiVersion: object.GDC.goog/v1 kind: Bucket metadata: name: $BUCKET namespace:$PROJECT spec: description: bucket for Apigee backup files storageClass: Standard bucketPolicy : lockingPolicy : defaultObjectRetentionDays: 30 EOFএই কনফিগারেশন ৩০ দিনের রিটেনশন পিরিয়ড সহ একটি বাকেট তৈরি করে।
- প্রোজেক্টে একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন:
gdcloud iam service-accounts create $BUCKET-sa \ --project=$PROJECT - বাকেট অ্যাক্সেস করার জন্য সিক্রেট তৈরি করতে ভূমিকা ও ভূমিকা বাইন্ডিং তৈরি করুন:
kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: $BUCKET-role namespace: $PROJECT rules: - apiGroups: - object.gdc.goog resourceNames: - $BUCKET resources: - buckets verbs: - get - read-object - write-object --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: $BUCKETrolebinding namespace: $PROJECT roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: $BUCKET-role subjects: - kind: ServiceAccount name: $BUCKET-sa namespace: $PROJECT EOF
- গোপন কী থেকে অ্যাক্সেস কী আইডি ও কী পান:
export BUCKET_SECRET=$(kubectl get secret -n $PROJECT -o jsonpath="{range .items[*]}{.metadata.name}{':'}{.metadata.annotations['object\.GDC\.goog/subject']}{'\n'}{end}" | grep $BUCKET | tail -1 | cut -f1 -d :)echo "access-key-id=$(kubectl get secret -n $PROJECT $BUCKET_SECRET -o jsonpath="{.data['access-key-id']}")"echo "access-key=$(kubectl get secret -n $PROJECT $BUCKET_SECRET -o jsonpath="{.data['secret-access-key']}")"আউটপুটটি নিম্নলিখিতগুলির মতো দেখতে হবে:
access-key-id=RFdJMzRROVdWWjFYNTJFTzJaTk0= access-key=U3dSdm5FRU5WdDhMckRMRW1QRGV0bE9MRHpCZ0Ntc0cxVFJQdktqdg==
- ব্যবহারকারীর GKE ক্লাস্টারে আপলোডার ব্যবহার করার জন্য একটি সিক্রেট তৈরি করুন:
- ব্যবহারকারীর GKE ক্লাস্টারের মাধ্যমে যাচাইকরণ:
gdcloud clusters get-credentials USER_CLUSTER
যেখানে USER_CLUSTER হল ব্যবহারকারীর GKE ক্লাস্টারের নাম।
- গোপন কনফিগারেশন প্রয়োগ করুন:
kubectl apply -f - <<EOF apiVersion: v1 kind: Secret metadata: namespace: $PROJECT name: $BUCKET-secret type: Opaque data: access-key-id: ACCESS_KEY_ID access-key: ACCESS_KEY EOF
যেখানে:
- ACCESS_KEY_ID হল আগের ধাপে পাওয়া অ্যাক্সেস কী আইডি।
- ACCESS_KEY হল আগের ধাপে পাওয়া অ্যাক্সেস কী।
- ব্যবহারকারীর GKE ক্লাস্টারের মাধ্যমে যাচাইকরণ:
- স্টোরেজ এন্ডপয়েন্ট, সম্পূর্ণভাবে উপযুক্ত ডোমেনের নাম (FQDN) এবং বাকেটের অঞ্চল পান:
- সংস্থা অ্যাডমিন ক্লাস্টারের মাধ্যমে যাচাইকরণ করুন:
gdcloud clusters get-credentials ORG_ADMIN_CLUSTER
যেখানে ORG_ADMIN_CLUSTER হল অর্গানাইজেশন অ্যাডমিনের GKE ক্লাস্টারের নাম।
- স্টোরেজ এন্ডপয়েন্ট, সম্পূর্ণভাবে উপযুক্ত ডোমেনের নাম (FQDN) এবং বাকেটের অঞ্চল পান:
kubectl get buckets ${BUCKET} -n $PROJECT -o jsonpath="{'endpoint: '}{.status.endpoint}{'\n'}{'bucket: '}{.status.fullyQualifiedName}{'\n'}{'region: '}{.status.region}{'\n'}"
আউটপুটটি নিম্নলিখিতগুলির মতো দেখতে হবে:
endpoint: https://objectstorage.gpu-org.cookie.sesame.street bucket: ez9wo-apigee-backup-bucket region: cookie
- সংস্থা অ্যাডমিন ক্লাস্টারের মাধ্যমে যাচাইকরণ করুন:
apigee/helm_user_cluster/values-cookie-air-gapped.yamlফাইলে নিম্নলিখিত ভ্যালু আপডেট করুন:objectstorekeyname: "apigee-backup-bucket-secret" objectstoreurl: "BUCKET_ENDPOINT" objectstorebucket: "BUCKET_FQDN"
যেখানে:
- BUCKET_ENDPOINT হল আগের ধাপে পাওয়া বাকেটের এন্ডপয়েন্ট।
- BUCKET_FQDN হল আগের ধাপে পাওয়া বাকেটের সম্পূর্ণভাবে উপযুক্ত ডোমেনের নাম।
- নিচে উল্লেখ করা পদ্ধতি অনুসরণ করে
apigee/helm_user_cluster/values-cookie-air-gapped.yamlআপডেট করুন:repo_node: enabled: true apigee_node: enabled: false control_node: enabled: false
repo_nodeচালু আছে এবংapigee_nodeওcontrol_node, দুটিই বন্ধ আছে কিনা তা নিশ্চিত করুন। এইসব নোড পরবর্তী ধাপে ডেপ্লয় করা হয়। - সংগঠনের অ্যাডমিন ক্লাস্টারের ক্রেডেনশিয়াল পান:
gdcloud clusters get-credentials ORG_ADMIN_CLUSTER
যেখানে ORG_ADMIN_CLUSTER হল অর্গানাইজেশন অ্যাডমিনের GKE ক্লাস্টারের নাম।
- Python ভার্চুয়াল এনভায়র্নমেন্ট তৈরি করুন:
python3 -m venv venv / source venv/bin/activate
- রিপোজিটরি নোড তৈরি করতে ডিপ্লয় স্ক্রিপ্ট রান করান:
python apigee/solution_deploy.py gdc-air-gapped
- রেপোজিটরি নোডের জন্য SSH কনফিগার করুন:
export NODE=repokubectl create -n $PROJECT -f - <<EOF apiVersion: virtualmachine.GDC.goog/v1 kind: VirtualMachineAccessRequest metadata: generateName: $NODE- spec: ssh: key: | "cat SSH_PUBLIC_KEY_FILE" ttl: 24h user: admin vm: $NODE EOFযেখানে SSH_PUBLIC_KEY_FILE হল আপনার সর্বজনীন SSH কী থাকা ফাইলের নাম।
- রেপোজিটরি নোডের জন্য এক্সটার্নাল IP অ্যাড্রেস পান:
kubectl get virtualmachineexternalaccess -n $PROJECT $NODE -ojsonpath='{.status.ingressIP}' - রিপোজিটরি নোডের ইন্টার্নাল IP অ্যাড্রেস পান:
kubectl get virtualmachines.virtualmachine.gdc.goog -n $PROJECT $NODE -ojsonpath='{.status.network.interfaces[1].ipAddresses[0]}' apigee-4.53.01apigee-nginx.tarpostgresql14.tarfluentbit.taransible-rpms.tarapigee-repos.tar- SSH প্রাইভেট কী ফাইলটি রিপোজিটরি নোডে কপি করুন:
scp -i SSH_PRIVATE_KEY_FILE ~/apigee-files/* admin@REPO_EXTERNAL_IP:/tmp
যেখানে:
- SSH_PRIVATE_KEY_FILE হল সেই ফাইলের নাম যেখানে আপনার ব্যক্তিগত SSH কী আছে।
- REPO_EXTERNAL_IP হল আগের ধাপে পাওয়া রিপোজিটরি নোডের এক্সটার্নাল IP অ্যাড্রেস।
- Fluent Bit কনফিগারেশন থাকা ফোল্ডারটি রিপোজিটরি নোডে আপলোড করুন:
scp -i SSH-PRIVATE-KEY-FILE -r apigee/scripts/fluent-bit admin@REPO_EXTERNAL_IP:/tmp/fluent-bit
যেখানে:
- SSH_PRIVATE_KEY_FILE হল সেই ফাইলের নাম যেখানে আপনার ব্যক্তিগত SSH কী আছে।
- REPO_EXTERNAL_IP হল রিপোজিটরি নোডের এক্সটার্নাল IP অ্যাড্রেস।
- রিপোজিটরি নোডে
apigee/scripts/repo_setup.shকপি করুন। - স্ক্রিপ্টে, মিরর রিপোজিটরির জন্য পছন্দসই ইউজারনেম ও পাসওয়ার্ড দিয়ে REPO_USER ও REPO_PASSWORD পরিবর্তন করুন।
- স্ক্রিপ্ট চালান:
chmod a+x repo_setup.sh./repo_setup.shআপনি
No such file or directoryসমস্যার সম্মুখীন হলে, স্ক্রিপ্ট আবার চালান। - রিপোজিটরি নোড থেকে লোকালি মিরর রিপোজিটরির কানেকশন পরীক্ষা করুন।
curl http://REPO_USER:REPO_PASSWORD@REPO_INTERNAL_IP:3939/bootstrap_VERSION.sh -o /tmp/bootstrap_VERSION.shcurl http://REPO_USER:REPO_PASSWORD@REPO_INTERNAL_IP:3939/apigee/release/VERSION/repodata/repomd.xmlআপনি যে Apigee Edge for Private Cloud ভার্সন ইনস্টল করতে চান সেটি দিয়ে VERSION পরিবর্তন করুন।
REPO_INTERNAL_IP,REPO_USER_NAMEওREPO_PASSWORD-এর জায়গায়apigee/helm/scripts/apigee_setup.shপছন্দমতো ভ্যালু লিখুন।- এনভায়রনমেন্ট ভেরিয়েবল হিসেবে ভ্যালু এক্সপোর্ট করুন:
export REPO_IP=REPO_INTERNAL_IPexport REPO_USER=REPO_USER_NAMEexport REPO_PASSWORD=REPO_PASSWORD apigee/helm/values-cookie-air-gapped.yaml-এapigee_nodeচালু করুন, যেমন দেখানো হয়েছে::apigee_node: enabled: true
- Apigee নোড তৈরি করতে ডিপ্লয় স্ক্রিপ্ট চালান:
source venv/bin/activatepython apigee/solution_deploy.py gdc-air-gapped - সংস্থা অ্যাডমিন ক্লাস্টারের মাধ্যমে যাচাইকরণ করুন:
gdcloud clusters get-credentials ORG_ADMIN_CLUSTER
যেখানে ORG_ADMIN_CLUSTER হল অর্গানাইজেশন অ্যাডমিনের GKE ক্লাস্টারের নাম।
- প্রতিটি নোডের জন্য SSH কী তৈরি করুন:
for i in 1 2 3 4 5; do kubectl create -n $PROJECT -f - <<EOF apiVersion: virtualmachine.GDC.goog/v1 kind: VirtualMachineAccessRequest metadata: generateName: node$i spec: ssh: key: | "cat SSH_PUBLIC_KEY_FILE" ttl: 24h user: admin vm: node$i EOF doneযেখানে SSH_PUBLIC_KEY_FILE হল আপনার সর্বজনীন SSH কী থাকা ফাইলের নাম।
- Apigee নোডের জন্য এক্সটার্নাল IP অ্যাড্রেস পান:
for i in 1 2 3 4 5; do kubectl get virtualmachineexternalaccess -n $PROJECT node$i -ojsonpath='{.status.ingressIP}' echo done - Apigee নোডের ইন্টার্নাল IP অ্যাড্রেস পান:
for i in 1 2 3 4 5; do kubectl get virtualmachines.virtualmachine.gdc.goog -n $PROJECT node$i -ojsonpath='{.status.network.interfaces[1].ipAddresses[0]}' echo done - (ঐচ্ছিক) Apigee নোডে স্টার্ট-আপ স্ক্রিপ্ট সঠিকভাবে রান করছে কিনা তা চেক করে দেখুন:
- নোডে SSH করুন এবং নিম্নলিখিত কমান্ড রান করুন:
sudo journalctl -u cloud-final -f
- নিম্নলিখিত ধরনের লগ খুঁজুন:
Aug 29 18:17:00 172.20.128.117 cloud-init[1895]: Complete! Aug 29 18:17:00 172.20.128.117 cloud-init[1895]: Finished running the command: . /var/lib/google/startup-scripts/apigee-setup
- নোডে SSH করুন এবং নিম্নলিখিত কমান্ড রান করুন:
apigee/helm/scripts/control_setup.sh-এREPO_INTERNAL_IP,REPO_USER_NAMEওREPO_PASSWORD-এর জায়গায় পছন্দসই ভ্যালু লিখুন।apigee/helm/values-cookie-air-gapped.yaml-এcontrol_nodeচালু করুন, যেমন দেখানো হয়েছে:control_node: enabled: true
- কন্ট্রোল নোড তৈরি করতে ডিপ্লয় স্ক্রিপ্ট রান করান:
source venv/bin/activatepython apigee/solution_deploy.py gdc-air-gapped - কন্ট্রোল নোডে SSH অ্যাক্সেস কনফিগার করুন:
kubectl create -n $PROJECT -f - <<EOF apiVersion: virtualmachine.GDC.goog/v1 kind: VirtualMachineAccessRequest metadata: generateName: control- spec: ssh: key: | "cat SSH_PUBLIC_KEY_FILE" ttl: 24h user: admin vm: control EOF - কন্ট্রোল নোডের এক্সটার্নাল IP অ্যাড্রেস পান:
kubectl get virtualmachineexternalaccess -n $PROJECT control -ojsonpath='{.status.ingressIP}' - কন্ট্রোল নোডের ইন্টার্নাল IP পান:
kubectl get virtualmachines.virtualmachine.GDC.goog -n $PROJECT control -ojsonpath='{.status.network.interfaces[1].ipAddresses[0]}' - কন্ট্রোল নোডে SSH করুন এবং Ansible এনভায়র্নমেন্ট সেট-আপ করুন:
cd /home/admincp -r /tmp/apigee-repos .cd apigee-repos/ansible-opdk-accelerator/setup - লোকাল ফাইলের মাধ্যমে রিমোট git রিপোজিটরি পরিবর্তন করুন:
sed -i 's/https:\/\/github.com\/carlosfrias/git+file:\/\/\/home\/admin\/apigee-repos/g' requirements.ymlsed -i 's/\.git$//g' requirements.yml - Install Ansible requirements:
sudo chown -R admin /home/admin/apigee-reposansible-galaxy install -r requirements.yml -f - সেট-আপ কনফিগারেশন আপডেট করুন:
main.ymlফাইল এডিট করুন:vi ~/apigee-repos/ansible-opdk-accelerator/setup/roles/apigee-opdk-setup-ansible-controller/tasks/main.yml
- GitHub অ্যাক্সেস প্রয়োজন এমন টাস্ক সরিয়ে দিন:
- কনফিগারেশন রিপোজিটরির Git SSH চেক-আউট
- কনফিগারেশন রিপোজিটরি থেকে Git HTTPS চেক-আউট
- সেট-আপ প্লেবুক রান করুন:
cd ~/apigee-repos/ansible-opdk-accelerator/setupansible-playbook setup.yml
- কন্ট্রোল নোডে Apigee নোডের জন্য SSH কী আপলোড করুন:
scp -i CONTROL_SSH_PRIVATE_KEY_FILE APIGEE_NODE_SSH_PRIVATE_KEY_FILE admin@CONTROL_EXTERNAL_IP:/home/admin/.ssh/id_rsa
যেখানে:
- CONTROL_SSH_PRIVATE_KEY_FILE হল সেই ফাইলের নাম যেখানে আপনার কন্ট্রোল নোডের SSH প্রাইভেট কী থাকে।
- APIGEE_NODE_SSH_PRIVATE_KEY_FILE হল আপনার Apigee নোডের SSH ব্যক্তিগত কী থাকা ফাইলের নাম।
- CONTROL_EXTERNAL_IP হল কন্ট্রোল নোডের এক্সটার্নাল IP অ্যাড্রেস।
- Ansible ইনভেনটরি কনফিগারেশন ফাইল তৈরি করুন:
apigee/scripts/ansible/prod.cfgফাইলের কন্টেন্টprod.cfgফাইলে কপি করুন:vi ~/.ansible/multi-planet-configurations/prod.cfg
edge-dc1ফোল্ডার তৈরি করুন এবংapigee/scripts/ansible/edge-dc1ফাইলের কন্টেন্টedge-dc1ফাইলে কপি করুন:mkdir ~/.ansible/inventory/prodvi ~/.ansible/inventory/prod/edge-dc1
edge-dc1-এ Apigee নোডের ইন্টার্নাল IP অ্যাড্রেস আপডেট করুন:apigee_000 ansible_host=APIGEE_NODE1_INTERNAL_IPapigee_001 ansible_host=APIGEE_NODE2_INTERNAL_IPapigee_002 ansible_host=APIGEE_NODE3_INTERNAL_IPapigee_003 ansible_host=APIGEE_NODE4_INTERNAL_IPapigee_004 ansible_host=APIGEE_NODE5_INTERNAL_IPযেখানে APIGEE_NODE*_INTERNAL_IP-এর ভ্যালু হল Apigee নোডের ইন্টার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে।
- নিম্নলিখিত ভ্যালু সহ
~/.apigee-secure/credentials.ymlফাইল কনফিগার করুন:- apigee_repo_user: 'APIGEE_REPO_USER'
- apigee_repo_password: 'APIGEE_REPO_PASSWORD'
- opdk_qpid_mgmt_username: 'OPDK_QPID_MGMT_USERNAME'
- opdk_qpid_mgmt_password: 'OPDK_QPID_MGMT_PASSWORD'
যেখানে:
- APIGEE_REPO_USER হল Apigee রিপোজিটরি সংক্রান্ত ইউজারনেম।
- APIGEE_REPO_PASSWORD হল Apigee রিপোজিটরিের পাসওয়ার্ড।
- Apigee QPID ম্যানেজমেন্ট সার্ভারের ব্যবহারকারীর নাম হল OPDK_QPID_MGMT_USERNAME।
- OPDK_QPID_MGMT_PASSWORD হল Apigee QPID ম্যানেজমেন্ট সার্ভারের পাসওয়ার্ড।
- সঠিক Apigee Edge for Private Cloud লাইসেন্স ফাইল সহ একটি লাইসেন্স ফাইল যোগ করুন। ফাইলের নাম
license.txtহতে হবে। - আপনি এইমাত্র তৈরি করেছেন এমন
license.txtফাইলে~/.apigee-secure/license.txtফাইলের কন্টেন্ট কপি করুন। ~/.apigee/custom-properties.ymlফাইলে নিম্নলিখিত ভ্যালু কনফিগার করুন:- opdk_version: 'OPDK_VERSION'
- apigee_repo_url: 'APIGEE_REPO_URL'
যেখানে:
- OPDK_VERSION হল আপনি যে Apigee Edge for Private Cloud ভার্সন ইনস্টল করতে চান।
- APIGEE_REPO_URL হল Apigee রিপোজিটরির URL.
- এনভায়রনমেন্ট ভেরিয়েবেল হিসেবে কনফিগারেশন ফাইল এক্সপোর্ট করুন:
export ANSIBLE_CONFIG=~/.ansible/multi-planet-configurations/prod.cfg
- লোকাল ফাইলের সাথে রিমোট git রিপোজিটরি পরিবর্তন করুন:
cd ~/apigee-repos/ansible-opdk-accelerator/installations/multi-node/sed -i 's/https:\/\/github.com\/carlosfrias/git+file:\/\/\/home\/admin\/apigee-repos/g' requirements.ymlsed -i 's/\.git$//g' requirements.yml - Ansible-এর প্রয়োজনীয়তা ইনস্টল করুন:
ansible-galaxy install -r requirements.yml -f
- Ansible রোল প্যাচ করুন:
sed -i 's/private_address/inventory_hostname/g' ~/.ansible/roles/apigee-opdk-settings-cassandra/tasks/main.ymlsed -i 's/include/include_tasks/g' ~/.ansible/roles/apigee-opdk-server-self/tasks/main.ymlsed -i 's/include/include_tasks/g' ~/.ansible/roles/apigee-opdk-setup-silent-installation-config/tasks/main.ymlcat << EOF >> ~/.ansible/roles/apigee-opdk-setup-silent-installation-config/templates/response-file-template.conf.j2 QPID_MGMT_USERNAME= opdk_qpid_mgmt_username QPID_MGMT_PASSWORD= opdk_qpid_mgmt_password EOFsed -i 's/mode: 0700/mode: 0700\n recurse: yes/g' ~/.ansible/roles/apigee-opdk-setup-postgres-config/tasks/main.yml install.ymlফাইলের কন্টেন্টapigee/scripts/ansible/install.yml-এর কন্টেন্ট দিয়ে পরিবর্তন করুন।- Apigee কম্পোনেন্ট ইনস্টল করতে প্লেবুক রান করান:
ansible-playbook install.yml
- Edge UI-তে ব্যবহারকারীর পাসওয়ার্ড রিসেট করার লিঙ্ক বন্ধ করুন। GDC এয়ার-গ্যাপে থাকা Apigee-তে SMTP সার্ভার থাকে না। Edge UI-তে পাসওয়ার্ড রিসেট করার লিঙ্ক বন্ধ করার ধাপগুলি অনুসরণ করুন।
- GDC প্রোজেক্টে
dev-apigeeHarbor ইনস্ট্যান্স তৈরি করতে, Harbor রেজিস্ট্রি ইনস্ট্যান্স তৈরি করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন। -
Harbor প্রোজেক্ট তৈরি করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করে
apigeeনামের একটি Harbor প্রোজেক্ট তৈরি করুন। - Harbor প্রোজেক্টের জন্য অ্যাক্সেস কন্ট্রোল সেট-আপ করতে, অ্যাক্সেস কন্ট্রোল কনফিগার করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন।
- Docker যাচাইকরণ কনফিগার করতে, Docker ও Helm-এ সাইন-ইন করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন।
apigee/apigee_user_cluster.tomlফাইলে দেখানো IP অ্যাড্রেস আপডেট করুন:mgmt-server-proxy = "APIGEE_NODE1_EXTERNAL_IP" router-proxy1 = "APIGEE_NODE2_EXTERNAL_IP" router-proxy2 = "APIGEE_NODE3_EXTERNAL_IP"
যেখানে:
- APIGEE_NODE1_EXTERNAL_IP হল Apigee node1-এর এক্সটার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে।
- APIGEE_NODE2_EXTERNAL_IP হল Apigee node2-এর এক্সটার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে।
- APIGEE_NODE3_EXTERNAL_IP হল Apigee node3-এর এক্সটার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে।
apigee/mgmt-server-proxyওapigee/router-proxyফোল্ডারের মধ্যে HTTPS কনফিগার করার জন্য SSL সার্টিফিকেট ফাইল (server.crt) ও কী ফাইল (server.key) রাখুন।সেল্ফ-সাইন করা সার্টিফিকেট তৈরি করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:
openssl req -newkey rsa:4096 -x509 -nodes -keyout server.key -new -out server.crt -subj "/CN=*.apigeetest.com" -sha256 -days 365
apigee/uploader/Dockerfileফাইলে আপলোডার কন্টেনারে থাকা মূল ব্যবহারকারীর জন্যSSH-PASSWORD-এর ভ্যালু আপডেট করুন:RUN echo 'root:SSH_PASSWORD' | chpasswd
- ব্যবহারকারীর ক্লাস্টারের ক্রেডেনশিয়াল পান:
gdcloud clusters get-credentials USER_CLUSTER
যেখানে USER_CLUSTER হল ব্যবহারকারীর GKE ক্লাস্টারের নাম।
- পড ও পরিষেবা ডেপ্লয় করতে ডেপ্লয় স্ক্রিপ্ট রান করান:
source venv/bin/activatepython apigee/solution_deploy_user_cluster.py gdc-air-gapped - পরিষেবার এক্সটার্নাল IP অ্যাড্রেস পান:
kubectl get svc -n $PROJECT_ID
apigee/helm/scripts/backup_setup.sh-এSSH_PASSWORD,rootওUPLOADER_EXTERNAL_IPআপডেট করুন:sshpass -p SSH_PASSWORD scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null apigee-backup* root@UPLOADER_EXTERNAL_IP:/temp/
যেখানে:
- SSH_PASSWORD হল রুট ব্যবহারকারীর পাসওয়ার্ড।
- UPLOADER_EXTERNAL_IP হল আপলোডার পরিষেবার এক্সটার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে।
apigee/helm/scripts/apigee_setup.sh-এFLUENTBIT_EXTERNAL_IPআপডেট করুন:export FLUENTBIT_EXTERNAL_IP=FLUENTBIT_EXTERNAL_IP
- VM বন্ধ করুন:
gdcloud clusters get-credentials ORG_ADMIN_CLUSTERexport PROJECT=dev-apigeefor i in 1 2 3 4 5; do gdcloud compute instances stop node$i --project $PROJECT done - Helm চার্ট আবার ডেপ্লয় করুন:
python apigee/solution_deploy.py gdc-air-gapped
- VM চালু করুন:
for i in 1 2 3 4 5; do GDCloud compute instances start node$i --project $PROJECT done
apigee/scripts/apigee_org_setup.sh-এ দেখানো নিম্নলিখিত ভ্যালু আপডেট করুন। প্রয়োজনমতো অন্যান্য প্যারামিটার আপডেট করুন।IP1=APIGEE_NODE1_INTERNAL_IP VHOST_ALIAS="APIGEE_NODE2_EXTERNAL_IP:9001 APIGEE_NODE3_EXTERNAL_IP:9001"
যেখানে:
- APIGEE_NODE1_INTERNAL_IP হল Apigee নোড১-এর ইন্টার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে।
- APIGEE_NODE2_EXTERNAL_IP হল Apigee node2-এর এক্সটার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে।
- APIGEE_NODE3_EXTERNAL_IP হল Apigee node3-এর এক্সটার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে।
- সংস্থাকে অনবোর্ড করতে node1-এ স্ক্রিপ্ট চালান:
chmod a+x apigee_org_setup.sh./apigee_org_setup.sh apigee-elbপরিষেবার এক্সটার্নাল IP অ্যাড্রেস পান:gdcloud clusters get-credentials USER_CLUSTERexport PROJECT=dev-apigeekubectl get svc apigee-elb -n $PROJECTযেখানে USER_CLUSTER হল ব্যবহারকারীর GKE ক্লাস্টারের নাম।
এই পরিষেবা Edge UI, ম্যানেজমেন্ট API এবং API প্রক্সি এন্ডপয়েন্ট হিসেবে কাজ করে।
- APIGEE_ELB_EXTERNAL_IP হল
apigee-elbপরিষেবার এক্সটার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে। - ORG_NAME হল Apigee সংস্থার নাম।
- ENV_NAME হল Apigee এনভায়রনমেন্টের নাম।
- Edge UI-তে লগ-ইন করুন।
- API প্রক্সি পৃষ্ঠায়, নতুন API প্রক্সি তৈরি করতে তৈরি করুন বিকল্পে ক্লিক করুন।
- প্রক্সি বিবরণ পৃষ্ঠায়, নিম্নলিখিত ভ্যালু লিখুন:
- প্রক্সি ধরন: কোনও টার্গেট নেই বিকল্প বেছে নিন।
- প্রক্সির নাম:
ok - বেস পাথ:
/ok - টার্গেট:
http://APIGEE_ELB_EXTERNAL_IP:9001
- API প্রক্সি তৈরি করতে তৈরি করুন বিকল্পে ক্লিক করুন।
/ok-এ একটি HTTP অনুরোধ পাঠান:curl -i http://APIGEE_ELB_EXTERNAL_IP:9001/ok
- উত্তরটি
200 OKকিনা তা কনফার্ম করুন। - নিম্নলিখিত ভ্যালু সহ একটি সেল্ফ-সাইনড সার্টিফিকেট তৈরি করতে, কীস্টোর/ট্রাস্টস্টোর ও অ্যালিয়াস তৈরি করুন
লিঙ্কে দেওয়া ধাপগুলি অনুসরণ করুন:
- KeyStore: myTestKeystore
- KeyAlias: myKeyAlias
- সাধারণ নাম: apigeetest.com
api.apigeetest.comনামের ভার্চুয়াল হোস্ট তৈরি করতে API কল করুন:curl -v -H "Content-Type:application/xml" \ -u "opdk@apigee.com:Apigee123!" "http://APIGEE_ELB_EXTERNAL_IP:8080/v1/o/ORG_NAME/e//virtualhosts" \ -d '<VirtualHost name="secure"> <HostAliases> <HostAlias>api.apigeetest.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> <OCSPStapling>off</OCSPStapling> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>myTestKeystore</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> </SSLInfo> </VirtualHost>'
যেখানে:
- APIGEE_ELB_EXTERNAL_IP হল
apigee-elbপরিষেবার এক্সটার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে। - ORG_NAME হল Apigee সংস্থার নাম।
- ENV_NAME হল Apigee এনভায়রনমেন্টের নাম যেখানে ভার্চুয়াল হোস্ট তৈরি করতে হবে।
- APIGEE_ELB_EXTERNAL_IP হল
- নিরাপদ ভার্চুয়াল হোস্ট ব্যবহার করে API প্রক্সি তৈরি করুন।
- রাউটারে, ভার্চুয়াল হোস্টের জন্য ডিএনএস রেজোলিউশন কনফিগার করুন:
echo '127.0.0.1 api.apigeetest.com' | sudo tee -a /etc/hosts
- এন্ডপয়েন্টে HTTPS অনুরোধ পাঠিয়ে কনফার্ম করুন যে ভার্চুয়াল হোস্ট লোকালি কাজ করছে:
curl https://api.apigeetest.com:9005/ok -v -k
- এন্ডপয়েন্টের জন্য DNS রেজোলিউশন কনফিগার করুন:
echo 'APIGEE_ELB_EXTERNAL_IP apigeetest.com' | sudo tee -a /etc/hosts
যেখানে APIGEE_ELB_EXTERNAL_IP হল
apigee-elbপরিষেবার এক্সটার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে। - ওয়েব ব্রাউজারে
https://apigeetest.com/ok-এ নেভিগেট করুন এবং এটি কাজ করছে কিনা তা কনফার্ম করুন। - SSL সার্টিফিকেট ফাইল ও কী ফাইল থেকে কীস্টোর ফাইল তৈরি করুন:
openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out keystore.pkcs12keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks - node1-এ Apigee ফোল্ডারের মধ্যে কীস্টোর ফাইলটি রাখুন:
scp -i SSH_PRIVATE_KEY_FILE keystore.jks admin@APIGEE_NODE1_EXTERNAL_IP:/home/admin/
যেখানে:
- SSH_PRIVATE_KEY_FILE হল আপনার Apigee নোডের SSH ব্যক্তিগত কী থাকা ফাইলের নাম।
- APIGEE_NODE1_EXTERNAL_IP হল Apigee node1-এর এক্সটার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে।
- node1-এ SSH করুন এবং কীস্টোর ফাইলটি Apigee ফোল্ডারে সরান:
sudo mv keystore.jks /opt/apigee/customer/application/
- SSL কনফিগারেশন ফাইল তৈরি করুন:
sudo vi /tmp/sslConfigFile
KEY-PASS-PHRASE-এর ভ্যালু আপডেট করুন, যেমন দেখানো হয়েছে:HTTPSPORT=9443 DISABLE_HTTP=n KEY_ALGO=JKS KEY_FILE_PATH=/opt/apigee/customer/application/keystore.jks KEY_PASS=KEY_PASS_PHRASE
- কনফিগ ফাইল ব্যবহার করে SSL কনফিগার করুন:
sudo chown apigee:apigee /tmp/sslConfigFile/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f /tmp/sslConfigFile - Edge UI-এর জন্য DNS রেজোলিউশন কনফিগার করুন:
echo 'APIGEE_ELB_EXTERNAL_IP ui.apigeetest.com' | sudo tee -a /etc/hosts
যেখানে APIGEE_ELB_EXTERNAL_IP হল
apigee-elbপরিষেবার এক্সটার্নাল IP অ্যাড্রেস যা আগের ধাপে পাওয়া গেছে। - ওয়েব ব্রাউজারে
https://ui.apigeetest.com:9443অ্যাক্সেস করুন এবং এটি কাজ করছে কিনা তা কনফার্ম করুন। আরও বিবরণের জন্য, নির্দেশিকা দেখুন। - কীস্টোর ফাইলের মালিককে কনফিগার করুন (Edge UI-এর মতো একই ফাইল ব্যবহার করুন):
sudo chown apigee:apigee /opt/apigee/customer/application/keystore.jks
- প্রপার্টি ফাইল তৈরি করুন:
sudo vi /opt/apigee/customer/application/management-server.properties
- পরিবর্তন কার্যকর করতে ম্যানেজমেন্ট সার্ভার রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- HTTPS লোকালি কাজ করে কিনা তা কনফার্ম করুন:
curl -u "opdk@apigee.com:Apigee123!" "https://localhost:8443/v1/users" -k
- ক্লায়েন্ট থেকে, ব্রাউজারে https://apigeetest.com:8443/v1/users অ্যাক্সেস করুন। ক্রেডেনশিয়াল সঠিকভাবে কনফিগার করা হয়েছে কিনা তা কনফার্ম করতে অ্যাডমিনের ইউজারনেম ও পাসওয়ার্ড লিখুন।
GDC এয়ার-গ্যাপড ভূমিকা ও অনুমতি দেওয়া সম্পর্কে আরও জানতে, অ্যাক্সেস দেওয়া ও প্রত্যাহার করা দেখুন।
সীমাবদ্ধতা
GDC এয়ার-গ্যাপে থাকা Apigee-তে নিম্নলিখিত সীমাবদ্ধতা প্রযোজ্য:
প্রয়োজনীয় ফাইল পাওয়া
ইনস্টলেশন ফাইল পেতে, আপনাকে প্রথমে একটি কানেক্ট করা নোড সেট-আপ করতে হবে এবং তারপরে ফাইলগুলি ডাউনলোড করতে হবে।
কানেক্ট করা নোড সেট-আপ করা
কানেক্ট করা নোড হল GDC-এর বাইরে থাকা একটি VM যা আপনি ইনস্টলেশন ফাইল ডাউনলোড করতে ব্যবহার করেন। এই VM-এর ইন্টারনেট অ্যাক্সেস প্রয়োজন এবং এটি শুধুমাত্র ইনস্টলেশন প্রক্রিয়ার জন্য ব্যবহার করা হয়।
কানেক্ট করা নোডের নিম্নলিখিত ক্ষমতা ও কনফিগারেশন থাকতে হবে:
কানেক্ট করা নোড তৈরি করতে, VM ইনস্ট্যান্স তৈরি ও চালু করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন। VM তৈরি হয়ে গেলে, Linux VM-এ কানেক্ট করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন। VM-এ কানেক্ট করতে। কোন কোন অপারেটিং সিস্টেমে GDC কাজ করে তার তালিকা দেখতে GDC-তে কাজ করে এমন অপারেটিং সিস্টেম দেখুন।
ইনস্টলেশন ফাইল ডাউনলোড করা
ইনস্টলেশন ফাইল ডাউনলোড করতে:
স্টোরেজ বাকেট সেট-আপ করা
এই ধাপে, GDC অপারেটর, Apigee Edge for Private Cloud ব্যাক-আপ ফাইল স্টোর করার জন্য GDC প্রোজেক্টে একটি স্টোরেজ বাকেট সেট-আপ করেন।
স্টোরেজ বাকেট তৈরি করা
GDC প্রোজেক্টে স্টোরেজ বাকেট তৈরি করতে:
বাকেট অ্যাক্সেস কনফিগার করা
স্টোরেজ বাকেটে অ্যাক্সেস কনফিগার করতে:
রিপোজিটরি নোড সেট-আপ করা
এই ধাপে, GDC অপারেটর Apigee Edge for Private Cloud মিরর রিপোজিটরি হোস্ট করার জন্য একটি রিপোজিটরি নোড সেট-আপ করেন।
রিপোজিটরি নোড তৈরি করা
রিপোজিটরি নোড তৈরি করতে:
রেপোজিটরি নোড অ্যাক্সেস কনফিগার করা
রেপোজিটরি নোডে অ্যাক্সেস কনফিগার করতে:
ইনস্টলেশন ফাইল আপলোড করা
এই ধাপে, GDC অপারেটর নিম্নলিখিত ফাইলের লেটেস্ট ভার্সন রিপোজিটরি নোডে আপলোড করেন:
ইনস্টলেশন ফাইল আপলোড করতে:
মিরর রেপোজিটরি কনফিগার করা
মিরর রেপোজিটরি কনফিগার করতে:
Apigee নোড ডিপ্লয় করা
এই ধাপে, GDC অপারেটর Apigee API ম্যানেজমেন্ট নোড ডেপ্লয় করে।
Apigee নোড তৈরি করা
Apigee API ম্যানেজমেন্ট নোড তৈরি করতে:
Apigee নোড অ্যাক্সেস কনফিগার করা
Apigee API ম্যানেজমেন্ট নোডে অ্যাক্সেস কনফিগার করুন:
কন্ট্রোল নোড সেট-আপ করা
এই ধাপে, GDC অপারেটর Apigee ইনস্টলেশন ম্যানেজ করার জন্য একটি কন্ট্রোল নোড সেট-আপ করেন।
কন্ট্রোল নোড তৈরি করা
কন্ট্রোল নোড তৈরি করতে:
কন্ট্রোল নোড অ্যাক্সেস কনফিগার করা
কন্ট্রোল নোড অ্যাক্সেস কনফিগার করতে:
Ansible কনফিগার করা
এই ধাপে, GDC অপারেটর কন্ট্রোল নোডে এনভায়রনমেন্ট সেট-আপ করেন।
Ansible এনভায়র্নমেন্ট কনফিগার করতে:
Apigee কম্পোনেন্ট ইনস্টল করা
এই ধাপে, GDC অপারেটর Ansible ব্যবহার করে Apigee কম্পোনেন্ট ইনস্টল করেন।
Apigee কম্পোনেন্ট ইনস্টল করতে:
পড ও পরিষেবা ডেপ্লয় করা
এই ধাপে, আপনি আপলোডার, রিভার্স প্রক্সি, লোড ব্যালেন্সার এবং লগিং পড ও পরিষেবা ডেপ্লয় করবেন।
পড ও পরিষেবা ডেপ্লয় করতে:
আপলোডার ও Fluent Bit ফরওয়ার্ডারের IP আপডেট করা
এই ধাপে, ব্যাক-আপ ও Apigee সেট-আপ স্ক্রিপ্টে আপনি আপলোডার ও Fluent Bit ফরওয়ার্ডারের IP আপডেট করবেন।
স্টার্ট-আপ স্ক্রিপ্ট আপডেট করার জন্য Apigee নোড রিস্টার্ট করতে হবে। নোড রিস্টার্ট করতে:
Apigee সংস্থা অনবোর্ড করা
এই ধাপে, GDC অপারেটর node1-এ একটি সেট-আপ স্ক্রিপ্ট রান করানোর মাধ্যমে Apigee সংস্থা অনবোর্ড করে।
Apigee সংস্থা অনবোর্ড করতে:
HTTP কানেক্টিভিটি পরীক্ষা করা
এই ধাপে, আপনি ম্যানেজমেন্ট API ও API প্রক্সির জন্য HTTP কানেক্টিভিটি পরীক্ষা করবেন।
HTTP কানেক্টিভিটি পরীক্ষা করতে:
Management API পরীক্ষা করা
Management API পরীক্ষা করে দেখতে, এন্ডপয়েন্টে একটি HTTP অনুরোধ পাঠান:
curl -u "opdk@apigee.com:Apigee123!" "http://APIGEE_ELB_EXTERNAL_IP:8080/v1/o/ORG_NAME/e/ENV_NAME/provisioning/axstatus"
যেখানে:
API প্রক্সি টেস্ট করা
API প্রক্সি পরীক্ষা করতে:
TLS কনফিগার করা ও HTTPS পরীক্ষা করা
এই ধাপে, GDC অপারেটর API প্রক্সি, Edge UI এবং ম্যানেজমেন্ট API-এর জন্য ট্রান্সপোর্ট লেয়ার সিকিউরিটি (TLS) কনফিগার করেন।
API প্রক্সির জন্য TLS কনফিগার করা
Edge UI-এর জন্য TLS কনফিগার করা
Edge UI-এর জন্য TLS কনফিগার করতে:
Management API-এর জন্য TLS কনফিগার করা
Management API-এর জন্য TLS কনফিগার করতে:
KEY_PASS_PHRASE-এর ভ্যালু কিস্টোর পাসওয়ার্ড দিয়ে পরিবর্তন করুন, যেমন দেখানো হয়েছে:
conf_webserver_ssl.enabled=true # Leave conf_webserver_http.turn.off set to false # because many Edge internal calls use HTTP. conf_webserver_http.turn.off=false conf_webserver_ssl.port=8443 conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks # Enter the obfuscated keystore password below. conf_webserver_keystore.password=KEY_PASS_PHRASE