Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Giới thiệu
Chủ đề này giải thích cách chạy Edge Microgateway trong cụm Kubernetes dưới dạng một dịch vụ độc lập.
Để biết thêm thông tin, hãy xem bài viết Tích hợp Edge Microgateway với phần tổng quan về Kubernetes.
Trước khi bắt đầu
Hoàn thành các bước được mô tả trong Điều kiện tiên quyết.
Định cấu hình Edge Microgateway
Lệnh sau đây định cấu hình Edge Microgateway cho tổ chức Apigee của bạn
và triển khai proxy edgemicro-auth
.
Thực thi lệnh sau:
edgemicro configure -o [org] -e [env] -u [username]
Trong trường hợp:
org
: Tên tổ chức của bạn trên Edge (bạn phải là quản trị viên tổ chức).env
: Môi trường trong tổ chức của bạn (chẳng hạn như thử nghiệm hoặc sản phẩm).username
: Địa chỉ email liên kết với tài khoản Apigee của bạn.
Ví dụ
edgemicro configure -o docs -e test -u jdoe@example.com
Dữ liệu đầu ra (ví dụ bên dưới) được lưu vào tệp:
.$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!
Triển khai Edge Microgateway như một dịch vụ
Thực thi lệnh sau để triển khai Edge Microgateway dưới dạng dịch vụ trong Cụm Kubernetes:
kubectl apply -f <(edgemicroctl -org=org -env=env -key=edgemicro-key -sec=edgemicro-secret -conf=file path of org-env-config.yaml)
trong đó:
org
– Tổ chức Apigee mà bạn đã chỉ định trong lệnhedgemicro configure
.env
– Môi trường mà bạn đã chỉ định trong lệnhedgemicro configure
.edgemicro-key
– Khoá được trả về qua lệnhedgemicro configure
.edgemicro-secret
– Khoá bí mật được trả về từ lệnhedgemicro configure
.file path of org-env-config.yaml
– Đường dẫn đến tệp cấu hình Edge Micro được trả về từ lệnhedgemicro configure
.
Ví dụ:
kubectl apply -f <(edgemicroctl -org=jdoe -env=test -key=989cce9d41cac94e72626d906562a1d76a19445f8901b3508858bb064988eccb -sec=ec92b793178de7b7e88e346f55a951e3fdae05e700e3ddea7d63977826379784 -conf=/Users/jdoe/.edgemicro/jdoe-test-config.yaml)
Kết quả điểm dữ liệu:
config/myorg-test-config.yaml) service "edge-microgateway" created deployment "edge-microgateway" created secret "mgwsecret" created
Sao chép và dán mã sau vào thiết bị đầu cuối. Mã này thiết lập bộ điều khiển lưu lượng vào để cho phép quyền truy cập bên ngoài vào dịch vụ
edge-microgateway
. Bạn có thể phải nhấn Enter sau khi dán lệnh vào thiết bị đầu cuối: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
Khi thành công, bạn sẽ thấy kết quả sau:
ingress "edge-microgateway-ingress" created
Bộ điều khiển đầu vào hiện được định cấu hình để cho phép truy cập từ bên ngoài vào Dịch vụ
edge-microgateway
.
Triển khai dịch vụ kiểm thử
Các bước sau đây sẽ triển khai một dịch vụ kiểm thử đơn giản cho cụm của bạn. Chiến lược phát hành đĩa đơn
Bộ điều khiển đầu vào không cho phép gọi dịch vụ từ bên ngoài cụm.
Sau đó, bạn sẽ định cấu hình Edge Microgateway để gọi dịch vụ này làm mục tiêu.
Bộ điều khiển Ingress cho phép bên ngoài truy cập vào dịch vụ edge-microgateway
.
Triển khai dịch vụ
helloworld
mẫu. Vì Lưu lượng truy cập không biết về dịch vụ này nên không thể gọi dịch vụ từ bên ngoài cụm.kubectl apply -f samples/helloworld/helloworld-service.yaml
Kết quả điểm dữ liệu:
service "helloworld" created deployment "helloworld" created
Xác minh rằng quá trình triển khai đã thành công. Lưu ý rằng không có IP ngoài cho dịch vụ
helloworld
. Trong các bước sau, bạn sẽ định cấu hình Edge Microgateway để truy cập IP nội bộ của dịch vụ.kubectl get services -n default
Kết quả điểm dữ liệu:
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
Định cấu hình Edge Microgateway để proxy cho dịch vụ
Lấy IP nội bộ của dịch vụ helloworld
rồi thêm dịch vụ đó làm mục tiêu
của giải pháp "nhận biết cổng vi mô" proxy. Tạo cơ chế "nhận biết cổng vi mô" proxy là một
yêu cầu tiêu chuẩn đối với Edge Microgateway.
Xem thêm bài viết Những điều bạn cần biết về tính năng nhận biết Microgateway proxy.
Lấy IP nội bộ cho dịch vụ kiểm tra
Lấy IP và cổng nội bộ của cụm cho dịch vụ
helloworld
:kubectl get services helloworld
Kết quả điểm dữ liệu:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE helloworld NodePort 10.55.254.255 <none> 8081:30329/TCP 3m
Sao chép giá trị của
CLUSTER-IP
vàPORT
. Ví dụ: trong ví dụ ở trên, các giá trị này là:10.55.254.255
và8081
. Giá trị cho hệ thống sẽ khác nhau.
Tạo một proxy nhận biết cổng vi mô trên Edge
- Đăng nhập vào giao diện người dùng Edge.
- Chọn chính tổ chức mà bạn đã chỉ định trước đó khi định cấu hình Cổng nhỏ ở rìa.
- Chọn Phát triển > Proxy API trong trình đơn điều hướng bên.
- Nhấp vào + Proxy. Trình hướng dẫn Tạo proxy sẽ mở ra.
- Trong trang trình hướng dẫn đầu tiên, hãy chọn Đảo ngược proxy (phổ biến nhất).
- Nhấp vào Tiếp theo.
Trong trang Chi tiết của trình hướng dẫn, hãy định cấu hình như sau. Hãy nhớ điền vào trình hướng dẫn chính xác như được hiển thị. Đảm bảo tên proxy có tiền tố
edgemicro_
.- Tên proxy: edgemicro_hello
Đường dẫn cơ sở proxy: /hello
API hiện có:
http://<cluster_ip>:<port>
Ví dụ: http://10.55.254.255:8081
Nhấp vào Tiếp theo.
Trong trang Bảo mật của trình hướng dẫn, chọn Pass through (không có).
Nhấp vào Tiếp theo.
Trong trang Virtual Hosts (Máy chủ lưu trữ) của trình hướng dẫn, chấp nhận các giá trị mặc định.
Nhấp vào Tiếp theo.
Trong trang Tạo của trình hướng dẫn, xem lại cài đặt proxy của bạn. Hãy đảm bảo rằng môi trường kiểm thử được chọn.
Nhấp vào Build and Deploy (Tạo và triển khai).
Tạo một Nhà phát triển
Bạn có thể sử dụng một nhà phát triển hiện có để kiểm thử hoặc tạo một nhà phát triển mới như sau:
- Chọn Xuất bản > Nhà phát triển trong trình đơn điều hướng bên.
- Nhấp vào + Nhà phát triển.
- Điền vào hộp thoại để tạo nhà phát triển mới. Bạn có thể dùng bất kỳ nhà phát triển nào tên/email mà bạn muốn.
Tạo một sản phẩm API
Tạo một Sản phẩm API như mô tả dưới đây. Bạn sẽ thêm hai proxy vào Sản phẩm: edgemicro-auth và edgemicro_hello.
Bạn có thể đọc thêm về Các lựa chọn về cấu hình sản phẩm trong bài viết Những điều bạn cần biết về sản phẩm API cấu hình.
- Chọn Xuất bản > Sản phẩm API trong trình đơn điều hướng bên.
- Nhấp vào + Sản phẩm API. Trang Chi tiết sản phẩm sẽ xuất hiện.
Điền vào trang Chi tiết sản phẩm như sau. Đừng nhấp vào Lưu cho đến khi hướng dẫn làm như vậy.
Tên hello-world-product
Tên hiển thị Edge Micro hello product
Môi trường test
Quyền truy cập Public
Loại phê duyệt chính Automatic
Ở nửa dưới của trang, hãy nhấp vào + Tài nguyên tuỳ chỉnh.
Đặt tài nguyên thành
/
(một dấu gạch chéo).Chọn + Custom Resource (Tài nguyên tuỳ chỉnh) một lần nữa rồi thêm đường dẫn
/**
.Ở phần dưới của trang, hãy nhấp vào + Proxy API.
Chọn proxy có tên edgemicro-auth.
Nhấp lại vào + API Proxy.
Chọn proxy nhận biết microgateway có tên là edgemicro_hello.
Nhấp vào Lưu.
Tạo ứng dụng dành cho nhà phát triển
- Chọn Xuất bản > Ứng dụng trong trình đơn điều hướng bên.
- Nhấp vào + Ứng dụng. Trang Thông tin chi tiết về ứng dụng dành cho nhà phát triển sẽ xuất hiện.
Điền vào trang Ứng dụng dành cho nhà phát triển như sau. Không Lưu cho đến khi được hướng dẫn làm như vậy.
Tên hello-world-app
Tên hiển thị Edge Micro hello app
Nhà phát triển Hãy chọn nhà phát triển thử nghiệm mà bạn đã tạo hoặc bất kỳ nhà phát triển nào cũng được. Trong phần Thông tin xác thực, hãy nhấp vào + Sản phẩm rồi chọn sản phẩm bạn ngày tạo:
hello-world-product.
Nhấp vào Lưu.
Bạn sẽ quay lại trang liệt kê tất cả Ứng dụng của nhà phát triển.
Chọn ứng dụng bạn vừa tạo,
hello-world-app
.Nhấp vào Hiển thị bên cạnh Khoá người tiêu dùng.
Sao chép giá trị của Khoá người dùng. Giá trị này là Khoá API mà bạn sẽ dùng để thực hiện lệnh gọi API bảo mật
/hello
.Đợi ít phút. Những thay đổi bạn đã thực hiện trên Apigee mất vài phút Edge để đồng bộ hoá với phiên bản của Edge Microgateway được triển khai trong cụm.
Kiểm tra proxy
Lấy địa chỉ IP của Ingress
Với IP ngoài cho lưu lượng vào, bạn có thể gọi dịch vụ Edge Microgateway từ bên ngoài cụm.
Lấy địa chỉ IP bên ngoài của Bộ điều khiển lưu lượng vào:
kubectl get ing -o wide
Kết quả điểm dữ liệu:
NAME HOSTS ADDRESS PORTS AGE edge-microgateway-ingress * 35.238.249.62 80 37m
Sao chép giá trị
ADDRESS
cho Lưu lượng vào và xuất giá trị đó sang một biến. Bạn có thể đặt biến theo cách thủ công:export GATEWAY_IP=external_ip
Ví dụ:
export GATEWAY_IP=35.238.249.62
Hoặc sử dụng lệnh sau để thiết lập cho bạn:
export GATEWAY_IP=$(kubectl describe ing edge-microgateway --namespace default | grep "Address" | cut -d ':' -f2 | tr -d "[:space:]")
Xác minh rằng biến đã được xuất. Ví dụ:
echo $GATEWAY_IP
Kết quả điểm dữ liệu:
35.238.249.62
Gọi API
Sau khi các thay đổi về cấu hình được đưa vào cổng vi mô, bạn có thể
hãy thử gọi API. Bạn sử dụng IP của bộ điều khiển lưu lượng vào (mà bạn đã lưu trong biến GATEWAY_IP
để gọi API vì IP này cho phép bạn gọi proxy từ bên ngoài cụm Kubernetes. Chiến lược phát hành đĩa đơn
việc lập bản đồ từ Ingress đến Edge Microgateway khi bạn triển khai Edge Microgateway
đối với cụm.
Gọi API mà không cần khoá API. Bạn sẽ nhận được một thông báo lỗi, như minh hoạ bên dưới:
curl $GATEWAY_IP:80/hello/
Kết quả đầu ra dự kiến:
{"error":"missing_authorization","error_description":"Missing Authorization header"}
Nếu thấy thông báo này, bạn có thể phải đợi thêm một chút cho đến khi đồng bộ hoá đã hoàn tất:
{"message":"no match found for /hello/","status":404}
Để thực hiện lệnh gọi API thành công, bạn cần có khoá API.
Lấy khoá Người tiêu dùng trong ứng dụng dành cho Nhà phát triển mà bạn đã tạo. Giá trị này là Khoá API bạn cần để gọi proxy kiểm thử:
curl -H 'x-api-key:your-edge-api-key' $GATEWAY_IP:80/hello/
Ví dụ:
curl -H "x-api-key:DeX2eEesYAdRJ5Gdbo77nT9uUfJZql19" $GATEWAY_IP:80/hello/
Kết quả:
Hello world
Nếu bạn thấy thông báo "Hello world" (Xin chào mọi người) thì tức là bạn đã định cấu hình thành công Edge Microgateway để gọi dịch vụ helloworld bên trong Kubernetes cụm.
Tiếp theo là gì?
Xem phần Nhiệm vụ để biết thông tin về việc thêm các trình bổ trợ tuỳ chỉnh, mở rộng quy mô triển khai, thay đổi cấu hình và các công việc khác mà bạn có thể muốn thực hiện.