Table of Contents
Ứng dụng hiện đại đòi hỏi dịch vụ tăng tốc, phục hồi nhanh, và nhanh chóng lặp lại. Dịch vụ vi mô đáp ứng những yêu cầu này bằng cách phân hủy những ứng dụng khối đá này thành những dịch vụ nhỏ, có thể triển khai độc lập. Azure Kubernetes Dịch vụ (AKS) cung cấp một môi trường quản lý đầy đủ để lưu trữ, tăng cường và quản lý dịch vụ vi mô. Bài này cung cấp hướng dẫn toàn diện để triển khai và quản lý các dịch vụ nhỏ trên AKS, bao gồm cấu trúc, trình bày, hoạt động, thực tiễn và xem xét an ninh.
Tại sao có những dịch vụ vi mô?
Chạy dịch vụ vi mô trên Kubernetes là một điều tự nhiên, và AKS trừu tượng hóa phần lớn bộ quản lý cụm. AKS tích hợp sâu sắc với hệ sinh thái Azure, cung cấp một nền tảng mạnh mẽ để kiểm tra thông qua Azure giám sát, quản lý nhân dạng với thư mục hoạt động Azure, và mạng lưới thông qua Azuare ảo Network. Quản lý Kubernetes loại bỏ nhu cầu để duy trì sự nâng cấp máy bay, tự động xử lý nâng cấp nâng cấp, và cung cấp một nền tảng mạnh mẽ cho trạng thái và công việc không có nhà nước. Đối với các doanh nghiệp mà đã có hiệu quả hiệu quả Azure, giảm hiệu quả ma sát hoạt động và tăng thời gian hoạt động của dịch vụ vi mô- vi mô.
Triển khai các dịch vụ vi mô trên AKS
1. Ngăn cản dịch vụ của bạn
Mỗi dịch vụ vi mô phải được gói lại dạng ảnh của container. Dùng Dockerfiles để xác định quan hệ phụ thuộc và cấu hình thời gian chạy. Nhiều giai đoạn xây dựng giúp đỡ giữ ảnh nhỏ và bảo mật. Lưu các ảnh trong bộ chứa thư mục Azure (ACR) để truy cập nhanh, bảo mật từ cụm AKS. ACR kết hợp với AKS để xác thực, loại bỏ nhu cầu tự động kéo bí mật.
2. Tạo ra và cấu hình nhóm AKS Cluster
Bạn có thể cung cấp một cụm AKS thông qua các crube ciI, Azure Portal, hoặc Infra i surct như là các công cụ mật mã như Terraform. Các quyết định cấu hình chìa khóa bao gồm kích cỡ (CPU/memory), số điểm nút, vùng có sẵn cho các tiện ích cao, và bổ sung mạng (Azuure Cunet hay kubenent). Để tạo dịch vụ vi mô, hãy sử dụng Azure Cine để hiệu suất mạng tốt hơn và tích hợp với tính năng mạng Azuure. Bật cụm tự động điều chỉnh tập hợp để tự động đếm số tùy chọn.
3. Triển khai ngăn cản với biểu đồ Kibernetes hoặc biểu đồ bảo vệ
Để triển khai đơn giản, bản liệt kê các tập tin của Kubernetes (YAML) xác định việc triển khai, dịch vụ, cấu hìnhMaps và Bí mật. Đối với các dịch vụ phức tạp, các biểu đồ bảo mật cung cấp mẫu, có thể tái tạo lại. Một biểu đồ Helm đơn có thể triển khai nhiều dịch vụ liên quan với các thông số nhỏ liên quan, tạo các thiết lập môi trường nhất định. Hãy xem xét việc sử dụng Helm để quản lý các vòng lặp của mỗi dịch vụ, bao gồm cuộn cuộn và nâng cấp.
4 Đang cấu hình mạng và phát hiện dịch vụ
Dịch vụ vi mô cần thiết giao tiếp đáng tin cậy. Dịch vụ Kubernetes (ClubterI, Cửa số Mới, Tải về Ba Lan) cung cấp điểm kết thúc ổn định. Dùng ClusterIIIIII để liên lạc nội bộ. Để truy cập bên ngoài, hãy thực hiện bộ điều khiển âm thanh như là NGINX hay Azure Ứng dụng Cổng Ingragler. Kết hợp với Azure DNS cho tên miền riêng. Để cấu hình tiến trình quản lý Azi, các cổng Azire API (AMMMM) có thể ngồi trước các dịch vụ vi mô, xử lý tốc độ, xác thực và chuyển đổi.
Cấu hình 5 Trình quản lý và Bí mật
Cấu hình riêng từ mã dùng cấu hìnhMaps và mật mã. Để có dữ liệu nhạy như mật khẩu cơ sở dữ liệu và phím Azure Key Socket và trình điều khiển lưu trữ bí mật lưu trữ vào hộp. Việc này tránh cất giữ bí mật trong tập tin YAML và hiệu lực tự động xoay. Các cấu hình đặc trưng môi trường có thể được cất giữ như cấu hìnhMaps và áp dụng trong khi triển khai.
Quản lý các dịch vụ vi mô trên AKS
Co dãn
Kubernetes cung cấp một số cơ chế co dãn. Đối với công việc tự động nạp các thông tin kích cỡ Pod (HPA) tự động điều chỉnh số bản sao của kén dựa trên CPU hay bộ nhớ, hoặc bộ nhớ tùy chỉnh (v. d., yêu cầu trên giây). Để làm việc với bộ tải dữ liệu sự kiện, hãy dùng KEDA (Kubenets Even- relateing) để tỷ lệ từ 0 dựa trên độ trễ xếp hàng, hay các nguồn khác. Nhóm dữ liệu kiểu « Nhóm dữ liệu kiểu MIME Autoer » thêm hay không có dấu chấm câu hỏi nào để đáp ứng các yêu cầu của tàu, giảm chi phí tối ưu trong thời gian nạp thấp.
Theo dõi và quan sát
Quản lý hiệu quả cần thiết khả năng nhìn thấy thời gian thực. Cho phép Azure Theo dõi hộp chứa để thu thập các biểu đồ tần xuất, bản ghi lưu và sự hiểu biết về sức khỏe cụm. Để kiểm tra mức độ áp dụng chi tiết, hãy triển khai bề mặt của bề mặt và hạt. Trình đo độ riêng của các tàu điện toán và nút. Dùng bộ phận đo đạc bản đồ để tổng hợp các bản ghi của mọi dịch vụ vi mô. Xem việc ghi nhật ký có cấu trúc (v. d. JSON) để hỗ trợ việc phân phối bản đồ tần số và kết nối. Việc phân phối OpenTelemetry hay Azuure (các chương trình khác). Dùng bộ lọc thông tin của bộ lọc thông tin về các chương trình khác giúp chẩn đoán các tính năng hoạt động của ống kính áp dụng cho các ống kính.
Cập nhật và xuất bản
Dùng các bản cập nhật cuộn để triển khai phiên bản mới với thời gian xuống. Kubernetes triển khai chiến lược cập nhật (trước khi chuyển sang chế độ cập nhật hay tái tạo). Để triển khai các mẫu nâng cao, hãy thực hiện việc thả chim yến hay việc bật lên màu xanh dương. Chim hoàng yến dùng để di chuyển một phần trăm giao thông tới phiên bản mới, cho phép khả năng xác thực trước khi cuộn xong. Công cụ như Flag hay Wapouts tự động hoá các chiến lược này trên AKS. Luôn luôn xác định yêu cầu tài nguyên và giới hạn để ngăn chặn sự đói khát trong suốt quá trình cuộn.
Bảo mật
Bảo mật cần phải thực hiện tại mỗi lớp. Cần phải thực hiện thư mục nhập vào « An ninh « An ninh » Azure Azure » với AKS for Kbertnetes RBAC, cấp quyền quản lý quyền cho các nhà phát triển và điều hành. Hãy dùng Chính sách Azure để áp dụng các quy tắc phục tùng (v. d., không cho phép các công cụ đặc quyền). Việc sử dụng các chính sách cho phép kết nối mạng gói kén đến bàn giao tiếp. Việc thường xuyên quét các ảnh chụp ảnh cho các khả năng ảnh chụp thử ra bằng cách dùng khả năng Azu Preseners (cơ quan bảo vệ) và xem xét việc sử dụng Azuare- Azure để tăng cường độ bảo vệ.
Đường ống CI/CD cho dịch vụ vi dịch vụ trên AKS
Các đường ống tự động là thiết yếu cho các dịch vụ vi dịch vụ dễ dàng. Dùng Azure DevOps hoặc GitHub Actions để xây dựng, kiểm tra và triển khai mỗi dịch vụ riêng. Một đường ống: (1) xây dựng ảnh container với đơn vị và kiểm tra tích hợp; (2) đẩy ảnh tới ACR; (3) quét an ninh; (4) tái sử dụng Helm; 5) chạy thử nghiệm khói; vội vàng nâng cao việc sản xuất bằng cách chuyển tiếp hoặc có thể xoay. Gtps như Flux hoặc Wall CD thì vẫn mong muốn trong trạng thái repositioning, cho phép giảm hiệu lực và tự động định hướng.
Đối với môi trường với nhiều dịch vụ vi mô, hãy xem xét một đơn vị hoặc đa phần tiếp cận phụ thuộc vào cấu trúc nhóm và giải phóng sự quản lý. Hãy dùng các đường ống riêng biệt cho mỗi dịch vụ để kích hoạt việc triển khai độc lập. Việc mở rộng các biểu hiện trong kho chứa GitOps và sử dụng một công cụ xử lý GitOps để đồng bộ hoá các thay đổi sang cụm.
Cấu trúc ống nước Ví dụ (Azure DevOps)
- Giai đoạn: Chạy thử, xây dựng hình ảnh Docker, nhấn vào ACR.
- Trao đổi để Dev:[FLT: 1) Hãy dùng Helm và Azure CLI để nâng cấp dịch vụ trong space tên dev.
- Thử nghiệm hợp nhất: thực hiện các thử nghiệm ADI chống lại môi trường dev.
- Cổng Áp dụng: [FLT: 1] kiểm tra chất lượng tự động trước khi sản xuất.
- Trao đổi với Prod:) Cập nhật với kiểm tra sức khỏe; tự động quay ngược về thất bại.
Quản lý nguồn tài nguyên và cách tô màu
Dịch vụ vi mô trên AKS có thể tạo ra giá trị đáng kể nếu không quản lý cẩn thận. Đặt chỉ tiêu riêng mỗi tên để ngăn cản một nhóm tiêu thụ tài nguyên cụm. Hãy dùng Azure Spot VM để giảm bớt hay giảm bớt lỗi tại giảm giá trị giảm giá. Đặt hồ sơ kích cỡ bên phải: hãy dùng hồ chứa công việc bị vỡ và nút lớn hơn cho dịch vụ tăng cường trí nhớ. Hãy bật tùy chọn này để giảm bớt quy mô tự động quy mô tự động trong vòng vài giờ ngoài giờ. Theo dõi tài nguyên có chức năng hỗ trợ mạng Kubernetrict và Azuare để xác định chất thải.
Những thực hành tốt nhất để sản xuất các dịch vụ vi mô trên AKS
- Đóng dấu cho sự bất lực nhà nước: Lưu trữ tình trạng trong cơ sở dữ liệu bên ngoài hoặc quản lý dịch vụ (Azure Cosmos DB, Azure LSQL, hoặc Redis Cache cục bộ để lưu trữ dữ liệu quan trọng.
- Các thăm dò sức khỏe tái tạo:) Cấu hình sự sống và các thăm dò sẵn sàng cho mỗi công cụ để đảm bảo rằng Kubernetes có thể phát hiện thất bại và giao thông đường bộ thích hợp.
- Dùng ngân sách hủy hoại tàu:) bảo vệ các dịch vụ quan trọng không bị chấm dứt trong khi tự nguyện ngắt kết nối (node protections, ups).
- Cơ sở hạ tầng Adopt như Code: ) Dùng Terraform hay Bicep để cung cấp nhóm AKS, node pools, và các nguồn tài nguyên Azure liên hệ. Điều này đảm bảo sự nhất quán trên môi trường.
- Môi trường riêng: ) Dùng tên vùng riêng (dov, dàn xếp, prod) và áp dụng chính sách mạng và RBAC để cô lập môi trường.
- Cập nhật lại thường xuyên Kubernetes phiên bản: AKSS tự động bản cập nhật, nhưng bạn phải lên kế hoạch cho phiên bản nhỏ nâng cấp. Dùng phương pháp sắp xếp: nâng cấp dev trước, rồi sau đó kéo dài, rồi sản xuất.
- Phục hồi và phục hồi thảm họa:) Hãy dùng Velero để hỗ trợ tài nguyên và tập bền bỉ. Hãy nhân bản dữ liệu quan trọng trên các vùng để có thể sử dụng cao.
Tài nguyên bên ngoài
Để lặn sâu hơn, hãy nhắc đến tài liệu chính thức Azure Kubernetes ERFUbes ). Tài liệu [FLT:] [FLT:] [FLT:] tài liệu hướng dẫn chi tiết về sự tạo ra biểu đồ. Để xem xét, hãy xem [FLT: 4, xem xét [FLT] [FT] [VT].
Kết luận
Việc triển khai và quản lý dịch vụ vi mô trên Dịch vụ Azure Kube có đòi hỏi các đội phải cẩn thận lên kế hoạch trong kiến trúc, triển khai, giám sát, bảo vệ và tự động hóa. AKS trừu tượng sự phức tạp của việc quản lý máy bay và tích hợp với hệ sinh thái của Azure, cho phép các đội để tập trung vào các tính năng vận chuyển. Bằng cách theo dõi các thực hành được nêu ra trên -- chương trình bảo vệ, nâng cao, nâng cao, tự động, tính bảo vệ, tính bền vững, cấu hình bảo mật, và cơ quan C/C-C-Dience có thể đạt được khả năng thu thập, và hiệu quả vi tính hiệu quả.