Cách triển khai ứng dụng nhiều tầng với Kubernetes

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.

Đ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ầng

Triể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
 
Top