Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Huỷ triển khai proxy Mục tiêu được lưu trữ
Khi bạn huỷ triển khai proxy Edge bao gồm ứng dụng được lưu trữ trên Máy chủ đích, Ứng dụng Hosted Targets chưa được triển khai, nhưng hình ảnh cơ bản của ứng dụng sẽ không bị xoá. Nếu bạn triển khai lại proxy, ứng dụng Hosted Targets (Mục tiêu được lưu trữ) sẽ được triển khai lại.
Xoá proxy Mục tiêu được lưu trữ
Sau khi bạn xoá proxy Mục tiêu được lưu trữ, các phiên bản thời gian chạy cơ bản sẽ ngừng chạy trong một khoảng thời gian nhất định. Tuy nhiên, mã xử lý ứng dụng sẽ vẫn tồn tại.
Truy cập tệp nhật ký
Tệp nhật ký rất hữu ích cho việc gỡ lỗi và khắc phục sự cố. Bạn có thể xem hai loại tệp nhật ký cho việc triển khai Mục tiêu được lưu trữ:
- Nhật ký bản dựng – Cho bạn biết kết quả liên quan đến việc triển khai và xây dựng ứng dụng Mục tiêu được lưu trữ.
- Nhật ký thời gian chạy – Cho thấy kết quả liên quan đến ứng dụng Mục tiêu được lưu trữ đang chạy. Nhật ký thời gian chạy có phạm vi theo môi trường và hiển thị thông tin nhật ký cho bản sửa đổi proxy hiện được triển khai.
Truy cập vào nhật ký qua giao diện người dùng của Edge
- Truy cập: apigee.com/edge
- Nhập thông tin đăng nhập của bạn rồi nhấp vào Đăng nhập.
- Chọn Phát triển > Proxy API trong trình đơn điều hướng bên.
- Chọn proxy mà bạn muốn xem nhật ký.
- Nhấp vào thẻ Phát triển.
- Để xem nhật ký bản dựng, hãy nhấp vào Build Logs (Nhật ký bản dựng).
- Để xem nhật ký thời gian chạy, hãy nhấp vào Nhật ký thời gian chạy.
Truy cập nhật ký bằng API
Bạn cũng có thể sử dụng Edge API để truy xuất nhật ký của Mục tiêu được lưu trữ. Để biết thông tin chi tiết, hãy xem Nhận nhật ký Node.js được lưu vào bộ nhớ đệm.
Sử dụng kho lưu trữ npm riêng tư
Phần này giải thích cách triển khai proxy Node.js cho các Mục tiêu được lưu trữ trong trường hợp bạn sử dụng kho lưu trữ GMS riêng tư trong môi trường phát triển của bạn.
Những điều bạn cần biết về cách sử dụng kho lưu trữ riêng tư
Khi bạn triển khai ứng dụng Node.js cho Edge, tất cả phần phụ thuộc của dự án sẽ được nhập tự động
trong quá trình triển khai.
Về cơ bản, Mục tiêu được lưu trữ chạy npm install
trên mã của bạn khi mã đó được triển khai.
Tuy nhiên, nếu bạn sử dụng kho lưu trữ GMS riêng tư trong môi trường phát triển, thì
các phần phụ thuộc đều không thể phân giải được trên Đám mây. Trong
trong trường hợp này, giải pháp là sử dụng tuỳ chọn --bundled-dependencies
khi bạn sử dụng
tiện ích triển khai apigeetool. Xem thêm
Triển khai Node.js từ hệ thống của bạn sang Edge.
Khi bạn sử dụng cờ --bundled-dependencies
trên apigeetool
,
Ứng dụng Node.js sẽ được tải lên Mục tiêu được lưu trữ và mọi tệp cục bộ/riêng tư được liệt kê
trong mảng bundledDependencies
trong package.json
sẽ được nén và tải lên cùng với gói.
Mặc dù không phải là một trường hợp phổ biến, nhưng xin lưu ý rằng nếu bạn phản chiếu một kho lưu trữ TLD công khai trong nội bộ, thì quá trình triển khai của bạn sẽ không thành công
nếu gói triển khai của bạn bao gồm một tệp .npmrc
hoặc package-lock.json
trỏ đến
đến màn hình phản chiếu riêng của bạn. Trong trường hợp này, hãy nhớ bỏ qua .npmrc
hoặc package-lock.json
từ gói proxy mà bạn định triển khai.
Triển khai bằng một kho lưu trữ TLD riêng tư
Để sử dụng các mô-đun được cung cấp từ một kho lưu trữ TLD riêng tư, hãy làm theo các bước sau:
- Đăng nhập vào npm:
npm login
- Nhận mã thông báo xác thực npm:
- Xác định vị trí .npmrc (phải ở trong ~/.npmrc).
- Trong tệp .npmrc, hãy ghi lại mã thông báo ở cuối dòng như sau:
//registry.npmjs.org/:_authToken=****
- Hoặc sử dụng các lệnh
npm token <list | create | revoke>
để liệt kê, tạo hoặc thu hồi mã thông báo xác thực. Xem npm-token tài liệu để biết thêm chi tiết. - Truy cập vào trang cấu hình Bản đồ giá trị khoá, như được mô tả dưới đây.
Edge
Cách truy cập vào trang cấu hình Bản đồ giá trị khoá bằng giao diện người dùng Edge:
- Đăng nhập vào apigee.com/edge.
- Chọn Quản trị > Môi trường > Bản đồ giá trị khoá trong thanh điều hướng bên trái.
Classic Edge (Đám mây riêng tư)
Cách truy cập vào trang cấu hình Bản đồ giá trị khoá bằng giao diện người dùng Classic Edge:
- Đăng nhập vào
http://ms-ip:9000
, trong đó ms-ip là Địa chỉ IP hoặc tên DNS của nút Máy chủ quản lý. - Chọn APIs > Cấu hình môi trường > Bản đồ giá trị khoá trong thanh điều hướng trên cùng.
- Nhấp vào + Bản đồ giá trị khoá.
- Trong hộp thoại Bản đồ giá trị khoá mới, hãy nhập tên rồi chọn Đã mã hoá.
- Nhấp vào Thêm.
- Thêm mã thông báo xác thực bạn đã tìm thấy trước đó hoặc đã tạo dưới dạng mục nhập mới trong mỗi KVM mà bạn vừa tạo.
- Trong tệp app.yaml, hãy thêm một mục tham chiếu đến KVM và khoá được liên kết với mã thông báo xác thực npm. Hàm này có dạng như sau:
- Thuộc tính name cấp cao nhất tương ứng với tên của môi trường biến sẽ được tạo.
- Tên trong valueRef tương ứng với KVM mà bạn đã tạo trước đó.
- Thuộc tính key tương ứng với khoá liên kết với mã thông báo npm mà bạn được thêm vào KVM.
- Tạo tệp .npmrc trong cùng thư mục với package.json của bạn. Chiến dịch này
tệp sẽ có dạng như sau:
hoặc nếu không dùng//registry.npmjs.org/:_authToken=${NPM_TOKEN}
registry.npmjs.org
, bạn có thể đặt phạm vi trong tệp .npmrc bằng cách thêm một dòng như thế này@myscope:registry=https://mycustomregistry.example.org
Ngoài ra, hãy xem thêm tài liệu npmrc. - Tải lên hoặc cập nhật proxy Node.js của bạn với tệp .npmrc và các tệp app.yaml đi kèm.
- Đảm bảo proxy mới hoặc proxy đã cập nhật của bạn triển khai và hoạt động với kho lưu trữ riêng tư mong muốn .
- Nếu proxy không triển khai, hãy kiểm tra nhật ký bản dựng để xem liệu proxy có bị lỗi khi cài đặt mô-đun npm riêng tư. Nếu có:
- Trong thẻ phát triển, hãy đảm bảo có .npmrc.
- Đảm bảo mã thông báo của bạn là hợp lệ (thử cài đặt mô-đun trên máy bằng mã thông báo hiện có tính bằng kvm).
- Nếu bạn đang sử dụng một phạm vi tuỳ chỉnh, hãy đảm bảo rằng bạn đã đặt phạm vi đó.
env:
- name: NPM_TOKEN
valueRef:
name: npm_store
key: private_token
Trong trường hợp:
Chỉ định phiên bản TLD cho các phần phụ thuộc đi kèm
Theo mặc định, được dùng để cài đặt các phần phụ thuộc gói trong môi trường Mục tiêu được lưu trữ.
Tuy nhiên, nếu muốn sử dụng một phiên bản trái với mỗi phiên bản, bạn có thể chỉ định phiên bản đó trong NPM_VERSION
biến môi trường. Bạn có thể đặt biến này trong tệp kê khai của ứng dụng. Xem bài viết Phần tử tệp kê khai để biết thông tin chi tiết.
Nếu bạn sử dụng các phần phụ thuộc đi kèm và không chỉ định NPM_VERSION
, thì Mục tiêu được lưu trữ
sử dụng Trình quản lý nội dung đa phương tiện (Gradle) phiên bản 4 theo mặc định. Nếu bạn không sử dụng các phần phụ thuộc theo gói, thì phiên bản GMS được đưa vào
trong thời gian chạy Node.js đã chỉ định.
Ví dụ về phần phụ thuộc theo gói
Để xem ví dụ minh hoạ tính năng phần phụ thuộc đi kèm với Mục tiêu được lưu trữ, hãy xem Cách tạo ứng dụng Node.js bằng Hàm được lưu trữ bằng các mô-đun tuỳ chỉnh.Thêm điểm cuối kiểm tra tình trạng
Bạn có thể triển khai điểm cuối kiểm tra tình trạng cho ứng dụng Node.js. Apigee sử dụng điểm cuối này khi Ứng dụng Node.js bắt đầu kiểm tra để đảm bảo rằng ứng dụng đó đang chạy trong vùng chứa.
Theo mặc định, điểm cuối mà Apigee dự kiến là /health
. Bạn có thể thay đổi chế độ mặc định
điểm cuối, bằng cách chỉ định điểm cuối trong một biến môi trường có tên
HOSTED_TARGET_HEALTH_CHECK_PATH
. Bạn có thể đặt biến này trong tệp kê khai của ứng dụng
. Xem bài viết Phần tử tệp kê khai để biết thông tin chi tiết.
Bạn không bắt buộc phải triển khai điểm cuối kiểm tra tình trạng. Tuy nhiên, nếu bạn thực hiện quy trình kiểm tra tình trạng điểm cuối, hãy lưu ý những điều sau:
- Nếu ứng dụng của bạn thoát khi Apigee đạt đến điểm cuối, thì ứng dụng sẽ không khởi động như mong đợi.
- Nếu điểm cuối của bạn trả về trạng thái HTTP 404 Không tìm thấy trạng thái không tìm thấy thì cũng không sao.
/health
hoặcHOSTED_TARGET_HEALTH_CHECK_PATH
chỉ dùng để kiểm tra xem ứng dụng của bạn có đang chạy hay không. Phản hồi thực tế sẽ bị bỏ qua.
Thay đổi vị trí bộ nhớ đệm Trạng thái đã phân loại
Các phiên bản mới hơn của Node.js sử dụng một phiên bản của kháng nghị các chỉ số (TLD) có sử dụng /root/.npm
cho bộ nhớ đệm của Node.
Vị trí này báo cáo sự cố đối với Mục tiêu được lưu trữ vì vị trí thư mục đó ở chế độ chỉ đọc
vì thời gian chạy Mục tiêu được lưu trữ sử dụng hệ thống tệp tmpfs, trong đó chỉ có /tmp
là có thể ghi.
Để khắc phục vấn đề này, bạn có thể đặt biến môi trường npm_config_cache
trong
của ứng dụng của bạn
app.yaml
tệp (tệp kê khai)
vào một thư mục trong /tmp
. Ví dụ:
runtime: node application: my-express-app env: - name: npm_config_cache value: /tmp/.npm - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
Chạy ứng dụng của bạn mà không cần TLD
Theo mặc định, Mục tiêu được lưu trữ sử dụng npm start
để chạy ứng dụng Mục tiêu được lưu trữ. Nhưng
trong nhiệm vụ trước, chúng ta đã thảo luận vấn đề về việc sử dụng UDF vì các phiên bản mới hơn sẽ cố gắng sử dụng
/root/.npm
cho bộ nhớ đệm của Trạng thái đồng ý (không thể ghi) và dẫn đến việc Mục tiêu được lưu trữ của bạn
không thể bắt đầu. Mặc dù nhiệm vụ trước đó sẽ hỗ trợ bài toán này, nhưng có một tuỳ chọn khác là
chạy ứng dụng của bạn mà không cần TLD. Để thực hiện việc này, bạn có thể sử dụng command
và
args
giá trị trong thông số của ứng dụng
tệp app.yaml
(tệp kê khai)
để chạy trực tiếp Mục tiêu được lưu trữ bằng node index.js
. Ví dụ:
runtime: node application: my-express-app command: node args: - index.js env: - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
node index.js
chỉ là một
ví dụ: