এই নির্দেশিকাটি একটি এয়ার-গ্যাপড গুগল ডিস্ট্রিবিউটেড ক্লাউড (GDC) পরিবেশে Apigee Edge for Private Cloud এবং API প্রক্সিগুলি কীভাবে ইনস্টল ও স্থাপন করতে হয় তা বর্ণনা করে। Apigee Edge for Private Cloud সহ GDC এয়ার-গ্যাপড অফারিংগুলির পরিকাঠামো এবং পরিষেবাগুলি পরিচালনা করার জন্য গুগল ক্লাউডের সাথে সংযোগের প্রয়োজন হয় না। আপনি সমস্ত অপারেশনের জন্য আপনার নিজস্ব প্রাঙ্গণে হোস্ট করা একটি স্থানীয় কন্ট্রোল প্লেন ব্যবহার করতে পারেন। GDC এয়ার-গ্যাপড সম্পর্কে একটি সার্বিক ধারণা পেতে, ওভারভিউ দেখুন।
এই নির্দেশিকাটি সেইসব Apigee অপারেটরদের জন্য তৈরি করা হয়েছে, যারা Apigee Edge for Private Cloud-এর সাথে পরিচিত এবং Kubernetes সম্পর্কে প্রাথমিক ধারণা রাখেন।
প্রয়োজনীয় পদক্ষেপগুলির সংক্ষিপ্ত বিবরণ
একটি এয়ার-গ্যাপড জিডিসি পরিবেশে প্রাইভেট ক্লাউডের জন্য Apigee Edge ইনস্টল ও ডেপ্লয় করতে, অপারেটরকে নিম্নলিখিত ধাপগুলো সম্পন্ন করতে হবে:
- প্রাইভেট ক্লাউডের জন্য Apigee Edge-এর ইনস্টলেশন ফাইলগুলো সংগ্রহ করুন।
- একটি সংরক্ষণ বালতি প্রস্তুত করুন।
- একটি রিপোজিটরি নোড সেট আপ করুন।
- Apigee নোডগুলি স্থাপন করুন।
- একটি নিয়ন্ত্রণ নোড স্থাপন করুন।
- অ্যানসিবল কনফিগার করুন।
- Apigee কম্পোনেন্টগুলো ইনস্টল করুন।
- পড এবং সার্ভিসগুলো স্থাপন করুন।
- আপলোডার এবং ফ্লুয়েন্ট বিট ফরওয়ার্ডারের আইপি আপডেট করুন।
- একটি Apigee সংস্থায় যোগদান করুন।
- HTTP সংযোগ পরীক্ষা করুন।
- TLS কনফিগার করুন এবং HTTPS পরীক্ষা করুন।
শুরু করার আগে
ইনস্টলেশন প্রক্রিয়া শুরু করার আগে, নিম্নলিখিত ধাপগুলো সম্পন্ন করে নিন:
- ইনস্টলেশনের জন্য ব্যবহার করতে একটি GDC প্রজেক্ট তৈরি করুন, যদি আপনার আগে থেকে কোনোটি না থাকে। আরও তথ্যের জন্য, ‘একটি প্রজেক্ট তৈরি করুন’ দেখুন।
- একটি GDC সংযুক্ত ওয়ার্কস্টেশনে অথবা আপনার প্রতিষ্ঠানের কন্টিনিউয়াস ডেপ্লয়মেন্ট এনভায়রনমেন্টের মধ্যে
gdcloudCLI ডাউনলোড, ইনস্টল এবং কনফিগার করুন । -
gdcloudCLI এবংkubectlAPI ব্যবহার করার জন্য প্রয়োজনীয় ক্রেডেনশিয়াল সংগ্রহ করুন। প্রয়োজনীয় ধাপগুলোর জন্য অ্যাক্সেস পেতে আপনার অ্যাকাউন্ট প্রমাণীকরণ (Authenticate your account for access) দেখুন। - আপনার Apigee অ্যাকাউন্ট ম্যানেজারের কাছ থেকে পাওয়া Apigee ইউজারনেম এবং পাসওয়ার্ডটি নিশ্চিত করুন।
- আপনার GKE অ্যাডমিন ক্লাস্টারের নাম এবং আপনার GKE ইউজার ক্লাস্টারের নাম নিশ্চিত করুন।
ধারণক্ষমতার প্রয়োজনীয়তা
GDC-তে প্রাইভেট ক্লাউডের জন্য Apigee Edge ইনস্টল করতে নির্দিষ্ট রিসোর্স বরাদ্দসহ বেশ কয়েকটি ভার্চুয়াল মেশিন (VM) প্রয়োজন হয়। এই VM-গুলোর কম্পিউট রিসোর্স (র্যাম, vCPU কোর) এবং লোকাল ডিস্ক স্টোরেজের উপর ভিত্তি করে চার্জ ধার্য করা হয়। আরও তথ্যের জন্য, মূল্য নির্ধারণ (Pricing ) দেখুন।
নিম্নলিখিত সারণিতে প্রতিটি ভিএম-এর জন্য প্রয়োজনীয় রিসোর্স দেখানো হলো:
| ভিএম টাইপ | রাম | vCPU কোর | ডিস্ক স্টোরেজ |
|---|---|---|---|
| রিপো নোড | ৮জিবি | ২-vCPU কোর | ৬৪জিবি |
| নিয়ন্ত্রণ নোড | ৮জিবি | ২-vCPU কোর | ৬৪জিবি |
| Apigee API ব্যবস্থাপনা নোড ১, ২, এবং ৩ | ১৬ জিবি র্যাম | ৮-vCPU কোর | ৬৭০ জিবি |
| Apigee API ব্যবস্থাপনা নোড ৪ এবং ৫ | ১৬ জিবি র্যাম | ৮-vCPU কোর | ৫০০ জিবি - ১ টেরাবাইট |
ভূমিকা এবং অনুমতি
একটি এয়ার-গ্যাপড জিডিসি পরিবেশে প্রাইভেট ক্লাউডের জন্য Apigee Edge স্থাপন করতে নিম্নলিখিত ভূমিকা এবং অনুমতিগুলির প্রয়োজন:
- প্ল্যাটফর্ম অ্যাডমিনিস্ট্রেটর (PA):
IAM Adminভূমিকাটি অর্পণ করুন। - অ্যাপ্লিকেশন অপারেটর (এও): নিম্নলিখিত ভূমিকাগুলি অর্পণ করুন:
-
Harbor Instance Admin: একটি প্রোজেক্টের অন্তর্গত হারবার ইনস্ট্যান্সগুলো পরিচালনা করার পূর্ণ অ্যাক্সেস রয়েছে। -
LoggingTarget Creator: প্রজেক্ট নেমস্পেসেLoggingTargetকাস্টম রিসোর্স তৈরি করে। -
LoggingTarget Editor: প্রজেক্ট নেমস্পেসে অবস্থিতLoggingTargetকাস্টম রিসোর্সসমূহ সম্পাদনা করে। -
Project Bucket Admin: স্টোরেজ বাকেট এবং বাকেটের ভেতরের অবজেক্টগুলো পরিচালনা করেন। -
Project Grafana Viewer: প্রজেক্ট নেমস্পেসে অবস্থিত মনিটরিং ইনস্ট্যান্সটি অ্যাক্সেস করে। -
Project NetworkPolicy Admin: প্রজেক্ট নেমস্পেসে থাকা প্রজেক্ট নেটওয়ার্ক পলিসিগুলো পরিচালনা করেন। -
Project VirtualMachine Admin: প্রজেক্ট নেমস্পেসের অন্তর্গত ভার্চুয়াল মেশিনগুলো পরিচালনা করেন। -
Secret Admin: প্রোজেক্টের কুবারনেটিস সিক্রেটগুলো পরিচালনা করে। -
Service Configuration Admin: একটি প্রজেক্ট নেমস্পেসের অন্তর্গত সার্ভিস কনফিগারেশনগুলোতে তার পড়া এবং লেখার অ্যাক্সেস রয়েছে। -
Namespace Admin: প্রোজেক্ট নেমস্পেসের অন্তর্গত সকল রিসোর্স পরিচালনা করেন।
-
- GDC এয়ার-গ্যাপড-এ থাকা Apigee-র সাথে কোনো DNS সার্ভার থাকে না এবং এটি একটি বিকল্প ব্যবস্থা হিসেবে লোকাল DNS রেজোলিউশন ব্যবহার করে। যদি GDC এয়ার-গ্যাপড-এ থাকা Apigee এমন কোনো পরিবেশে স্থাপন করা হয় যেখানে এক্সটার্নাল DNS সার্ভার রয়েছে, তাহলে লোকাল DNS কনফিগার করার ধাপগুলোর পরিবর্তে DNS সার্ভারগুলোতে DNS এন্ট্রি কনফিগার করার ধাপগুলো অনুসরণ করুন।
- GDC এয়ার-গ্যাপড-এ থাকা Apigee-তে কোনো স্বতন্ত্র SMTP সার্ভার অন্তর্ভুক্ত থাকে না। ম্যানেজমেন্ট সার্ভার এবং ম্যানেজমেন্ট UI থেকে অ্যাকাউন্ট তৈরি এবং পাসওয়ার্ড রিসেটের জন্য বহির্গামী ইমেল নোটিফিকেশন চালু করতে আপনি যেকোনো সময় একটি SMTP সার্ভার কনফিগার করতে পারেন। Apigee ব্যবহারকারীর অ্যাকাউন্ট ব্যবস্থাপনার জন্য ম্যানেজমেন্ট API-গুলো উপলব্ধ থাকে। আরও তথ্যের জন্য ‘এজ SMTP সার্ভার কনফিগার করা’ দেখুন।
- জিডিসি এয়ার-গ্যাপড সিস্টেমে Apigee অনুপ্রবেশ সনাক্তকরণ এবং প্রতিরোধ ব্যবস্থা বাস্তবায়ন করে না। ক্ষতিকারক কার্যকলাপ সনাক্ত ও প্রতিরোধ করার জন্য Snort-এর মতো একটি অনুপ্রবেশ প্রতিরোধ ব্যবস্থা (IPS) ইনস্টল এবং কনফিগার করুন।
- অপারেটিং সিস্টেম: রকি লিনাক্স ৮
- মেশিনের আকার: ৮ জিবি র্যাম; ২-ভিসিপিইউ কোর; ৬৪ জিবি লোকাল ডিস্ক স্টোরেজ
- সংযোগ:
- প্রবেশ: TCP 22 (SSH)
- প্রস্থান: ইন্টারনেট
- Edge for Private Cloud কলামে উল্লিখিত GDC-এর জন্য সমর্থিত সর্বশেষ অফিসিয়াল রিলিজ সংস্করণটির জন্য Apigee Edge for Private Cloud রিলিজ নোট দেখুন।
- 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 for Private Cloud-এর সর্বশেষ রিলিজ সংস্করণ, উদাহরণস্বরূপ, 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 হলো Apigee Edge for Private Cloud-এর সেই রিলিজ সংস্করণ, যা আপনি GDC-তে ইনস্টল করতে চান এবং ব্যবহারের জন্য প্রস্তুত।
- সংযুক্ত নোডটিতে সেটআপ স্ক্রিপ্টটি চালান:
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 হলো সংযুক্ত নোডটির আইপি অ্যাড্রেস।
- সংস্থার অ্যাডমিন ক্লাস্টারের সাথে প্রমাণীকরণ করুন:
gdcloud auth login --login-config-cert WEB_TLS_CERTgdcloud clusters get-credentials ORG_ADMIN_CLUSTERকোথায়:
- WEB_TLS_CERT হলো ওয়েব টিএলএস সার্টিফিকেটের পাথ।
- ORG_ADMIN_CLUSTER হলো অর্গ অ্যাডমিন GKE ক্লাস্টারের নাম।
- প্রজেক্ট এবং বাকেট এনভায়রনমেন্ট ভেরিয়েবল সেট করুন:
export PROJECT=PROJECTexport BUCKET=BUCKET_NAMEকোথায়:
- PROJECT হলো আপনার GDC প্রকল্পের নাম।
- BUCKET_NAME হলো সেই বাকেটের নাম যা আপনি Apigee Edge for Private Cloud ব্যাকআপ ফাইলগুলো সংরক্ষণের জন্য তৈরি করতে চান।
- বাকেট কনফিগারেশন প্রয়োগ করুন:
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 ক্লাস্টারের নাম।
- একটি পাইথন ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন:
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 কী ধারণকারী ফাইলের নাম।
- রিপোজিটরি নোডের জন্য বাহ্যিক আইপি ঠিকানাটি নিন:
kubectl get virtualmachineexternalaccess -n $PROJECT $NODE -ojsonpath='{.status.ingressIP}' - রিপোজিটরি নোডের অভ্যন্তরীণ আইপি ঠিকানাটি নিন:
kubectl get virtualmachines.virtualmachine.gdc.goog -n $PROJECT $NODE -ojsonpath='{.status.network.interfaces[1].ipAddresses[0]}' -
apigee-4.53.01 -
apigee-nginx.tar -
postgresql14.tar -
fluentbit.tar -
ansible-rpms.tar -
apigee-repos.tar - SSH প্রাইভেট কী ফাইলটি রিপোজিটরি নোডে কপি করুন:
scp -i SSH_PRIVATE_KEY_FILE ~/apigee-files/* admin@REPO_EXTERNAL_IP:/tmp
কোথায়:
- SSH_PRIVATE_KEY_FILE হলো সেই ফাইলের নাম যেখানে আপনার ব্যক্তিগত SSH কী থাকে।
- REPO_EXTERNAL_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 হলো রিপোজিটরি নোডের বাহ্যিক আইপি ঠিকানা।
-
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 প্রতিস্থাপন করুন।
-
apigee/helm/scripts/apigee_setup.shফাইলেREPO_INTERNAL_IP,REPO_USER_NAMEএবংREPO_PASSWORDআপনার কাঙ্ক্ষিত মান দিয়ে প্রতিস্থাপন করুন। - মানগুলো এনভায়রনমেন্ট ভেরিয়েবল হিসেবে এক্সপোর্ট করুন:
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 নোডগুলির বাহ্যিক আইপি ঠিকানাগুলি সংগ্রহ করুন:
for i in 1 2 3 4 5; do kubectl get virtualmachineexternalaccess -n $PROJECT node$i -ojsonpath='{.status.ingressIP}' echo done - Apigee নোডগুলির অভ্যন্তরীণ আইপি ঠিকানাগুলি সংগ্রহ করুন:
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 - কন্ট্রোল নোডের বাহ্যিক আইপি ঠিকানাটি নিন:
kubectl get virtualmachineexternalaccess -n $PROJECT control -ojsonpath='{.status.ingressIP}' - কন্ট্রোল নোডের অভ্যন্তরীণ আইপি সংগ্রহ করুন:
kubectl get virtualmachines.virtualmachine.GDC.goog -n $PROJECT control -ojsonpath='{.status.network.interfaces[1].ipAddresses[0]}' - কন্ট্রোল নোডে SSH করুন এবং অ্যানসিবল এনভায়রনমেন্ট সেট আপ করুন:
cd /home/admincp -r /tmp/apigee-repos .cd apigee-repos/ansible-opdk-accelerator/setup - রিমোট গিট রিপোজিটরিগুলোকে লোকাল ফাইল দিয়ে প্রতিস্থাপন করুন:
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
- যে টাস্কগুলোর জন্য গিটহাব অ্যাক্সেস প্রয়োজন, সেগুলো সরিয়ে ফেলুন:
- কনফিগারেশন রিপোজিটরিগুলির গিট SSH চেকআউট
- কনফিগারেশন রিপোজিটরিগুলির গিট 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 হলো কন্ট্রোল নোডের বাহ্যিক আইপি ঠিকানা।
- 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 নোডগুলির অভ্যন্তরীণ আইপি ঠিকানাগুলি আপডেট করুন: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 নোডগুলোর অভ্যন্তরীণ আইপি অ্যাড্রেস।
-
~/.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 রিপোজিটরির পাসওয়ার্ড।
- OPDK_QPID_MGMT_USERNAME হলো Apigee QPID ম্যানেজমেন্ট সার্ভারের ইউজারনেম।
- OPDK_QPID_MGMT_PASSWORD হলো Apigee QPID ম্যানেজমেন্ট সার্ভারের পাসওয়ার্ড।
- একটি বৈধ Apigee Edge for Private Cloud লাইসেন্স ফাইল দিয়ে একটি লাইসেন্স ফাইল যুক্ত করুন। ফাইলটির নাম অবশ্যই
license.txtহতে হবে। -
~/.apigee-secure/license.txtফাইলের বিষয়বস্তু আপনার এইমাত্র তৈরি করা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
- রিমোট গিট রিপোজিটরিগুলোকে লোকাল ফাইল দিয়ে প্রতিস্থাপন করুন:
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
- অ্যানসিবল রোলগুলো প্যাচ করুন:
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- তে রিসেট পাসওয়ার্ড লিঙ্কটি নিষ্ক্রিয় করার ধাপগুলো অনুসরণ করুন।
-
dev-apigeeGDC প্রজেক্টে একটি Harbor ইনস্ট্যান্স তৈরি করতে, "Create Harbor registry instances" এর নির্দেশাবলী অনুসরণ করুন। -
apigeeনামের একটি Harbor প্রজেক্ট তৈরি করতে Create Harbor projects- এর নির্দেশাবলী অনুসরণ করুন। - হারবার প্রকল্পের জন্য অ্যাক্সেস কন্ট্রোল সেট আপ করতে, 'অ্যাক্সেস কন্ট্রোল কনফিগার করুন' (Configure access control ) অংশের নির্দেশাবলী অনুসরণ করুন।
- ডকার অথেন্টিকেশন কনফিগার করতে "Sign into Docker and Helm"- এর নির্দেশাবলী অনুসরণ করুন।
- দেখানো অনুযায়ী
apigee/apigee_user_cluster.tomlফাইলে আইপি অ্যাড্রেসগুলো আপডেট করুন:mgmt-server-proxy = "APIGEE_NODE1_EXTERNAL_IP" router-proxy1 = "APIGEE_NODE2_EXTERNAL_IP" router-proxy2 = "APIGEE_NODE3_EXTERNAL_IP"
কোথায়:
- APIGEE_NODE1_EXTERNAL_IP হলো পূর্ববর্তী ধাপে প্রাপ্ত Apigee নোড1-এর এক্সটার্নাল আইপি অ্যাড্রেস।
- APIGEE_NODE2_EXTERNAL_IP হলো পূর্ববর্তী ধাপে প্রাপ্ত Apigee node2-এর এক্সটার্নাল আইপি অ্যাড্রেস।
- APIGEE_NODE3_EXTERNAL_IP হলো পূর্ববর্তী ধাপে প্রাপ্ত Apigee node3-এর এক্সটার্নাল আইপি অ্যাড্রেস।
- HTTPS কনফিগার করার জন্য SSL সার্টিফিকেট ফাইল (
server.crt) এবং কী ফাইল (server.key)apigee/mgmt-server-proxyএবংapigee/router-proxyফোল্ডারগুলোতে রাখুন।সেলফ-সাইন্ড সার্টিফিকেট তৈরি করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
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 - সার্ভিসগুলোর এক্সটার্নাল আইপি অ্যাড্রেসগুলো সংগ্রহ করুন:
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 হলো পূর্ববর্তী ধাপে প্রাপ্ত আপলোডার সার্ভিসের এক্সটার্নাল আইপি অ্যাড্রেস।
-
apigee/helm/scripts/apigee_setup.shএFLUENTBIT_EXTERNAL_IPআপডেট করুন:export FLUENTBIT_EXTERNAL_IP=FLUENTBIT_EXTERNAL_IP
- ভিএমগুলো বন্ধ করুন:
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 - হেলম চার্টটি পুনরায় স্থাপন করুন:
python apigee/solution_deploy.py gdc-air-gapped
- ভিএমগুলো চালু করুন:
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 নোড1-এর অভ্যন্তরীণ আইপি ঠিকানা।
- APIGEE_NODE2_EXTERNAL_IP হলো পূর্ববর্তী ধাপে প্রাপ্ত Apigee node2-এর এক্সটার্নাল আইপি অ্যাড্রেস।
- APIGEE_NODE3_EXTERNAL_IP হলো পূর্ববর্তী ধাপে প্রাপ্ত Apigee node3-এর এক্সটার্নাল আইপি অ্যাড্রেস।
- সংস্থাটিকে অন্তর্ভুক্ত করতে নোড১ -এ স্ক্রিপ্টটি চালান:
chmod a+x apigee_org_setup.sh./apigee_org_setup.sh -
apigee-elbসার্ভিসের এক্সটার্নাল আইপি অ্যাড্রেসটি খুঁজুন:gdcloud clusters get-credentials USER_CLUSTERexport PROJECT=dev-apigeekubectl get svc apigee-elb -n $PROJECTযেখানে USER_CLUSTER হলো ব্যবহারকারীর GKE ক্লাস্টারের নাম।
এই পরিষেবাটি এজ ইউআই, ম্যানেজমেন্ট এপিআই এবং এপিআই প্রক্সির এন্ডপয়েন্ট হিসেবে কাজ করে।
- APIGEE_ELB_EXTERNAL_IP হলো পূর্ববর্তী ধাপে প্রাপ্ত
apigee-elbসার্ভিসের এক্সটার্নাল আইপি অ্যাড্রেস। - ORG_NAME হলো Apigee অর্গানাইজেশনের নাম।
- ENV_NAME হলো Apigee এনভায়রনমেন্টের নাম।
- Edge UI- তে লগ ইন করুন।
- এপিআই প্রক্সি পেজে, একটি নতুন এপিআই প্রক্সি তৈরি করতে ক্রিয়েট (Create) বাটনে ক্লিক করুন।
- প্রক্সি বিবরণ পৃষ্ঠায়, নিম্নলিখিত মানগুলি প্রবেশ করান:
- প্রক্সি ধরণ: কোনো লক্ষ্যবস্তু নির্বাচন করবেন না।
- প্রক্সি নাম:
ok - মূল পথ:
/ok - লক্ষ্য:
http:// APIGEE_ELB_EXTERNAL_IP :9001
- এপিআই প্রক্সি তৈরি করতে Create-এ ক্লিক করুন।
-
/okতে একটি HTTP অনুরোধ পাঠান:curl -i http://APIGEE_ELB_EXTERNAL_IP:9001/ok
- প্রতিক্রিয়াটি
200 OKকিনা তা নিশ্চিত করুন। - নিম্নলিখিত মানগুলি সহ একটি স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করতে "একটি কীস্টোর/ট্রাস্টস্টোর এবং অ্যালিয়াস তৈরি করুন" এর ধাপগুলি অনুসরণ করুন:
- কীস্টোর: 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সার্ভিসের এক্সটার্নাল আইপি অ্যাড্রেস। - ORG_NAME হলো Apigee অর্গানাইজেশনের নাম।
- ENV_NAME হলো Apigee এনভায়রনমেন্টের নাম যেখানে ভার্চুয়াল হোস্টটি তৈরি করা হবে।
- APIGEE_ELB_EXTERNAL_IP হলো পূর্ববর্তী ধাপে প্রাপ্ত
- সুরক্ষিত ভার্চুয়াল হোস্ট ব্যবহার করে একটি এপিআই প্রক্সি তৈরি করুন।
- রাউটারগুলিতে ভার্চুয়াল হোস্টগুলির জন্য ডিএনএস রেজোলিউশন কনফিগার করুন:
echo '127.0.0.1 api.apigeetest.com' | sudo tee -a /etc/hosts
- এন্ডপয়েন্টে একটি HTTPS অনুরোধ পাঠিয়ে ভার্চুয়াল হোস্টগুলি স্থানীয়ভাবে কাজ করছে কিনা তা নিশ্চিত করুন:
curl https://api.apigeetest.com:9005/ok -v -k
- এন্ডপয়েন্টের জন্য ডিএনএস রেজোলিউশন কনফিগার করুন:
echo 'APIGEE_ELB_EXTERNAL_IP apigeetest.com' | sudo tee -a /etc/hosts
যেখানে APIGEE_ELB_EXTERNAL_IP হলো পূর্ববর্তী ধাপে প্রাপ্ত
apigee-elbসার্ভিসের এক্সটার্নাল আইপি অ্যাড্রেস। - একটি ওয়েব ব্রাউজারে
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 - নোড1- এর 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 নোড1-এর এক্সটার্নাল আইপি অ্যাড্রেস।
- নোড১ -এ 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সার্ভিসের এক্সটার্নাল আইপি অ্যাড্রেস। - একটি ওয়েব ব্রাউজারে
https://ui.apigeetest.com:9443এ প্রবেশ করুন এবং এটি কাজ করছে কিনা তা নিশ্চিত করুন। আরও বিস্তারিত জানতে, নির্দেশিকাটি দেখুন। - কীস্টোর ফাইলের জন্য মালিক নির্ধারণ করুন (এজ 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-টির জন্য ইন্টারনেট সংযোগ প্রয়োজন এবং এটি শুধুমাত্র ইনস্টলেশন প্রক্রিয়ার জন্য ব্যবহৃত হয়।
সংযুক্ত নোডটির জন্য নিম্নলিখিত ধারণক্ষমতা এবং কনফিগারেশন প্রয়োজন:
কানেক্টেড নোড তৈরি করতে, "Create and start a VM instance" -এর নির্দেশাবলী অনুসরণ করুন। VM তৈরি হয়ে গেলে, VM-এর সাথে সংযোগ করতে " Connect to Linux VMs" -এর নির্দেশাবলী অনুসরণ করুন। সমর্থিত অপারেটিং সিস্টেমের তালিকার জন্য "GDC supported operating systems" দেখুন।
ইনস্টলেশন ফাইল ডাউনলোড করুন
ইনস্টলেশন ফাইলগুলি ডাউনলোড করতে:
স্টোরেজ বালতিটি প্রস্তুত করুন
এই ধাপে, GDC অপারেটর Apigee Edge for Private Cloud ব্যাকআপ ফাইলগুলো সংরক্ষণের জন্য GDC প্রোজেক্টে একটি স্টোরেজ বাকেট সেট আপ করেন।
একটি স্টোরেজ বাকেট তৈরি করুন
GDC প্রোজেক্টে একটি স্টোরেজ বাকেট তৈরি করতে:
বালতি অ্যাক্সেস কনফিগার করুন
স্টোরেজ বাকেটে অ্যাক্সেস কনফিগার করতে:
রিপোজিটরি নোড সেট আপ করুন
এই ধাপে, GDC অপারেটর Apigee Edge for Private Cloud মিরর রিপোজিটরিটি হোস্ট করার জন্য একটি রিপোজিটরি নোড সেট আপ করেন।
একটি রিপোজিটরি নোড তৈরি করুন
একটি রিপোজিটরি নোড তৈরি করতে:
রিপোজিটরি নোড অ্যাক্সেস কনফিগার করুন
রিপোজিটরি নোডে অ্যাক্সেস কনফিগার করতে:
ইনস্টলেশন ফাইল আপলোড করুন
এই ধাপে, জিডিসি অপারেটর নিম্নলিখিত ফাইলগুলির সর্বশেষ সংস্করণ রিপোজিটরি নোডে আপলোড করেন:
ইনস্টলেশন ফাইলগুলো আপলোড করতে:
মিরর রিপোজিটরি কনফিগার করুন
মিরর রিপোজিটরি কনফিগার করতে:
Apigee নোড স্থাপন করুন
এই ধাপে, জিডিসি অপারেটর Apigee API ম্যানেজমেন্ট নোডগুলো স্থাপন করে।
Apigee নোড তৈরি করুন
Apigee API ম্যানেজমেন্ট নোড তৈরি করতে:
Apigee নোড অ্যাক্সেস কনফিগার করুন
Apigee API ম্যানেজমেন্ট নোডগুলিতে অ্যাক্সেস কনফিগার করুন:
কন্ট্রোল নোড সেট আপ করুন
এই ধাপে, জিডিসি অপারেটর Apigee ইনস্টলেশনগুলো পরিচালনা করার জন্য একটি কন্ট্রোল নোড সেট আপ করেন।
একটি নিয়ন্ত্রণ নোড তৈরি করুন
একটি কন্ট্রোল নোড তৈরি করতে:
কন্ট্রোল নোড অ্যাক্সেস কনফিগার করুন
কন্ট্রোল নোড অ্যাক্সেস কনফিগার করতে:
অ্যানসিবল কনফিগার করুন
এই ধাপে, জিডিসি অপারেটর সেট আপ করে। কন্ট্রোল নোডের পরিবেশ।
অ্যানসিবল পরিবেশ কনফিগার করতে:
Apigee উপাদানগুলি ইনস্টল করুন
এই ধাপে, জিডিসি অপারেটর অ্যানসিবল ব্যবহার করে অ্যাপিজি কম্পোনেন্টগুলো ইনস্টল করেন।
Apigee কম্পোনেন্টগুলো ইনস্টল করতে:
পড এবং পরিষেবাগুলি স্থাপন করুন
এই ধাপে আপনি আপলোডার, রিভার্স প্রক্সি, লোড ব্যালান্সার এবং লগিং পড ও সার্ভিসগুলো ডেপ্লয় করবেন।
পড এবং সার্ভিসগুলো স্থাপন করতে:
আপলোডার এবং ফ্লুয়েন্ট বিট ফরওয়ার্ডার আইপি আপডেট করুন
এই ধাপে, আপনি ব্যাকআপ এবং Apigee সেটআপ স্ক্রিপ্টে আপলোডার এবং ফ্লুয়েন্ট বিট ফরওয়ার্ডারের আইপি আপডেট করবেন।
স্টার্টআপ স্ক্রিপ্ট আপডেট করার জন্য Apigee নোডগুলি রিস্টার্ট করতে হবে। নোডগুলি রিস্টার্ট করতে:
Apigee সংস্থায় যোগদান করুন
এই ধাপে, GDC অপারেটর নোড১ -এ একটি সেটআপ স্ক্রিপ্ট চালিয়ে Apigee অর্গানাইজেশনটিকে অনবোর্ড করেন।
Apigee সংস্থাকে অন্তর্ভুক্ত করতে:
HTTP সংযোগ পরীক্ষা করুন
এই ধাপে, আপনি ম্যানেজমেন্ট এপিআই এবং এপিআই প্রক্সির জন্য এইচটিটিপি সংযোগ পরীক্ষা করবেন।
HTTP সংযোগ পরীক্ষা করতে:
ম্যানেজমেন্ট এপিআই পরীক্ষা করুন
ম্যানেজমেন্ট এপিআই পরীক্ষা করতে, এই এন্ডপয়েন্টে একটি HTTP অনুরোধ পাঠান:
curl -u "opdk@apigee.com:Apigee123!" "http://APIGEE_ELB_EXTERNAL_IP:8080/v1/o/ORG_NAME/e/ENV_NAME/provisioning/axstatus"
কোথায়:
এপিআই প্রক্সি পরীক্ষা করুন
এপিআই প্রক্সি পরীক্ষা করতে:
TLS কনফিগার করুন এবং HTTPS পরীক্ষা করুন
এই ধাপে, জিডিসি অপারেটর এপিআই প্রক্সি, এজ ইউআই এবং ম্যানেজমেন্ট এপিআই-এর জন্য ট্রান্সপোর্ট লেয়ার সিকিউরিটি (টিএলএস) কনফিগার করেন।
এপিআই প্রক্সির জন্য টিএলএস কনফিগার করুন
Edge UI-এর জন্য TLS কনফিগার করুন
Edge UI-এর জন্য 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