คู่มือนี้อธิบายวิธีติดตั้งและใช้งาน Apigee Edge สำหรับ Private Cloud และพร็อกซี API ในสภาพแวดล้อม Google Distributed Cloud (GDC) ที่แยกจากอินเทอร์เน็ต ข้อเสนอ GDC ที่แยกจากเครือข่ายภายนอก รวมถึง Apigee Edge สำหรับ Private Cloud ไม่จำเป็นต้องเชื่อมต่อกับ Google Cloud เพื่อจัดการโครงสร้างพื้นฐานและบริการ คุณสามารถใช้ระนาบควบคุมในพื้นที่ซึ่งโฮสต์ในสถานที่ของคุณสำหรับการดำเนินการทั้งหมด ดูภาพรวมของ GDC ที่แยกจากอินเทอร์เน็ตได้ที่ภาพรวม
คู่มือนี้มีไว้สำหรับผู้ปฏิบัติงาน Apigee ที่คุ้นเคยกับ Apigee Edge สำหรับ Private Cloud และมีความเข้าใจพื้นฐานเกี่ยวกับ Kubernetes
ภาพรวมของขั้นตอนที่ต้องทำ
หากต้องการติดตั้งและใช้งาน Apigee Edge สำหรับ Private Cloud ในสภาพแวดล้อม GDC ที่แยกจากอินเทอร์เน็ต ผู้ปฏิบัติงานต้องทำตามขั้นตอนต่อไปนี้
- รับไฟล์การติดตั้งสำหรับ Apigee Edge สำหรับ Private Cloud
- ตั้งค่าที่เก็บข้อมูล
- ตั้งค่าโหนดที่เก็บ
- ติดตั้งใช้งานโหนด Apigee
- ตั้งค่าโหนดควบคุม
- กำหนดค่า Ansible
- ติดตั้งคอมโพเนนต์ Apigee
- ติดตั้งใช้งานพ็อดและบริการ
- อัปเดต IP ของเครื่องมืออัปโหลดและตัวส่งต่อ Fluent Bit
- เริ่มต้นใช้งานองค์กร Apigee
- ทดสอบการเชื่อมต่อ HTTP
- กำหนดค่า TLS และทดสอบ HTTPS
ก่อนเริ่มต้น
ก่อนเริ่มกระบวนการติดตั้ง โปรดทำตามขั้นตอนต่อไปนี้
- สร้างโปรเจ็กต์ GDC เพื่อใช้ในการติดตั้ง หากยังไม่มี ดูข้อมูลเพิ่มเติมได้ที่สร้างโปรเจ็กต์
- ดาวน์โหลด ติดตั้ง
และกำหนดค่า
gdcloud
CLI ในเวิร์กสเตชันที่เชื่อมต่อกับ GDC หรือภายในสภาพแวดล้อมการติดตั้งใช้งานต่อเนื่องขององค์กร - รับข้อมูลเข้าสู่ระบบที่จำเป็นในการใช้
gdcloud
CLI และkubectl
API ดูขั้นตอนที่จำเป็นได้ที่ ตรวจสอบสิทธิ์บัญชีเพื่อเข้าถึง - ยืนยันชื่อผู้ใช้และรหัสผ่าน Apigee ที่คุณได้รับจากผู้จัดการลูกค้า Apigee
- ยืนยันชื่อคลัสเตอร์ผู้ดูแลระบบ GKE และชื่อคลัสเตอร์ผู้ใช้ GKE
ข้อกำหนดด้านความจุ
การติดตั้ง Apigee Edge สำหรับ Private Cloud ใน GDC ต้องใช้เครื่องเสมือน (VM) หลายเครื่อง ที่มีการจัดสรรทรัพยากรที่เฉพาะเจาะจง VM เหล่านี้จะมีการเรียกเก็บเงินตาม ทรัพยากรการประมวลผล (RAM, แกน vCPU) และพื้นที่เก็บข้อมูลในดิสก์ในเครื่อง ดูข้อมูลเพิ่มเติมได้ที่ ราคา
ตารางต่อไปนี้แสดงข้อกำหนดของทรัพยากรสำหรับ VM แต่ละรายการ
ประเภท VM | RAM | แกน vCPU | พื้นที่เก็บข้อมูลในดิสก์ |
---|---|---|---|
โหนดที่เก็บ | 8GB | แกน vCPU 2 ตัว | 64 GB |
โหนดควบคุม | 8GB | แกน vCPU 2 ตัว | 64 GB |
โหนดการจัดการ Apigee API 1, 2 และ 3 | RAM 16 GB | 8-vCPU Core | 670 GB |
โหนดการจัดการ Apigee API 4 และ 5 | RAM 16 GB | 8-vCPU Core | 500 GB - 1TB |
บทบาทและสิทธิ์
คุณต้องมีบทบาทและสิทธิ์ต่อไปนี้เพื่อติดตั้งใช้งาน Apigee Edge สำหรับ Private Cloud ในสภาพแวดล้อม GDC ที่แยกจากอินเทอร์เน็ต
- ผู้ดูแลระบบแพลตฟอร์ม (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
: จัดการทรัพยากรทั้งหมดภายในเนมสเปซของโปรเจ็กต์
- Apigee ใน GDC ที่แยกเครือข่ายไม่ได้มาพร้อมกับเซิร์ฟเวอร์ DNS และใช้การแก้ปัญหา DNS ในเครื่องเป็นวิธีแก้ปัญหาเฉพาะหน้า หาก Apigee ใน GDC ที่แยกเครือข่ายภายในมีการติดตั้งใช้งานในสภาพแวดล้อมที่มีเซิร์ฟเวอร์ DNS ภายนอก ให้แทนที่ขั้นตอนที่กำหนดค่า DNS ภายในด้วยการกำหนดค่ารายการ DNS ในเซิร์ฟเวอร์ DNS
- Apigee ใน GDC ที่แยกจากอินเทอร์เน็ตไม่มีเซิร์ฟเวอร์ SMTP แบบสแตนด์อโลน คุณกำหนดค่าเซิร์ฟเวอร์ SMTP ได้ทุกเมื่อเพื่อเปิดใช้การแจ้งเตือนทางอีเมลขาออกสำหรับการสร้างบัญชีและการรีเซ็ตรหัสผ่านจากเซิร์ฟเวอร์การจัดการและ UI การจัดการ Management API ยังคงพร้อมให้บริการสำหรับการจัดการบัญชีผู้ใช้ Apigee ดูข้อมูลเพิ่มเติมได้ที่การกำหนดค่าเซิร์ฟเวอร์ SMTP ที่ Edge
- Apigee ใน GDC ที่แยกเครือข่ายจะไม่ใช้การตรวจจับและการป้องกันการบุกรุก ติดตั้งและ กำหนดค่าระบบป้องกันการบุกรุก (IPS) เช่น Snort เพื่อตรวจหาและป้องกันกิจกรรมที่เป็นอันตราย
- ระบบปฏิบัติการ: Rocky Linux 8
- ขนาดเครื่อง: RAM 8 GB, 2 คอร์ vCPU, พื้นที่เก็บข้อมูลในดิสก์ภายในขนาด 64 GB
- การเชื่อมต่อ:
- ขาเข้า: TCP 22 (SSH)
- ขาออก: อินเทอร์เน็ต
- ดูบันทึกประจำรุ่นของ Apigee Edge สำหรับ Private Cloud เพื่อดูเวอร์ชันอย่างเป็นทางการล่าสุดที่รองรับ GDC ตามที่ระบุไว้ในคอลัมน์ Edge สำหรับ 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 คือเวอร์ชันการเผยแพร่ Apigee Edge สำหรับ Private Cloud ที่ใช้ใน GDC ที่คุณต้องการติดตั้ง เช่น 4.53.01
- ดาวน์โหลดไฟล์ Apigee Edge สำหรับ Private Cloud
bootstrap_VERSION.sh
ล่าสุดไปที่/tmp/bootstrap_VERSION.sh
curl https://software.apigee.com/bootstrap_VERSION.sh -o /tmp/bootstrap_VERSION.sh
โดย VERSION คือ Apigee Edge สำหรับ Private Cloud เวอร์ชันล่าสุดที่เผยแพร่สำหรับการใช้งานใน GDC ที่คุณต้องการติดตั้ง เช่น 4.53.01
- ติดตั้งยูทิลิตีและทรัพยากร Dependency ของ Edge
apigee-service
sudo bash /tmp/bootstrap_VERSION.sh apigeeuser=APIGEE_USER apigeepassword=APIGEE_PASSWORD
สถานที่:
- APIGEE_USER คือชื่อผู้ใช้ที่คุณได้รับสำหรับองค์กร Apigee
- APIGEE_PASSWORD คือรหัสผ่านที่คุณได้รับสำหรับองค์กร Apigee
- VERSION คือเวอร์ชันที่เผยแพร่ของ Apigee Edge สำหรับ 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-files
cd apigee-files
for 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_CERT
gdcloud clusters get-credentials ORG_ADMIN_CLUSTER
สถานที่:
- WEB_TLS_CERT คือเส้นทางไปยังใบรับรอง TLS ของเว็บ
- ORG_ADMIN_CLUSTER คือชื่อคลัสเตอร์ GKE ของผู้ดูแลระบบองค์กร
- ตั้งค่าตัวแปรสภาพแวดล้อมของโปรเจ็กต์และที่เก็บข้อมูล
export PROJECT=PROJECT
export BUCKET=BUCKET_NAME
สถานที่:
- PROJECT คือชื่อโปรเจ็กต์ GDC
- BUCKET_NAME คือชื่อของที่เก็บข้อมูลที่คุณต้องการสร้างเพื่อจัดเก็บไฟล์สำรองข้อมูล Apigee Edge สำหรับ 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
การกำหนดค่านี้จะสร้างที่เก็บข้อมูลที่มีระยะเวลาการเก็บรักษา 30 วัน
- สร้างบัญชีบริการในโปรเจ็กต์โดยทำดังนี้
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==
- สร้าง Secret ที่จะใช้โดยโปรแกรมอัปโหลดในคลัสเตอร์ 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=repo
kubectl 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.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 คือที่อยู่ 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.sh
curl http://REPO_USER:REPO_PASSWORD@REPO_INTERNAL_IP:3939/apigee/release/VERSION/repodata/repomd.xml
แทนที่ VERSION ด้วย Apigee Edge สำหรับ Private Cloud เวอร์ชันที่คุณต้องการติดตั้ง
- แทนที่
REPO_INTERNAL_IP
,REPO_USER_NAME
และREPO_PASSWORD
ในapigee/helm/scripts/apigee_setup.sh
ด้วยค่าที่ต้องการ - ส่งออกค่าเป็นตัวแปรสภาพแวดล้อม
export REPO_IP=REPO_INTERNAL_IP
export REPO_USER=REPO_USER_NAME
export REPO_PASSWORD=REPO_PASSWORD
- เปิดใช้
apigee_node
ในapigee/helm/values-cookie-air-gapped.yaml
ดังที่แสดง::apigee_node: enabled: true
- เรียกใช้สคริปต์การติดตั้งใช้งานเพื่อสร้างโหนด Apigee
source venv/bin/activate
python 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 สาธารณะ
- รับที่อยู่ IP ภายนอกสำหรับโหนด Apigee โดยทำดังนี้
for i in 1 2 3 4 5; do kubectl get virtualmachineexternalaccess -n $PROJECT node$i -ojsonpath='{.status.ingressIP}' echo done
- รับที่อยู่ IP ภายในสำหรับโหนด 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 ไปยังโหนดแล้วเรียกใช้คำสั่งต่อไปนี้
- แทนที่
REPO_INTERNAL_IP
,REPO_USER_NAME
และREPO_PASSWORD
ในapigee/helm/scripts/control_setup.sh
ด้วยค่าที่ต้องการ - เปิดใช้
control_node
ในapigee/helm/values-cookie-air-gapped.yaml
ดังที่แสดงcontrol_node: enabled: true
- เรียกใช้สคริปต์การติดตั้งใช้งานเพื่อสร้างโหนดควบคุม
source venv/bin/activate
python 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/admin
cp -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.yml
sed -i 's/\.git$//g' requirements.yml
- Install Ansible requirements:
sudo chown -R admin /home/admin/apigee-repos
ansible-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 ออก โดยทำดังนี้
- การชำระเงิน SSH ของ Git สำหรับที่เก็บการกำหนดค่า
- การชำระเงินผ่าน HTTPS ของที่เก็บการกำหนดค่า Git
- เรียกใช้เพลย์บุ๊กการตั้งค่า
cd ~/apigee-repos/ansible-opdk-accelerator/setup
ansible-playbook setup.yml
- แก้ไขไฟล์
- อัปโหลดคีย์ SSH สำหรับโหนด Apigee ไปยังโหนดควบคุมโดยทำดังนี้
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 คือชื่อไฟล์ที่มีคีย์ส่วนตัว SSH ของโหนด Apigee
- 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/prod
vi ~/.ansible/inventory/prod/edge-dc1
- คัดลอกเนื้อหาของไฟล์
- อัปเดตที่อยู่ IP ภายในของโหนด Apigee ใน
edge-dc1
โดยทำดังนี้apigee_000 ansible_host=APIGEE_NODE1_INTERNAL_IP
apigee_001 ansible_host=APIGEE_NODE2_INTERNAL_IP
apigee_002 ansible_host=APIGEE_NODE3_INTERNAL_IP
apigee_003 ansible_host=APIGEE_NODE4_INTERNAL_IP
apigee_004 ansible_host=APIGEE_NODE5_INTERNAL_IP
โดยค่าสำหรับ APIGEE_NODE*_INTERNAL_IP คือที่อยู่ 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 คือชื่อผู้ใช้สำหรับเซิร์ฟเวอร์การจัดการ QPID ของ Apigee
- OPDK_QPID_MGMT_PASSWORD คือรหัสผ่านสำหรับเซิร์ฟเวอร์การจัดการ QPID ของ Apigee
- เพิ่มไฟล์ใบอนุญาตที่มีไฟล์ใบอนุญาต Apigee Edge สำหรับ 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 สำหรับ Private Cloud เวอร์ชันที่คุณต้องการติดตั้ง
- APIGEE_REPO_URL คือ URL ของที่เก็บ Apigee
- ส่งออกไฟล์การกำหนดค่าเป็นตัวแปรสภาพแวดล้อม
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.yml
sed -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.yml
sed -i 's/include/include_tasks/g' ~/.ansible/roles/apigee-opdk-server-self/tasks/main.yml
sed -i 's/include/include_tasks/g' ~/.ansible/roles/apigee-opdk-setup-silent-installation-config/tasks/main.yml
cat << 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 EOF
sed -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
- เรียกใช้ Playbook เพื่อติดตั้งคอมโพเนนต์ Apigee ดังนี้
ansible-playbook install.yml
- ปิดใช้ลิงก์รีเซ็ตรหัสผ่านของผู้ใช้ใน Edge UI Apigee ใน GDC ที่แยกจากอินเทอร์เน็ตไม่มี เซิร์ฟเวอร์ SMTP ทำตามขั้นตอนในปิดใช้ลิงก์รีเซ็ตรหัสผ่านใน UI ของ Edge
- ทำตามวิธีการใน
สร้างอินสแตนซ์รีจิสทรี Harbor เพื่อสร้างอินสแตนซ์ Harbor ในโปรเจ็กต์ GDC
dev-apigee
- ทําตามวิธีการใน
สร้างโปรเจ็กต์ Harbor เพื่อสร้างโปรเจ็กต์ Harbor ชื่อ
apigee
- ทำตามวิธีการในกำหนดค่าการควบคุมการเข้าถึงเพื่อตั้งค่าการควบคุมการเข้าถึงสำหรับโปรเจ็กต์ Harbor
- ทำตามวิธีการในลงชื่อเข้าใช้ Docker และ Helm เพื่อ กำหนดค่าการตรวจสอบสิทธิ์ Docker
- อัปเดตที่อยู่ IP ในไฟล์
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 คือที่อยู่ IP ภายนอกของโหนด Apigee1 ที่ได้รับในขั้นตอนก่อนหน้า
- APIGEE_NODE2_EXTERNAL_IP คือที่อยู่ IP ภายนอกของโหนด Apigee2 ที่ได้รับในขั้นตอนก่อนหน้า
- APIGEE_NODE3_EXTERNAL_IP คือที่อยู่ IP ภายนอกของโหนด Apigee3 ที่ได้รับในขั้นตอนก่อนหน้า
- วางไฟล์ใบรับรอง SSL (
server.crt
) และไฟล์คีย์ (server.key
) สำหรับการกำหนดค่า HTTPS ไว้ในโฟลเดอร์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
- อัปเดตค่าของ
SSH-PASSWORD
สำหรับผู้ใช้รูทในคอนเทนเนอร์โปรแกรมอัปโหลดในไฟล์apigee/uploader/Dockerfile
RUN echo 'root:SSH_PASSWORD' | chpasswd
- รับข้อมูลเข้าสู่ระบบสำหรับคลัสเตอร์ผู้ใช้โดยใช้คำสั่งต่อไปนี้
gdcloud clusters get-credentials USER_CLUSTER
โดยที่ USER_CLUSTER คือชื่อของคลัสเตอร์ GKE ของผู้ใช้
- เรียกใช้สคริปต์การทำให้ใช้งานได้เพื่อทำให้พ็อดและบริการใช้งานได้
source venv/bin/activate
python apigee/solution_deploy_user_cluster.py gdc-air-gapped
- รับที่อยู่ IP ภายนอกของบริการ
kubectl get svc -n $PROJECT_ID
- อัปเดต
SSH_PASSWORD
,root
และUPLOADER_EXTERNAL_IP
ในapigee/helm/scripts/backup_setup.sh
: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 ภายนอกของบริการอัปโหลดที่ได้รับในขั้นตอนก่อนหน้า
- อัปเดต
FLUENTBIT_EXTERNAL_IP
ในapigee/helm/scripts/apigee_setup.sh
ดังนี้export FLUENTBIT_EXTERNAL_IP=FLUENTBIT_EXTERNAL_IP
- หยุด VM
gdcloud clusters get-credentials ORG_ADMIN_CLUSTER
export PROJECT=dev-apigee
for 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 คือที่อยู่ IP ภายในของโหนด Apigee1 ที่ได้รับในขั้นตอนก่อนหน้า
- APIGEE_NODE2_EXTERNAL_IP คือที่อยู่ IP ภายนอกของโหนด Apigee2 ที่ได้รับในขั้นตอนก่อนหน้า
- APIGEE_NODE3_EXTERNAL_IP คือที่อยู่ IP ภายนอกของโหนด Apigee3 ที่ได้รับในขั้นตอนก่อนหน้า
- เรียกใช้สคริปต์ใน node1 เพื่อเริ่มต้นใช้งานองค์กร
chmod a+x apigee_org_setup.sh
./apigee_org_setup.sh
- รับที่อยู่ IP ภายนอกของบริการ
apigee-elb
โดยทำดังนี้gdcloud clusters get-credentials USER_CLUSTER
export PROJECT=dev-apigee
kubectl get svc apigee-elb -n $PROJECT
โดยที่ USER_CLUSTER คือชื่อของคลัสเตอร์ GKE ของผู้ใช้
บริการนี้ทำหน้าที่เป็นปลายทางสำหรับ UI ของ Edge, Management API และพร็อกซี API
- APIGEE_ELB_EXTERNAL_IP คือที่อยู่ IP ภายนอกของบริการ
apigee-elb
ที่ได้รับในขั้นตอนก่อนหน้า - ORG_NAME คือชื่อขององค์กร Apigee
- ENV_NAME คือชื่อของสภาพแวดล้อม Apigee
- เข้าสู่ระบบ UI ของ Edge
- ในหน้าพร็อกซี API ให้คลิกสร้างเพื่อสร้างพร็อกซี API ใหม่
- ในหน้ารายละเอียดพร็อกซี ให้ป้อนค่าต่อไปนี้
- ประเภทพร็อกซี: เลือกไม่มีเป้าหมาย
- ชื่อพร็อกซี:
ok
- เส้นทางฐาน:
/ok
- เป้าหมาย:
http://APIGEE_ELB_EXTERNAL_IP:9001
- คลิกสร้างเพื่อสร้างพร็อกซี API
- ส่งคำขอ HTTP ไปยัง
/ok
ดังนี้curl -i http://APIGEE_ELB_EXTERNAL_IP:9001/ok
- ยืนยันว่าคำตอบคือ
200 OK
- ทำตามขั้นตอนในสร้างที่เก็บคีย์/ที่เก็บที่เชื่อถือได้และชื่อแทน
เพื่อสร้างใบรับรองแบบ Self-signed โดยใช้ค่าต่อไปนี้
- KeyStore: myTestKeystore
- KeyAlias: myKeyAlias
- ชื่อทั่วไป: apigeetest.com
- เรียก API เพื่อสร้างโฮสต์เสมือนชื่อ
api.apigeetest.com
ดังนี้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 คือที่อยู่ IP ภายนอกของบริการ
apigee-elb
ที่ได้รับในขั้นตอนก่อนหน้า - ORG_NAME คือชื่อขององค์กร Apigee
- ENV_NAME คือชื่อของสภาพแวดล้อม Apigee ที่ควรสร้างโฮสต์เสมือน
- APIGEE_ELB_EXTERNAL_IP คือที่อยู่ IP ภายนอกของบริการ
- สร้างพร็อกซี API โดยใช้โฮสต์เสมือนที่ปลอดภัย
- กำหนดค่าการแปลงชื่อ DNS สำหรับโฮสต์เสมือนในเราเตอร์โดยทำดังนี้
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 คือที่อยู่ IP ภายนอกของบริการ
apigee-elb
ที่ได้รับในขั้นตอนก่อนหน้า - ไปที่
https://apigeetest.com/ok
ในเว็บเบราว์เซอร์และยืนยันว่าใช้งานได้ - สร้างไฟล์ Keystore จากไฟล์ใบรับรอง SSL และไฟล์คีย์
openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out keystore.pkcs12
keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks
- วางไฟล์ Keystore ไว้ในโฟลเดอร์ Apigee ใน node1 ดังนี้
scp -i SSH_PRIVATE_KEY_FILE keystore.jks admin@APIGEE_NODE1_EXTERNAL_IP:/home/admin/
สถานที่:
- SSH_PRIVATE_KEY_FILE คือชื่อไฟล์ที่มีคีย์ส่วนตัว SSH ของโหนด Apigee
- APIGEE_NODE1_EXTERNAL_IP คือที่อยู่ IP ภายนอกของโหนด Apigee1 ที่ได้รับในขั้นตอนก่อนหน้า
- SSH ไปยัง node1 แล้วย้ายไฟล์ที่เก็บคีย์ไปยังโฟลเดอร์ 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
- กำหนดค่าการแปลง DNS สำหรับ UI ของ Edge โดยทำดังนี้
echo 'APIGEE_ELB_EXTERNAL_IP ui.apigeetest.com' | sudo tee -a /etc/hosts
โดย APIGEE_ELB_EXTERNAL_IP คือที่อยู่ IP ภายนอกของบริการ
apigee-elb
ที่ได้รับในขั้นตอนก่อนหน้า - เข้าถึง
https://ui.apigeetest.com:9443
ในเว็บเบราว์เซอร์และยืนยันว่าใช้งานได้ ดูรายละเอียดเพิ่มเติมได้ที่คู่มือ - กำหนดค่าเจ้าของไฟล์คีย์สโตร์ (ใช้ไฟล์เดียวกับ UI ของ Edge):
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 แบบ Air-Gap ได้ที่ ให้และเพิกถอนสิทธิ์เข้าถึง
ข้อจำกัด
ข้อจำกัดต่อไปนี้มีผลกับ Apigee ใน GDC แบบ Air-Gap
รับไฟล์ที่จำเป็น
หากต้องการรับไฟล์การติดตั้ง คุณต้องตั้งค่าโหนดที่เชื่อมต่อก่อน แล้วจึงดาวน์โหลดไฟล์
ตั้งค่าโหนดที่เชื่อมต่อ
โหนดที่เชื่อมต่อคือ VM เดียวที่อยู่นอก GDC ซึ่งคุณใช้เพื่อดาวน์โหลดไฟล์การติดตั้ง VM นี้ต้องมีสิทธิ์เข้าถึงอินเทอร์เน็ตและใช้สำหรับกระบวนการติดตั้งเท่านั้น
โหนดที่เชื่อมต่อต้องมีกำลังและความจุในการกำหนดค่าต่อไปนี้
หากต้องการสร้างโหนดที่เชื่อมต่อ ให้ทำตามวิธีการใน สร้างและเริ่มต้นอินสแตนซ์ VM เมื่อสร้าง VM แล้ว ให้ทำตามวิธีการในเชื่อมต่อกับ VM ของ Linux เพื่อเชื่อมต่อกับ VM ดูรายการระบบปฏิบัติการที่รองรับได้ที่ ระบบปฏิบัติการที่รองรับ GDC
ดาวน์โหลดไฟล์การติดตั้ง
วิธีดาวน์โหลดไฟล์การติดตั้ง
ตั้งค่าที่เก็บข้อมูล
ในขั้นตอนนี้ ผู้ปฏิบัติงาน GDC จะตั้งค่าที่เก็บข้อมูลในโปรเจ็กต์ GDC เพื่อจัดเก็บไฟล์สำรองข้อมูล Apigee Edge สำหรับ Private Cloud
สร้างที่เก็บข้อมูล
วิธีสร้างที่เก็บข้อมูลในโปรเจ็กต์ GDC
กำหนดค่าการเข้าถึงที่เก็บข้อมูล
วิธีกำหนดค่าการเข้าถึงที่เก็บข้อมูล
ตั้งค่าโหนดที่เก็บ
ในขั้นตอนนี้ ผู้ปฏิบัติงาน GDC จะตั้งค่าโหนดที่เก็บเพื่อโฮสต์ที่เก็บมิเรอร์ Apigee Edge สำหรับ Private Cloud
สร้างโหนดที่เก็บ
วิธีสร้างโหนดที่เก็บ
กำหนดค่าการเข้าถึงโหนดที่เก็บ
วิธีกำหนดค่าการเข้าถึงโหนดที่เก็บ
อัปโหลดไฟล์การติดตั้ง
ในขั้นตอนนี้ ผู้ปฏิบัติงาน GDC จะอัปโหลดเวอร์ชันล่าสุดของไฟล์ต่อไปนี้ไปยังโหนดที่เก็บ
วิธีอัปโหลดไฟล์การติดตั้ง
กำหนดค่าที่เก็บมิเรอร์
วิธีกำหนดค่าที่เก็บมิเรอร์
ติดตั้งใช้งานโหนด Apigee
ในขั้นตอนนี้ โอเปอเรเตอร์ GDC จะติดตั้งโหนดการจัดการ API ของ Apigee
สร้างโหนด Apigee
วิธีสร้างโหนดการจัดการ Apigee API
กำหนดค่าการเข้าถึงโหนด Apigee
กำหนดค่าการเข้าถึงโหนดการจัดการ Apigee API โดยทำดังนี้
ตั้งค่าโหนดควบคุม
ในขั้นตอนนี้ ผู้ปฏิบัติงาน GDC จะตั้งค่าโหนดควบคุมเพื่อจัดการการติดตั้ง Apigee
สร้างโหนดควบคุม
วิธีสร้างโหนดควบคุม
กำหนดค่าการเข้าถึงโหนดควบคุม
วิธีกำหนดค่าการเข้าถึงโหนดควบคุม
กำหนดค่า Ansible
ในขั้นตอนนี้ ผู้ปฏิบัติงาน GDC จะตั้งค่าสภาพแวดล้อม ในโหนดควบคุม
วิธีกำหนดค่าสภาพแวดล้อม Ansible
ติดตั้งคอมโพเนนต์ Apigee
ในขั้นตอนนี้ ผู้ปฏิบัติงาน GDC จะติดตั้งคอมโพเนนต์ Apigee โดยใช้ Ansible
วิธีติดตั้งคอมโพเนนต์ Apigee
ติดตั้งใช้งานพ็อดและบริการ
ในขั้นตอนนี้ คุณจะนำพ็อดและบริการของโปรแกรมอัปโหลด พร็อกซีแบบย้อนกลับ ตัวจัดสรรภาระงาน และการบันทึกไปใช้งาน
วิธีติดตั้งใช้งานพ็อดและบริการ
อัปเดต IP ของผู้อัปโหลดและตัวส่งต่อ Fluent Bit
ในขั้นตอนนี้ คุณจะอัปเดต IP ของโปรแกรมอัปโหลดและตัวส่งต่อ Fluent Bit ในสคริปต์การตั้งค่าการสำรองข้อมูลและ Apigee
การอัปเดตสคริปต์การเริ่มต้นระบบต้องรีสตาร์ทโหนด Apigee วิธีรีสตาร์ทโหนด
เริ่มใช้งานองค์กร Apigee
ในขั้นตอนนี้ ผู้ให้บริการ GDC จะเริ่มต้นใช้งานองค์กร Apigee โดยการเรียกใช้สคริปต์การตั้งค่าใน node1
วิธีเริ่มต้นใช้งานองค์กร Apigee
ทดสอบการเชื่อมต่อ HTTP
ในขั้นตอนนี้ คุณจะทดสอบการเชื่อมต่อ HTTP สำหรับ Management API และพร็อกซี API
วิธีทดสอบการเชื่อมต่อ 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 จะกำหนดค่า Transport Layer Security (TLS) สำหรับพร็อกซี API, Edge UI และ Management API
กำหนดค่า TLS สำหรับพร็อกซี API
กำหนดค่า TLS สำหรับ Edge UI
วิธีกำหนดค่า TLS สำหรับ Edge UI
กำหนดค่า TLS สำหรับ Management API
วิธีกำหนดค่า TLS สำหรับ Management API
แทนที่ค่าของ 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