Hướng dẫn thiết lập thủ công

Quy trình cấp phép tự động có thể được sử dụng để triển khai máy chủ gắn thẻ cho Cloud Run chỉ bằng vài cú nhấp chuột. Nếu muốn cấp phép máy chủ gắn thẻ trong các môi trường khác, bạn có thể thực hiện việc này theo cách thủ công. Máy chủ gắn thẻ là một máy chủ Node.js bên trong hình ảnh Docker.

Việc cấp phép thủ công cho máy chủ gắn thẻ yêu cầu bạn phải cấp phép riêng cụm gắn thẻ phía máy chủ (SST) và máy chủ xem trước. Cụm SST là điểm truy cập cho tất cả yêu cầu đến máy chủ gắn thẻ và sẽ xử lý các yêu cầu như mô tả trong phần Giới thiệu về tính năng gắn thẻ phía máy chủ. Bạn cần có máy chủ xem trước để xem trước vùng chứa.

Xem hình 1 để minh hoạ hoạt động tương tác dữ liệu giữa máy chủ gắn thẻ và máy chủ xem trước.

Sơ đồ về máy chủ gắn thẻ và luồng dữ liệu máy chủ xem trước

Hình 1: Sơ đồ về luồng dữ liệu của máy chủ gắn thẻ và máy chủ xem trước.

Hướng dẫn này giải thích cách:

  • Xem tất cả chế độ cài đặt có sẵn cho hình ảnh Docker.
  • (Không bắt buộc) Thêm thông tin xác thực BigQuery
  • Cấp phép máy chủ xem trước theo cách thủ công bằng hình ảnh SST Docker.
  • Cung cấp cụm SST theo cách thủ công bằng hình ảnh SST Docker.
  • Xác minh rằng máy chủ xem trước và cụm SST được định cấu hình chính xác.
  • Hãy cập nhật phiên bản máy chủ gắn thẻ sau khi cấp phép máy chủ.

Để chạy các lệnh Docker trong hướng dẫn này, trước tiên, bạn phải cài đặt Docker trên máy tính.

Xem tất cả chế độ cài đặt có sẵn cho hình ảnh Docker

Bạn có thể tìm thấy hình ảnh Docker của máy chủ gắn thẻ tại URL này:

gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

Máy chủ gắn thẻ và máy chủ xem trước sử dụng cùng một hình ảnh Docker với các cờ khác nhau. Trong phần này, chúng ta sẽ tìm hiểu cách tra cứu tất cả chế độ cài đặt có sẵn mà bạn có thể sử dụng với hình ảnh Docker.

Để xem tất cả chế độ cài đặt hiện có, hãy chạy lệnh sau bằng công cụ dòng lệnh docker:

docker run gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable server_bin.js --help

(Không bắt buộc) Thêm thông tin xác thực Google Cloud

Để sử dụng API BigQuery hoặc Firestore bên ngoài Google Cloud, bạn phải cung cấp thông tin đăng nhập tài khoản dịch vụ được phép truy cập vào các tài nguyên đó.

  1. Làm theo hướng dẫn này để tạo một tài khoản dịch vụ có vai trò Người chỉnh sửa dữ liệu BigQuery để truy cập BigQuery hoặc vai trò Người dùng Cloud Datastore để truy cập Firestore và xuất thông tin xác thực JSON của tài khoản đó bằng tên tệp local_service_account_key.json.
  2. Gắn thông tin xác thực JSON trong một phương tiện mà hình ảnh có thể truy cập. Khi sử dụng docker run, bạn có thể chỉ định -v local_service_account_key.json:/app/service_account_key.json để gắn thông tin xác thực trong hình ảnh.
  3. Trỏ biến môi trường GOOGLE_APPLICATION_CREDENTIALS đến thông tin xác thực.
  4. Bạn có thể chỉ định mã dự án Google Cloud trong biến môi trường GOOGLE_CLOUD_PROJECT để cho phép máy chủ gắn thẻ chọn ngầm dự án.
  5. Chạy máy chủ. Lệnh sau đây sẽ chạy máy chủ gắn thẻ cùng với thông tin xác thực:

    docker run -v local_service_account_key.json:/app/service_account_key.json \
    -p 8080:8080 \
    -e GOOGLE_APPLICATION_CREDENTIALS='/app/service_account_key.json' \
    -e GOOGLE_CLOUD_PROJECT='<your project id>' \
    -e CONTAINER_CONFIG='<config string>' \
    gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
    

Tuỳ thuộc vào hệ thống mà máy chủ gắn thẻ được triển khai, có thể có nhiều cách để gắn thông tin xác thực. Ví dụ: KubernetesDocker Swarm cung cấp các hướng dẫn về cách quản lý khoá bí mật. Hãy tham khảo hướng dẫn của hệ thống tương ứng để biết thêm thông tin.

Hãy nhớ làm theo các phương pháp hay nhất để bảo vệ thông tin xác thực của bạn.

Cấp phép máy chủ xem trước theo cách thủ công

