Application Basic Settings
Đây là một trang để quản lý các ứng dụng ở cấp độ dự án/hồ sơ trong AMDP. Mỗi ứng dụng đề cập đến các cài đặt và thông tin (Cluster, Namespace, Git, v.v.) của dự án và hồ sơ. Dựa trên các đặc điểm của ứng dụng, nó có thể được xây dựng/triển khai ngay lập tức với các cài đặt và tài nguyên mặc định, và các cài đặt chuyên gia như kết nối Dịch vụ Hỗ trợ có thể được điều chỉnh để sử dụng.
Danh sách Cài đặt Cơ bản của Ứng dụng
Cung cấp các chức năng dựa trên các giá trị mặc định chung có thể sử dụng ngay lập tức, dựa trên các cài đặt như loại Tải công việc và Khung Ứng dụng được thiết lập trong thông tin của ứng dụng.
Các giá trị đã thiết lập trong ứng dụng sẽ không được phản ánh ngay lập tức sau khi lưu.
Các cài đặt chỉ được áp dụng sau khi quá trình xây dựng/triển khai được thực hiện
thông qua pipeline triển khai.
Mô tả về từng mục trong cài đặt cơ bản của ứng dụng:
Cài đặt Triển khai Cơ bản
- Triển khai : Thiết lập số lượng ứng dụng, mức sử dụng tài nguyên, v.v.
- Dịch vụ : Thiết lập loại dịch vụ và cổng dịch vụ để giao tiếp trong cụm.
Cài đặt Quản lý Dữ liệu & Tin nhắn
- Kênh Tin nhắn : Kết nối loại Kênh Tin nhắn của Dịch vụ Hỗ trợ được sử dụng bởi ứng dụng.
- Truy cập DB : Kết nối loại Cơ sở dữ liệu của Dịch vụ Hỗ trợ được sử dụng bởi ứng dụng.
- Trong Bộ nhớ : Kết nối loại Trong Bộ nhớ của Dịch vụ Hỗ trợ được sử dụng bởi ứng dụng.
Ứng dụng Chi tiết [Cài đặt Triển khai Cơ bản / Triển khai]
Nhấp vào nút Chỉnh sửa trong cột hành động trên màn hình danh sách Ứng dụng để thiết lập thông tin về Triển khai trong cài đặt triển khai cơ bản của ứng dụng. Điều này bao gồm số lượng bản sao, cổng truy cập của container và các thuộc tính tài nguyên.
① Replica : Chỉ định số lượng phiên bản (Pods) cần tạo. Giá trị mặc định là 1. Liên quan đến ReplicaSet trong Kubernetes.
② Http Port : Đặt cổng được sử dụng bởi ứng dụng. Các giá trị mặc định khác nhau dựa trên App Framework. Liên quan đến Container Port trong Kubernetes.
- Giá trị mặc định cho SPRINGBOOT hoặc DOCKER là 8080.
- Giá trị mặc định cho VUE/REACT/NEXACRO là 80.
③ CPU Request : Đặt thông số CPU yêu cầu ban đầu cho Container chính của ứng dụng. Được kích hoạt khi thuộc tính Use CPU Request được chọn. Giá trị mặc định là 500 (m). Liên quan đến CPU Request trong Kubernetes.
④ CPU Limit : Đặt thông số CPU tối đa cho Container chính của ứng dụng. Được kích hoạt khi thuộc tính Use CPU Limit được chọn. Giá trị mặc định là 1000 (m). Liên quan đến CPU Limit trong Kubernetes.
⑤ Memory Request(Mi) : Đặt thông số Memory yêu cầu ban đầu cho Container chính của ứng dụng. Được kích hoạt khi thuộc tính Use Memory Request được chọn. Giá trị mặc định là 128 (Mi). Liên quan đến Memory Request trong Kubernetes.
⑥ Memory Limit(Mi) : Đặt thông số Memory tối đa cho Container chính của ứng dụng. Được kích hoạt khi thuộc tính Use Memory Limit được chọn. Giá trị mặc định là 256(Mi). Liên quan đến Memory Limit trong Kubernetes.
Nếu việc sử dụng bộ nhớ tối ưu không được xác định, việc đặt giới hạn bộ nhớ thấp hơn mức sử dụng thực tế có thể dẫn đến các vấn đề OutOfMemory (OOM), vì vậy cần thận trọng khi đặt giới hạn này.
Ứng dụng [Cài đặt Triển khai Cơ bản / Dịch vụ] Cài đặt Chi tiết
Đặt thông tin cần thiết cho việc giao tiếp nội bộ/ngoại bộ của ứng dụng trong cụm.
① Loại Dịch vụ : Loại dịch vụ cho việc giao tiếp nội bộ và ngoại bộ của ứng dụng phụ thuộc vào các loại dịch vụ được cung cấp bởi cụm:
- ClusterIP: Chủ yếu, chế độ này cho phép ứng dụng giao tiếp chỉ trong cụm. Nó không yêu cầu cấu hình bổ sung cho việc truy cập bên ngoài. Tuy nhiên, nếu cần giao tiếp dịch vụ, tính năng chuyển tiếp cổng có thể được sử dụng để truy cập.
- NodePort: Chế độ này phân bổ một cổng (phạm vi mặc định: 30000-32767) trong cụm cho việc truy cập bên ngoài. Phương pháp giao tiếp nội bộ giống như ClusterIP.
- LoadBalancer: Trong các môi trường có bộ cân bằng tải bên ngoài được hỗ trợ bởi các nhà cung cấp đám mây, điều này kết nối với việc cung cấp một bộ cân bằng tải. Việc tạo bộ cân bằng tải là không đồng bộ và phụ thuộc vào môi trường của nhà cung cấp đám mây. Phương pháp giao tiếp nội bộ giống như ClusterIP.
② Chú thích Dịch vụ: Chú thích dịch vụ tiêm các chú thích cụ thể vào cấu hình dịch vụ của ứng dụng. Điều này được sử dụng để mở rộng một số tính năng nhất định do các nhà cung cấp đám mây hoặc môi trường cụm cung cấp.
- Chúng phải được viết theo định dạng Khóa/Giá trị, và cả khóa và giá trị không thể là null.
- Nhiều chú thích có thể được tạo ra bằng cách nhấp vào biểu tượng “+”
③ Độ tương thích phiên: Cài đặt này được sử dụng nếu bạn muốn kết nối nhất quán các yêu cầu của khách hàng đến một pod cụ thể trong cùng một nhóm ứng dụng. Cài đặt mặc định là Không, có nghĩa là không có độ tương thích phiên nào được thiết lập. Nếu được đặt thành ClientIP, IP của khách hàng sẽ được kiểm tra để duy trì kết nối với cùng một pod.
- Giá trị mặc định là Không. Hầu hết các ứng dụng không yêu cầu cài đặt này.
④ Cổng Dịch vụ: Đây là thông tin cổng nơi dịch vụ nhận giao tiếp cho ứng dụng. Nó bao gồm các cổng cho cả dịch vụ nội bộ trong cụm và nhiều phương pháp truy cập dịch vụ từ bên ngoài. Thông tin nhận được liên kết với thông tin Cổng Mục tiêu mà từ đó ứng dụng thực tế phản hồi.
- Dịch vụ có thể ánh xạ tất cả các cổng nhận được đến Cổng Đích, và để thuận tiện, giá trị giống nhau thường được đặt cho cả hai.
- Giá trị mặc định cho SPRINGBOOT hoặc DOCKER là 8080.
- Giá trị mặc định cho VUE/REACT/NEXACRO là 80.
⑤ Cổng Đích: Đây là thông tin cổng mà từ đó dịch vụ nội bộ của ứng dụng phản hồi. Dịch vụ chỉ định một cổng để đại diện cho dịch vụ.
- Dịch vụ có thể ánh xạ tất cả các Cổng Dịch vụ nhận được đến Cổng Đích, và để thuận tiện, giá trị giống nhau thường được đặt cho cả hai.
- Giá trị mặc định cho SPRINGBOOT hoặc DOCKER là 8080.
- Giá trị mặc định cho VUE/REACT/NEXACRO là 80.
Cài đặt Quản lý Dữ liệu Ứng dụng & Tin nhắn
Đối với các ứng dụng sử dụng SpringBoot App Framework làm máy chủ API, có một tính năng tự động tiêm dữ liệu cấu hình Ứng dụng bằng cách thêm các cài đặt liên quan đến Dịch vụ Hỗ trợ.
① Kênh Tin nhắn: Cung cấp cấu hình tự động cho thông tin liên quan đến kênh tin nhắn từ các Dịch vụ Hỗ trợ như RabbitMQ và Kafka.
② Truy cập DB: Cung cấp cấu hình tự động cho các Dịch vụ Hỗ trợ liên quan đến cơ sở dữ liệu như MariaDB, MongoDB, PostgreSQL và Oracle.
③ Trong Bộ nhớ: Cung cấp cấu hình tự động cho các Dịch vụ Hỗ trợ liên quan đến bộ nhớ như Redis.
Cài đặt Chi tiết cho Dữ liệu Ứng dụng & Quản lý Tin nhắn /Kênh Tin nhắn
Đối với loại Kênh Tin nhắn (RabbitMQ, Kafka) được đăng ký trong Dịch vụ Hỗ trợ Backend của Hồ sơ, thông tin cài đặt sẽ được tự động tiêm khi ứng dụng được triển khai lên cụm:
① Kênh Tin Nhắn (Sử Dụng Thuộc Tính Kênh Tin Nhắn) : Chọn xem có sử dụng thuộc tính Kênh Tin Nhắn hay không. Khi được kích hoạt, các cài đặt liên quan sẽ được áp dụng.
② Phiên Bản Broker : Chọn một dịch vụ liên quan đến Kênh Tin Nhắn (RabbitMQ, Kafka) từ danh sách Dịch Vụ Hỗ Trợ của Hồ Sơ. Các cài đặt sẽ được tự động tiêm vào cấu hình ứng dụng SpringBoot.
- Đối với RabbitMQ:
- spring.rabbitmq.host : Quản lý thông tin truy cập máy chủ RabbitMQ.
- spring.rabbitmq.port : Quản lý thông tin cổng RabbitMQ.
- spring.rabbitmq.username : Quản lý thông tin người dùng RabbitMQ, được cung cấp dưới dạng bí mật.
- spring.rabbitmq.password : Quản lý mật khẩu người dùng RabbitMQ, được cung cấp dưới dạng bí mật.
- Đối với Kafka:
- spring.kafka.bootstrap-servers : Quản lý thông tin truy cập máy chủ Bootstrap của Kafka.
Cài Đặt Chi Tiết cho Quản Lý Dữ Liệu Ứng Dụng & Tin Nhắn /Truy Cập DB
Chọn một loại Dịch Vụ Hỗ Trợ (MariaDB, MongoDB, PostgreSQL, Oracle) đã được đăng ký trong Dịch Vụ Backend của Hồ Sơ, để tự động tiêm thông tin cài đặt khi ứng dụng được triển khai lên cụm.
① Truy Cập DB (Sử Dụng Thuộc Tính Truy Cập DB) : Chọn xem có sử dụng thuộc tính Truy Cập DB hay không. Khi được kích hoạt, các cài đặt liên quan sẽ được áp dụng.
② Phiên Bản DB : Chọn một dịch vụ liên quan đến Cơ Sở Dữ Liệu (MariaDB, MongoDB, PostgreSQL, Oracle) từ danh sách Dịch Vụ Hỗ Trợ của Hồ Sơ. Các cài đặt sẽ được tự động tiêm vào cấu hình ứng dụng SpringBoot.
- Đối với loại MariaDB, các cài đặt sau được quản lý:
- spring.datasource.driver-class-name : Đặt trình điều khiển để sử dụng MariaDB.
- spring.datasource.url : Đặt thông tin truy cập máy chủ MariaDB.
- spring.datasource.username : Đặt thông tin người dùng MariaDB, được quản lý dưới dạng bí mật.
- spring.datasource.password : Đặt mật khẩu người dùng MariaDB, được quản lý như một bí mật.
- Đối với loại MongoDB, các cài đặt sau được quản lý:
- spring.data.mongodb.host : Đặt thông tin truy cập máy chủ MongoDB.
- spring.data.mongodb.port : Đặt cổng truy cập MongoDB.
- Đối với loại PostgreSQL, các cài đặt sau được quản lý:
- spring.datasource.driver-class-name : Đặt driver để sử dụng PostgreSQL.
- spring.datasource.url : Đặt thông tin truy cập máy chủ PostgreSQL.
- spring.datasource.username : Đặt thông tin người dùng PostgreSQL, được quản lý như một bí mật.
- spring.datasource.password : Đặt mật khẩu người dùng PostgreSQL, được quản lý như một bí mật.
- Đối với loại Oracle, các cài đặt sau được quản lý:
- spring.datasource.driver-class-name : Đặt driver để sử dụng Oracle DB.
- spring.datasource.url : Đặt thông tin truy cập máy chủ Oracle DB.
- spring.datasource.username : Đặt thông tin người dùng Oracle DB, được quản lý như một bí mật.
- spring.datasource.password : Đặt mật khẩu người dùng Oracle DB, được quản lý như một bí mật.
Cấu hình chi tiết [Cài đặt Quản lý Dữ liệu & Tin nhắn / Trong Bộ nhớ] của Ứng dụng (Chỉnh sửa)
Cấu hình này liên quan đến việc chọn một Dịch vụ Hỗ trợ loại Trong Bộ nhớ (Redis) được đăng ký trong Dịch vụ Backend của Hồ sơ. Khi ứng dụng được triển khai trong một cụm, các cài đặt này sẽ được tự động tiêm dựa trên cấu hình đã chọn.
① Bộ nhớ đệm : Chọn xem có sử dụng thuộc tính Bộ nhớ đệm hay không. Nếu được bật, các cài đặt liên quan sẽ được áp dụng.
② Thể hiện Bộ nhớ đệm : Chọn Thể hiện Bộ nhớ đệm mục tiêu từ các dịch vụ loại Trong Bộ nhớ được đăng ký trong hồ sơ. ③ Thời gian hết hạn mặc định: Đặt thời gian hết hạn mặc định cho Cache. Giá trị mặc định là 3600 (giây). Điều này được thiết lập trong cấu hình ứng dụng SpringBoot là spring.cache.redis.default-expire-time.
④ Thời gian sống: Đặt Thời gian sống (TTL) cho thông tin cache. Giá trị mặc định là 3600 (giây). Điều này được thiết lập trong cấu hình ứng dụng SpringBoot là spring.cache.redis.time-to-live.
⑤ Tiền tố khóa: Đặt giá trị Tiền tố cho các khóa được sử dụng trong Cache. Giá trị mặc định là myCache. Điều này được thiết lập trong cấu hình ứng dụng SpringBoot là spring.cache.redis.keyprefix.
⑥ Sử dụng Tiền tố khóa: Đặt xem có kích hoạt Tiền tố cho khóa Cache hay không. Giá trị mặc định là true. Điều này được thiết lập trong cấu hình ứng dụng SpringBoot là spring.cache.redis.use-key-prefix.
① Phiên (Sử dụng thuộc tính phiên): Chọn xem có sử dụng thuộc tính phiên hay không. Kích hoạt cài đặt này sẽ áp dụng cấu hình liên quan cho quản lý phiên.
② Loại phiên: Xác định loại phiên Redis.
- Phiên Redis: Sử dụng cho các mô-đun dựa trên Spring WebMVC.
- Phiên Redis Webflux: Áp dụng cho các mô-đun dựa trên Spring WebFlux.
③ Thể hiện phiên: Chọn mục tiêu cho Thể hiện phiên từ các dịch vụ loại In Memory đã đăng ký trong hồ sơ.
④ Chế độ xóa: Định nghĩa cách dữ liệu phiên được ghi vào máy chủ. Chọn giữa ON_SAVE và IMMEDIATE. Được cấu hình trong cài đặt ứng dụng SpringBoot là spring.session.redis.flush-mode. Giá trị mặc định là ON_SAVE.
- ON_SAVE: Lưu vào máy chủ phiên khi được gọi.
- IMMEDIATE: Ghi vào máy chủ phiên ngay lập tức, bất kể có được gọi hay không.
⑤ Chế độ lưu: Chọn chế độ lưu phiên, hoặc ALWAYS hoặc ON_SET_ATTRIBUTE. Được cấu hình trong cài đặt ứng dụng SpringBoot là spring.session.redis.save-mode. Giá trị mặc định là ALWAYS.
- ALWAYS: Luôn luôn lưu tất cả các thuộc tính phiên.
- ON_SET_ATTRIBUTE: Lưu chỉ những thay đổi.
⑥ Namespace : Đây là không gian tên Redis, với giá trị mặc định là spring:session. Được cấu hình trong cài đặt ứng dụng SpringBoot là spring.session.redis.namespace.
⑦ Timeout : Đặt thời gian hết hạn cho phiên. Giá trị mặc định là 60 phút. Được cấu hình trong cài đặt ứng dụng SpringBoot là spring.redis.timeout.