Setup eShopOnContainters dựa trên Docker và Kubernetes
Link source code: https://github.com/dotnet-architecture/eShopOnContainers
Hướng dẫn Setup
Dưới đây là hướng dẫn cách setup project trên Windows
Tham khảo cách setup khác:
Helm là gì
Helm là một trình quản lý gói và công cụ quản lý ứng dụng cho Kubernetes, gói nhiều tài nguyên Kubernetes vào một đơn vị triển khai logic duy nhất được gọi là Chart
Cách install Helm trên Windows: https://phoenixnap.com/kb/install-helm
NGINX
Nginx là một máy chủ Web Server mã nguồn mở. Dự án
Nginx được phát hành và sử dụng như một web server được thiết kế hướng
đến mục đích cải thiện tối đa hiệu năng và sự ổn định. Bên cạnh đó, nhờ
vào các khả năng của máy chủ HTTP mà NGINX còn có thể hoạt dộng như một
proxy server cho email (IMAP, POP3, và SMTP), reverse proxy, và trung
gian để cân bằng tải cho các máy chủ HTTP, TCP, và UDP.
Pod là gì
Một Pod là một khái niệm trừu tượng của Kubernetes, đại diện cho một
nhóm gồm một hoặc nhiều ứng dụng containers (ví dụ như Docker hoặc rkt)
và một số tài nguyên được chia sẻ cho các containers đó
Service
Kubernetes service là một tài nguyên xác định ra một pod hoặc một nhóm các pod cung cấp cùng một dịch vụ và chính sách truy cập đến các pod đó
- ClusterIP
- NodePort
- Load Balancer
- ExternalName
Deployment
Deployment quản lý một nhóm các Pod - các Pod được nhân bản, nó tự động thay thế các Pod bị lỗi, không phản hồi bằng pod mới nó tạo ra. Như vậy, deployment đảm bảo ứng dụng của bạn có một (hay nhiều) Pod để phục vụ các yêu cầu.
Deployment sử dụng mẫu Pod (Pod template - chứa định nghĩa / thiết lập về Pod) để tạo các Pod (các nhân bản replica), khi template này thay đổi, các Pod mới sẽ được tạo để thay thế Pod cũ ngay lập tức.
Deployment sử dụng mẫu Pod (Pod template - chứa định nghĩa / thiết lập về Pod) để tạo các Pod (các nhân bản replica), khi template này thay đổi, các Pod mới sẽ được tạo để thay thế Pod cũ ngay lập tức.
ReplicaSet trong Kubernetes
ReplicaSet là một điều khiển Controller - nó đảm bảo ổn định các nhân bản (số lượng và tình trạng của POD, replica) khi đang chạy.Cách thức hoạt động
Khi định nghĩa một ReplicaSet (định nghĩa trong file .yaml) gồm các trường thông tin, gồm có trường selector để chọn ra các các Pod theo label, từ đó nó biết được các Pod nó cần quản lý(số lượng POD có đủ, tình trạng các POD). Trong nó nó cũng định nghĩa dữ liệu về Pod trong spec template, để nếu cần tạo Pod mới nó sẽ tạo từ template đó. Khi ReplicaSet tạo, chạy, cập nhật nó sẽ thực hiện tạo / xóa POD với số lượng cần thiết trong khai báo (repilcas).
Namespace
Namespace trong Kubernetes được thiết kế để sử dụng trong môi trường có nhiều người dùng trải rộng trên nhiều team hoặc nhiều project khác nhau. Namespace cung cấp một phạm vi cho các đối tượng tài nguyên Kubernetes. Mỗi tài nguyên Kubernetes chỉ có thể nằm trong một namespace. Tên của các tài nguyên Kubernetes chỉ cần là duy nhất trong một namespace duy nhất. Các namespace khác nhau có thể có các tài nguyên có cùng tên. Tên của các namespace phải khác nhau và chúng không thể được lồng vào nhau.
Nhận xét
Đăng nhận xét