Máy chủ xem trước cho phép bạn xem trước vùng chứa máy chủ. Để chạy máy chủ xem trước, hãy chạy hình ảnh Docker với các biến môi trường sau được truyền vào môi trường Docker.

Chế độ cài đặt bắt buộc

  • CONTAINER_CONFIG – Chuỗi cấu hình cho vùng chứa máy chủ. Trong Trình quản lý thẻ, hãy chuyển đến không gian làm việc vùng chứa máy chủ và nhấp vào mã vùng chứa ở trên cùng bên phải của trang. Nhấp vào Máy chủ gắn thẻ cấp phép theo cách thủ công để tìm giá trị Cấu hình vùng chứa.

  • RUN_AS_PREVIEW_SERVER – Đặt giá trị này thành true để cấp phép máy chủ làm máy chủ xem trước.

Ví dụ về cách sử dụng công cụ dòng lệnh Docker

Để cấp phép máy chủ xem trước cục bộ, hãy chạy lệnh sau:

docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e RUN_AS_PREVIEW_SERVER=true gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

Bạn sẽ thấy phản hồi 200 từ một yêu cầu đến http://localhost:8080/healthz. Bạn có thể dùng biến môi trường PORT để thay đổi cổng (không bắt buộc).

Các phương pháp hay nhất

  • Bạn phải triển khai đúng 1 máy chủ xem trước. Không định cấu hình phương thức tự động điều chỉnh tỷ lệ ngoài 1 thực thể.
  • Sau khi thiết lập máy chủ xem trước bằng Docker, hãy định cấu hình một URL HTTPS để trỏ đến máy chủ xem trước. Bạn cần thực hiện việc này để thiết lập cụm SST.
  • Trình cân bằng tải hoặc CDN của bạn phải có thời gian chờ dài hơn 20 giây, nếu không chế độ xem trước sẽ không hoạt động đúng cách.

Cung cấp thủ công cụm gắn thẻ phía máy chủ

Cụm SST đóng vai trò là điểm truy cập, gửi các yêu cầu xem trước qua proxy đến máy chủ xem trước và xử lý tất cả các yêu cầu khác như mô tả trong Giới thiệu về tính năng gắn thẻ phía máy chủ. Sử dụng các chế độ cài đặt bắt buộc sau đây với hình ảnh Docker của máy chủ gắn thẻ để cấp một cụm SST trong bất kỳ môi trường nào hỗ trợ Docker.

Chế độ cài đặt bắt buộc

  • CONTAINER_CONFIG – Chuỗi cấu hình cho vùng chứa phía máy chủ. Trong Trình quản lý thẻ, hãy chuyển đến không gian làm việc vùng chứa máy chủ và nhấp vào mã vùng chứa ở trên cùng bên phải của trang. Nhấp vào Cung cấp máy chủ gắn thẻ theo cách thủ công để tìm giá trị Cấu hình vùng chứa.

  • PREVIEW_SERVER_URL – URL HTTPS cho máy chủ xem trước. Bạn chỉ nên đặt chế độ cài đặt này để cấp phép máy chủ gắn thẻ và không cần thiết để cấp phép máy chủ xem trước. Hãy xem phần ở trên để biết hướng dẫn về cách thiết lập máy chủ xem trước.

Ví dụ về cách sử dụng công cụ dòng lệnh Docker

Để cấp phép một máy chủ gắn thẻ cục bộ, hãy chạy mã sau:

docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e PREVIEW_SERVER_URL='<HTTPS preview server url>' gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

Bạn sẽ thấy phản hồi 200 từ một yêu cầu đến http://localhost:8080/healthz. Bạn có thể dùng biến môi trường PORT để thay đổi cổng (không bắt buộc).

