danhdang269
Administrator
- Credits
- 675
Ứng dụng nhiều lớp là ứng dụng được phân phối giữa nhiều lớp. Nó phân tách các lớp hoạt động một cách hợp lý. Số lượng các lớp thay đổi theo yêu cầu kinh doanh và ứng dụng. Trong bài viết này, chúng ta sẽ thấy một ứng dụng được chia thành 2 lớp, lớp phụ trợ và lớp giao diện người dùng. Chúng tôi sẽ sử dụng MongoDB làm chương trình phụ trợ để lưu trữ dữ liệu và Python Flask làm máy chủ web giao diện người dùng. Chúng tôi sẽ triển khai hai ứng dụng này bằng cách sử dụng các triển khai trong Kubernetes và có các dịch vụ để chuyển tiếp các yêu cầu đến chúng.
Kubernetes Cluster với ít nhất 1 nút công nhân.
Nếu bạn muốn tìm hiểu cách tạo Kubernetes Cluster, hãy nhấp vào đây . Hướng dẫn này sẽ giúp bạn tạo một cụm Kubernetes với 1 Master và 2 Node trên AWS Ubuntu 18.04 EC2 Instances.
Hiểu biết cơ bản về Triển khai và Dịch vụ.
Tham khảo Triển khai và Dịch vụ để hiểu cơ bản.
Bây giờ, hãy tạo một dịch vụ sẽ phục vụ các yêu cầu tới MongoDB từ ứng dụng giao diện người dùng của chúng tôi. Dịch vụ này sẽ lắng nghe trên Cổng 27017 và chuyển tiếp các yêu cầu đến MongoDB trên cùng một cổng.
Bước tiếp theo là xác định một ứng dụng giao diện người dùng. Tạo một tệp mới có chứa định nghĩa triển khai sau.
Điều này sẽ nghe trên Cổng 5000.
Các yêu cầu tới MongoDB sẽ được chuyển tiếp đến MONGODB_HOST tức là dịch vụ mongodb.
Điều kiện tiên quyết
Kubernetes Cluster với ít nhất 1 nút công nhân.
Nếu bạn muốn tìm hiểu cách tạo Kubernetes Cluster, hãy nhấp vào đây . Hướng dẫn này sẽ giúp bạn tạo một cụm Kubernetes với 1 Master và 2 Node trên AWS Ubuntu 18.04 EC2 Instances.
Hiểu biết cơ bản về Triển khai và Dịch vụ.
Tham khảo Triển khai và Dịch vụ để hiểu cơ bản.
Chúng ta sẽ làm gì?
Triển khai ứng dụng nhiều tầngTriển khai ứng dụng nhiều tầng
Tạo một tệp mới có tên "test-db-deploy.yaml" với nội dung sau. Điều này sẽ xác định việc triển khai MongoDB sẽ hoạt động như một cơ sở dữ liệu, một lớp phụ trợ.
Mã:
vim test-db-deploy.yaml
Mã:
apiVersion: apps / v1
loại: Triển khai
metadata:
tên: test-db
đặc điểm kỹ thuật:
bộ chọn:
matchLabels:
appdb: testdb
bản sao: 1
bản mẫu:
metadata:
nhãn:
appdb: testdb
đặc điểm kỹ thuật:
hộp đựng:
- tên: test-db
hình ảnh: mongo: 3.3
vi:
- tên: MONGODB_DATABASE
value: testdata
các cổng:
- containerPort: 27017
You must be registered for see images attach
Bây giờ, hãy tạo một dịch vụ sẽ phục vụ các yêu cầu tới MongoDB từ ứng dụng giao diện người dùng của chúng tôi. Dịch vụ này sẽ lắng nghe trên Cổng 27017 và chuyển tiếp các yêu cầu đến MongoDB trên cùng một cổng.
Mã:
vim test-db-service.yaml
Mã:
apiVersion: v1
loại: Dịch vụ
metadata:
tên: mongodb
nhãn:
ứng dụng: testdb
đặc điểm kỹ thuật:
các cổng:
- cổng: 27017
giao thức: TCP
bộ chọn:
appdb: testdb
Bước tiếp theo là xác định một ứng dụng giao diện người dùng. Tạo một tệp mới có chứa định nghĩa triển khai sau.
Điều này sẽ nghe trên Cổng 5000.
Các yêu cầu tới MongoDB sẽ được chuyển tiếp đến MONGODB_HOST tức là dịch vụ mongodb.
Mã:
vim test-web-deploy.yaml