คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
บทนำ
หัวข้อนี้อธิบายวิธีเรียกใช้ Edge Microgateway ในคลัสเตอร์ Kubernetes เป็นบริการแบบสแตนด์อโลน
ดูข้อมูลเพิ่มเติมได้ที่ ภาพรวมของการผสานรวม Edge Microgateway กับ Kubernetes
ก่อนเริ่มต้น
ทำตามขั้นตอนที่อธิบายไว้ใน ข้อกำหนดเบื้องต้น
กำหนดค่า Edge Microgateway
คำสั่งต่อไปนี้จะกำหนดค่า Edge Microgateway สำหรับองค์กร Apigee ของคุณและติดตั้งใช้งานพร็อกซี edgemicro-auth
เรียกใช้คำสั่งต่อไปนี้
edgemicro configure -o [org] -e [env] -u [username]
โดยที่
org: ชื่อองค์กร Edge (คุณต้องเป็นผู้ดูแลระบบองค์กร)env: สภาพแวดล้อมในองค์กร (เช่น การทดสอบหรือการใช้งานจริง)username: อีเมลที่เชื่อมโยงกับบัญชี Apigee
ตัวอย่าง
edgemicro configure -o docs -e test -u jdoe@example.com
ระบบจะบันทึกเอาต์พุต (ตัวอย่างที่แสดงด้านล่าง) ลงในไฟล์ต่อไปนี้
$HOME/.edgemicro/org_name-env_name-config.yaml
current nodejs version is v6.9.1 current edgemicro version is 2.5.25 password: file doesn't exist, setting up Give me a minute or two... this can take a while... App edgemicro-auth deployed. checking org for existing KVM KVM already exists in your org configuring host edgemicroservices.apigee.net for region us-west1 saving configuration information to: /Users/jdoe/.edgemicro/myorg-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQCV9eBcO9a5WzANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAls b2NhbGhvc3QwHhcNMagwODA5MDAzMDEzWhcNMTgwODEwMDAzMDEzWjAUMRIwEAYD VQQDDBlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDh nAHT7JHX/WvWHRFb8FLm53SPIDld5LyPOUfINdEyhSIEeXoOUKg4EPweJPVSC9Vm Hw4ZMtEqWJM/XsQWvLe8ylRJa5wgmzmFCqAsuzs9+rmc9KvJqjpOh2uRTUf7KKfT iXL2UEseprcI5g8zNyqKyEf/ecWIwz3AkkPAZebVTsrdDfIDHvkyhhvlAHZAB9kn GtqP3N8kOlv4KQto9Gr7GYUGUIDugt7gM1F611+RBS+fYRi32GUAq/UQDkhYL8cp oIJiF7UYkk2+9t9CdOCDuIUCvJioHJQd0xvDpkC9f6LvwjwnCwku+4F2Q63+av5I mJoZJQPvW5aP53Qkk+kHAgMBAAEwDKYJKoZIhvcNAQELBQADggEBALyUBolXUFN8 1bf268nR+gS8MOFDTxO1bUz+bKuT/g3K1PuNUJTueT+0L1H2OiZUzazAqwn2sqzN lQuvLg6LjxjlNkqTJGiJvGDcYVq45dv7UyxAZxhqxTxhlQ+Yu5R9pbQnzujezHpH 6gtCoCkSt/QqiJ3YsmsVu5is+HpIJepMt0CyMh5tK9j87hl46QhHklaVfQ3ycMVm /wNPR/pjizg1FDUeq4nj/7DBVbMf9net/BDaZLeSW1HJ1vcsCXIcSZfQd4QymGFn 8ADrND7ydVjwO/s23soPDTy0g4yLIZvky2tpT8d7YahNqSv2n7sXsLxruzcyCoQ4 w+e3Z3F7IKI= -----END CERTIFICATE----- The following credentials are required to start edge micro key: 1a3b2754c7f20614817b86e09895825ecc252d34df6c4be21ae24356f09e6eb4 secret: 16ad2431de73f07f57a6d44048f08d93b63f783bf1f2ac4221182aa7289c7cef edgemicro configuration complete!
ติดตั้งใช้งาน Edge Microgateway เป็นบริการ
เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งใช้งาน Edge Microgateway เป็นบริการในคลัสเตอร์ Kubernetes
kubectl apply -f <(edgemicroctl -org=org -env=env -key=edgemicro-key -sec=edgemicro-secret -conf=file path of org-env-config.yaml)
โดยที่
org- องค์กร Apigee ที่คุณระบุในคำสั่งedgemicro configureenv- สภาพแวดล้อมที่คุณระบุในคำสั่งedgemicro configureedgemicro-key- คีย์ที่แสดงจากคำสั่งedgemicro configureedgemicro-secret- Secret ที่แสดงจากคำสั่งedgemicro configurefile path of org-env-config.yaml- เส้นทางไปยังไฟล์การกำหนดค่า Edge Micro ที่แสดงจากคำสั่งedgemicro configure
เช่น
kubectl apply -f <(edgemicroctl -org=jdoe -env=test -key=989cce9d41cac94e72626d906562a1d76a19445f8901b3508858bb064988eccb -sec=ec92b793178de7b7e88e346f55a951e3fdae05e700e3ddea7d63977826379784 -conf=/Users/jdoe/.edgemicro/jdoe-test-config.yaml)
ตัวอย่างเอาต์พุต
config/myorg-test-config.yaml) service "edge-microgateway" created deployment "edge-microgateway" created secret "mgwsecret" createdคัดลอกและวางโค้ดต่อไปนี้ลงในเทอร์มินัล โค้ดจะตั้งค่าตัวควบคุม Ingress เพื่ออนุญาตการเข้าถึงภายนอกไปยังบริการ
edge-microgatewayคุณอาจต้องกด Enter หลังจากวางคำสั่งลงในเทอร์มินัลcat <<EOF | kubectl apply -f - apiVersion: extensions/v1beta1 kind: Ingress metadata: name: edge-microgateway-ingress annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - http: paths: - path: / backend: serviceName: edge-microgateway servicePort: 8000 EOFเมื่อสำเร็จ คุณจะเห็นเอาต์พุตนี้
ingress "edge-microgateway-ingress" createdตอนนี้ตัวควบคุม Ingress ได้รับการกำหนดค่าให้อนุญาตการเข้าถึงภายนอกไปยังบริการ
edge-microgatewayแล้ว
ติดตั้งใช้งานบริการทดสอบ
ขั้นตอนต่อไปนี้จะติดตั้งใช้งานบริการทดสอบอย่างง่ายในคลัสเตอร์ ตัวควบคุม Ingress ไม่อนุญาตให้เรียกใช้บริการจากภายนอกคลัสเตอร์
จากนั้นคุณจะกำหนดค่า Edge Microgateway เพื่อเรียกใช้บริการเป็นเป้าหมาย
ตัวควบคุม Ingress อนุญาตการเข้าถึงภายนอกไปยังบริการ edge-microgateway
ติดตั้งใช้งานบริการ
helloworldตัวอย่าง เนื่องจาก Ingress ไม่รู้จักบริการนี้ จึงไม่สามารถเรียกใช้บริการจากภายนอกคลัสเตอร์ได้kubectl apply -f samples/helloworld/helloworld-service.yaml
ตัวอย่างเอาต์พุต
service "helloworld" created deployment "helloworld" createdยืนยันว่าการติดตั้งใช้งานสำเร็จ โปรดทราบว่าไม่มี IP ภายนอกสำหรับบริการ
helloworldในขั้นตอนต่อไปนี้ คุณจะกำหนดค่า Edge Microgateway เพื่อเข้าถึง IP ภายในของบริการkubectl get services -n default
ตัวอย่างเอาต์พุต
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE edge-microgateway NodePort 10.35.247.222 <none> 8000:32000/TCP 12m helloworld NodePort 10.35.245.103 <none> 8081:30294/TCP 47s kubernetes ClusterIP 10.35.240.1 <none> 443/TCP 47m
กำหนดค่า Edge Microgateway ให้ทำหน้าที่เป็นพร็อกซีสำหรับบริการ
รับ IP ภายใน สำหรับบริการ helloworld แล้วเพิ่มเป็นเป้าหมายของพร็อกซี "ที่รองรับ Microgateway" การสร้างพร็อกซี "ที่รองรับ Microgateway" เป็นข้อกำหนดมาตรฐานของ Edge Microgateway
ดูเพิ่มเติมได้ที่สิ่งที่คุณจำเป็นต้องทราบเกี่ยวกับพร็อกซีที่รองรับ Microgateway
รับ IP ภายในสำหรับบริการทดสอบ
รับ IP และพอร์ตภายในของคลัสเตอร์สำหรับบริการ
helloworldkubectl get services helloworld
ตัวอย่างเอาต์พุต
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE helloworld NodePort 10.55.254.255 <none> 8081:30329/TCP 3mคัดลอกค่าของ
CLUSTER-IPและPORTเช่น ในตัวอย่างด้านบน ค่าเหล่านี้คือ10.55.254.255และ8081ค่าสำหรับระบบของคุณจะแตกต่างกัน
สร้างพร็อกซีที่รองรับ Microgateway ใน Edge
- เข้าสู่ระบบ UI ของ Edge
- เลือกองค์กรเดียวกับที่คุณระบุไว้ก่อนหน้านี้เมื่อกำหนดค่า Edge Microgateway
- เลือกพัฒนา > พร็อกซี API ในเมนูการนำทางด้านข้าง
- คลิก + พร็อกซี วิซาร์ดสร้างพร็อกซีจะเปิดขึ้น
- ในหน้าแรกของวิซาร์ด ให้เลือกพร็อกซีแบบย้อนกลับ (พบมากที่สุด)
- คลิกถัดไป
ในหน้า "รายละเอียด" ของวิซาร์ด ให้กำหนดค่าดังนี้ ตรวจสอบว่าได้กรอกข้อมูลในวิซาร์ดตรงตามที่แสดง ตรวจสอบว่าชื่อพร็อกซีมีคำนำหน้า
edgemicro_- ชื่อพร็อกซี: edgemicro_hello
เส้นทางฐานของพร็อกซี: /hello
API ที่มีอยู่:
http://<cluster_ip>:<port>เช่น http://10.55.254.255:8081
คลิกถัดไป
ในหน้า "ความปลอดภัย" ของวิซาร์ด ให้เลือกส่งผ่าน (ไม่มี)
คลิกถัดไป
ในหน้า "โฮสต์เสมือน" ของวิซาร์ด ให้ยอมรับค่าเริ่มต้น
คลิกถัดไป
ในหน้า "สร้าง" ของวิซาร์ด ให้ตรวจสอบการตั้งค่าพร็อกซี ตรวจสอบว่าได้เลือกสภาพแวดล้อมการทดสอบ แล้ว
คลิกสร้างและติดตั้งใช้งาน
สร้างนักพัฒนาซอฟต์แวร์
คุณสามารถใช้นักพัฒนาซอฟต์แวร์ที่มีอยู่สำหรับการทดสอบ หรือสร้างนักพัฒนาซอฟต์แวร์ใหม่ได้โดยทำดังนี้
- เลือกเผยแพร่ > นักพัฒนาซอฟต์แวร์ ในเมนูการนำทางด้านข้าง
- คลิก + นักพัฒนาซอฟต์แวร์
- กรอกข้อมูลในกล่องโต้ตอบเพื่อสร้างนักพัฒนาซอฟต์แวร์ใหม่ คุณสามารถใช้ชื่อ/อีเมลของนักพัฒนาซอฟต์แวร์ใดก็ได้ตามต้องการ
สร้างผลิตภัณฑ์ API
สร้างผลิตภัณฑ์ API ตามที่อธิบายไว้ด้านล่าง คุณจะเพิ่มพร็อกซี 2 รายการลงในผลิตภัณฑ์ ได้แก่ edgemicro-auth และ edgemicro_hello
อ่านเพิ่มเติมเกี่ยวกับ ตัวเลือกการกำหนดค่าผลิตภัณฑ์ได้ใน สิ่งที่คุณต้องทราบเกี่ยวกับผลิตภัณฑ์ API การกำหนดค่า
- เลือกเผยแพร่ > ผลิตภัณฑ์ API ในเมนูการนำทางด้านข้าง
- คลิก + ผลิตภัณฑ์ API. หน้า "รายละเอียดผลิตภัณฑ์" จะปรากฏขึ้น
กรอกข้อมูลในหน้า "รายละเอียดผลิตภัณฑ์" ดังนี้ อย่าคลิก "บันทึก" จนกว่าจะได้รับคำแนะนำ
ชื่อ hello-world-productชื่อที่แสดง Edge Micro hello productสภาพแวดล้อม testสิทธิ์เข้าถึง Publicประเภทการอนุมัติคีย์ Automaticคลิก + ทรัพยากรที่กำหนดเอง ที่ครึ่งล่างของหน้า
ตั้งค่าทรัพยากรเป็น
/(สแลชเดี่ยว)เลือก + ทรัพยากรที่กำหนดเอง อีกครั้ง แล้วเพิ่มเส้นทาง
/**คลิก + พร็อกซี API ที่ส่วนล่างของหน้า
เลือกพร็อกซีชื่อ edgemicro-auth
คลิก + พร็อกซี API อีกครั้ง
เลือกพร็อกซีที่รองรับ Microgateway ชื่อ edgemicro_hello
คลิกบันทึก
สร้างแอปนักพัฒนาซอฟต์แวร์
- เลือกเผยแพร่ > แอป ในเมนูการนำทางด้านข้าง
- คลิก + แอป หน้า "รายละเอียดแอปนักพัฒนาซอฟต์แวร์" จะปรากฏขึ้น
กรอกข้อมูลในหน้า "แอปนักพัฒนาซอฟต์แวร์" ดังนี้ อย่าคลิก "บันทึก" จนกว่าจะได้รับคำแนะนำ
ชื่อ hello-world-appชื่อที่แสดง Edge Micro hello appนักพัฒนาซอฟต์แวร์ เลือกนักพัฒนาซอฟต์แวร์ทดสอบที่คุณสร้างขึ้น หรือนักพัฒนาซอฟต์แวร์รายใดก็ได้ ในส่วน "ข้อมูลเข้าสู่ระบบ" ให้คลิก + ผลิตภัณฑ์ แล้วเลือกผลิตภัณฑ์ที่คุณ สร้างขึ้น
hello-world-product.คลิกบันทึก
คุณจะกลับไปที่หน้าที่แสดงแอปนักพัฒนาซอฟต์แวร์ทั้งหมด
เลือกแอปที่คุณเพิ่งสร้างขึ้น
hello-world-appคลิกแสดง ข้างคีย์ผู้ใช้
คัดลอกค่าคีย์ผู้ใช้ ค่านี้คือคีย์ API ที่คุณจะใช้เพื่อทำการเรียก API ไปยัง
/helloอย่างปลอดภัยโปรดรอสักครู่ ระบบจะใช้เวลาสักครู่ในการซิงค์การเปลี่ยนแปลงที่คุณทำใน Apigee Edge กับอินสแตนซ์ของ Edge Microgateway ที่ติดตั้งใช้งานในคลัสเตอร์
ทดสอบพร็อกซี
รับที่อยู่ IP ของ Ingress
เมื่อมี IP ภายนอกสำหรับ Ingress คุณจะเรียกใช้บริการ Edge Microgateway จากภายนอกคลัสเตอร์ได้
รับที่อยู่ IP ภายนอก ของตัวควบคุม Ingress
kubectl get ing -o wide
ตัวอย่างเอาต์พุต
NAME HOSTS ADDRESS PORTS AGE edge-microgateway-ingress * 35.238.249.62 80 37mคัดลอกค่า
ADDRESSสำหรับ Ingress แล้วส่งออกไปยังตัวแปร คุณสามารถตั้งค่าตัวแปรด้วยตนเองได้ดังนี้export GATEWAY_IP=external_ip
เช่น
export GATEWAY_IP=35.238.249.62
หรือใช้คำสั่งนี้เพื่อตั้งค่าให้คุณ
export GATEWAY_IP=$(kubectl describe ing edge-microgateway --namespace default | grep "Address" | cut -d ':' -f2 | tr -d "[:space:]")
ยืนยันว่าได้ส่งออกตัวแปรแล้ว เช่น
echo $GATEWAY_IP
ตัวอย่างเอาต์พุต
35.238.249.62
โทรหา API
หลังจากดึงข้อมูลการเปลี่ยนแปลงการกำหนดค่าไปยัง Microgateway แล้ว คุณจะลองเรียกใช้ API ได้ คุณใช้ IP ของตัวควบคุม Ingress (ซึ่งคุณบันทึกไว้ในตัวแปร GATEWAY_IP) เพื่อเรียกใช้ API เนื่องจาก IP นี้ช่วยให้คุณเรียกใช้พร็อกซีจากภายนอกคลัสเตอร์ Kubernetes ได้ ระบบจะสร้างการแมปจาก Ingress ไปยัง Edge Microgateway เมื่อคุณติดตั้งใช้งาน Edge Microgatewayไปยังคลัสเตอร์
เรียกใช้ API โดยไม่มีคีย์ API คุณจะได้รับข้อความแสดงข้อผิดพลาดดังที่แสดงด้านล่าง
curl $GATEWAY_IP:80/hello/
ผลลัพธ์ที่คาดหวัง
{"error":"missing_authorization","error_description":"Missing Authorization header"}หากเห็นข้อความนี้ คุณอาจต้องรออีกสักครู่จนกว่าการซิงค์จะเสร็จสมบูรณ์
{"message":"no match found for /hello/","status":404}คุณต้องมีคีย์ API จึงจะเรียก API ได้สำเร็จ
รับคีย์ผู้ใช้จากแอปนักพัฒนาซอฟต์แวร์ที่คุณสร้างขึ้น ค่านี้คือคีย์ API ที่คุณต้องใช้เพื่อเรียกใช้พร็อกซีทดสอบ
curl -H 'x-api-key:your-edge-api-key' $GATEWAY_IP:80/hello/
เช่น
curl -H "x-api-key:DeX2eEesYAdRJ5Gdbo77nT9uUfJZql19" $GATEWAY_IP:80/hello/
เอาต์พุต
Hello worldหากเห็นการตอบกลับ "Hello world" แสดงว่าคุณกำหนดค่า Edge Microgateway ให้เรียกใช้บริการ helloworld ภายในคลัสเตอร์ Kubernetes ได้สำเร็จ
ขั้นตอนต่อไปคืออะไร
ดูข้อมูลเกี่ยวกับการเพิ่มปลั๊กอินที่กำหนดเอง การปรับขนาดการติดตั้งใช้งาน การเปลี่ยนแปลงการกำหนดค่า และงานอื่นๆ ที่คุณอาจต้องการทำได้ในส่วนงาน