Các phương pháp hay nhất

  • Bạn có thể cấp phép máy chủ gắn thẻ phía máy chủ dưới dạng một máy chủ hoặc một cụm. Bạn nên phân bổ tài nguyên này dưới dạng cụm để có khả năng sử dụng, khả năng mở rộng và hiệu suất tốt hơn. Xin lưu ý rằng khi phân bổ dưới dạng cụm, mỗi thực thể máy chủ phải được định cấu hình bằng cùng một biến môi trường CONTAINER_CONFIGPREVIEW_SERVER_URL.
  • Hãy nhớ lưu trữ máy chủ gắn thẻ trong cùng một nguồn gốc (phương pháp hay nhất) hoặc dưới dạng miền con của trang web hiện tại. Ví dụ: nếu ứng dụng của bạn phân phát lưu lượng truy cập web tại vidu.com, hãy sử dụng đường dẫn như vidu.com/analytics cho máy chủ gắn thẻ. Tìm hiểu thêm về cấu hình miền tuỳ chỉnh.
  • Sau khi thiết lập cụm SST bằng Docker, hãy định cấu hình URL HTTPS để trỏ đến cụm SST.
  • Hãy nhớ khởi động lại máy chủ định kỳ để đảm bảo máy chủ của bạn có bản cập nhật mã mới nhất cho SST. Nếu không, các tính năng SST mới có thể không tương thích với chức năng. Một cách để biết thời điểm máy chủ cần khởi động lại là thiết lập tính năng kiểm tra hình ảnh trực tiếp. Thông tin này được giải thích kỹ hơn ở phần dưới đây. Ngoài ra, xin lưu ý rằng mọi bản cập nhật đã phát hành cho vùng chứa máy chủ của bạn sẽ vẫn được áp dụng mà không cần khởi động lại.
  • Sử dụng điểm cuối /healthz hiện có (ví dụ: https://analytics.example.com/healthz) trên máy chủ gắn thẻ để thiết lập tính năng kiểm tra trạng thái hoạt động. Phản hồi không lành mạnh cho biết bạn nên khởi động lại máy chủ.
  • Vùng chứa Docker bao gồm một lệnh kiểm tra tình trạng mặc định – HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"] – truy vấn điểm cuối /healthz theo định kỳ. Nếu phụ thuộc vào tính năng kiểm tra tình trạng của Docker, bạn có thể thay đổi chế độ cài đặt bằng cách làm theo hướng dẫn của Docker.
  • Nếu máy chủ xem trước và máy chủ gắn thẻ nằm trên cùng một nguồn gốc, hãy lưu trữ máy chủ xem trước trên một đường dẫn khác với máy chủ gắn thẻ. Chỉ định PREVIEW_SERVER_URL bao gồm cả đường dẫn.
  • Máy chủ được cấp phép phải có tối đa 1 vCPU. Các vCPU bổ sung không được sử dụng và ảnh hưởng tiêu cực đến tính năng tự động điều chỉnh quy mô.

Xác thực

Định cấu hình URL vùng chứa phía máy chủ

Trong Trình quản lý thẻ, hãy chuyển đến vùng chứa phía máy chủ. Trong Quản trị > Cài đặt vùng chứa, hãy đặt URL của máy chủ gắn thẻ vào trường URL vùng chứa máy chủ rồi nhấp vào Lưu.

Xác minh thông qua chế độ xem trước

Trong không gian làm việc của Trình quản lý thẻ, hãy xem trước vùng chứa bằng cách nhấp vào Xem trước và xem trang xem trước tải. Trên một thẻ trình duyệt khác, hãy chuyển đến bất kỳ đường dẫn nào trên URL vùng chứa phía máy chủ. Nếu trang xem trước hiển thị yêu cầu đã gửi, thì mọi thứ đã được thiết lập đúng cách.

Nếu bạn đã liên kết nhiều miền con với một máy chủ gắn thẻ và muốn xem trước trên từng miền con, hãy thêm URL vùng chứa máy chủ bổ sung trong phần Quản trị > Cài đặt vùng chứa. Nếu bạn cung cấp nhiều URL, tất cả đường dẫn URL đều phải khớp (chuỗi thông tin đi sau tên miền). Ví dụ: bạn có thể xem trước trên example.com/abcexample2.com/abc nhưng không thể xem trước trên example.com/abcexample2.com/def. Nếu thêm nhiều URL, bạn sẽ thấy một biểu tượng bên cạnh nút Xem trước cho phép bạn chọn URL để xem trước.

Cập nhật phiên bản máy chủ gắn thẻ

Hình ảnh gtm-cloud-image chứa Node.js và các thư viện cần thiết để máy chủ gắn thẻ hoạt động. Hình ảnh Docker được cập nhật định kỳ để sửa lỗi bảo mật và bổ sung tính năng mới. Bạn nên cập nhật ít nhất máy chủ gắn thẻ cho từng bản phát hành phiên bản chính (ví dụ: nâng cấp từ phiên bản 1.x.x lên 2.x.x).

Cách cập nhật hình ảnh Docker:

  1. Tìm nạp phiên bản hình ảnh hiện tại tại gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable.
  2. Triển khai máy chủ của bạn bằng các chế độ cài đặt giống như lần triển khai trước.
  3. Cập nhật một máy chủ xem trước và tất cả máy chủ gắn thẻ trong cụm.
  4. Tắt mọi máy chủ cũ.

Cách xác minh rằng quá trình cập nhật đã thành công:

  1. Trong vùng chứa phía máy chủ, hãy nhấp vào nút Preview (Xem trước) để bắt đầu một phiên gỡ lỗi mới và gửi yêu cầu trên một thẻ riêng.
  2. Trong phần Tóm tắt, hãy chọn thẻ Console (Bảng điều khiển) và đảm bảo không có thông báo nào yêu cầu bạn cập nhật máy chủ gắn thẻ.

Trình quản lý thẻ có thể hiển thị thông báo yêu cầu bạn cập nhật máy chủ gắn thẻ trong tối đa một ngày sau khi máy chủ được cập nhật thành công. Tuy nhiên, trang xem trước sẽ hiển thị thông báo mới nhất về phiên bản máy chủ gắn thẻ.