‫Nếu bạn đã suy nghĩ về các triển khai của
‫mình và các dịch vụ của bạn trên chúng,
‫bạn có thể nhận ra rằng cho đến nay, chúng ta chưa nói về
‫OSI Lớp 7, hoặc
‫định tuyến tên HTTP, hoặc định tuyến DNS, hoặc bất cứ điều
‫gì bạn muốn gọi nó. Về cơ bản, ý tưởng rằng
‫nếu bạn đang ở trên một máy chủ có nhiều trang web cần sử dụng
‫cùng một cổng, đúng không. Cổng 80 và 443, sau đó
‫bạn cần một cái gì đó ở đó định tuyến đến các
‫container khác nhau, dựa trên một cái gì đó khác ngoài cổng.
‫Cái đó ở Kubernetes được gọi là Ingress.
‫Đó là một tài nguyên cụ thể và nó không nhất thiết phải là
‫một bộ cân bằng tải hoặc bất cứ thứ gì mà
‫bạn gán cho một dịch vụ.
‫Về mặt kỹ thuật, đó là một thứ
‫khác thực sự tập trung vào vấn đề chung của hầu hết các
‫cụm muốn chạy nhiều trang web khác nhau hoặc
‫các vùng chứa khác nhau cho các URL
‫và tên khác nhau. Đó là nơi mà toàn bộ dự
‫án này được tập trung là dự án Ingress.
‫Theo mặc định, nó không được cài đặt trên
‫cụm Kubernetes của bạn, nhưng có các tính năng chính thức cho nó.
‫Cách hoạt động của điều này là Kubernetes không
‫phát minh ra proxy HTTP.
‫Họ chỉ cung cấp cơ chế cho các proxy
‫bên thứ ba khác sử dụng các tính năng để
‫bạn cài đặt phần mềm xâm nhập trong cụm của mình.
‫Sau đó, bạn có thể cho các ứng dụng của mình biết, dựa
‫trên ứng dụng bạn sử dụng, cách sử dụng proxy đó để truy cập
‫vùng chứa của bạn.
‫Một ví dụ điển hình có thể là bạn có trang web A. com và bạn có trang web
‫B. com.
‫Đó sẽ là hai, triển khai khác nhau.
‫Bạn cần bằng cách nào đó có được các cổng giống nhau trên tất cả các nút
‫của mình ... của nó 80443.
‫Bạn cần đưa các trang web khác nhau vào các
‫vùng chứa khác nhau. Đó là những gì Ingress dành cho.
‫Trong Swarm, chúng tôi không có tính năng đó.
‫Vì vậy, bạn thực sự chỉ phải triển khai một số proxy như
‫một vùng chứa và nó không thực sự có bất kỳ điều gì đặc biệt để
‫làm với vùng chứa đó. Nó không hiểu Ingress là gì.
‫Nhưng Kubernetes thì có.
‫Khi bạn xem tài liệu, loại ví dụ mặc định
‫mà mọi người nói đến là Nginx.
‫Chúng tôi đã sử dụng Nginx thông qua khóa học này.
‫Đó có lẽ là một trong những bạn nên thử đầu tiên.
‫Tôi thích một cái gì đó khác.
‫Tôi thực sự thích Traefik và bạn sẽ thấy điều đó trong một số ví dụ của
‫tôi, đặc biệt là trong khóa học Swarm của tôi.
‫Khi bạn thấy tôi nói chuyện tại các hội nghị, tôi sẽ
‫thường nói về Traefik bởi vì nó là một proxy được tạo ra trong
‫thế giới của các container.
‫Khởi đầu là ý tưởng rằng chúng ta có tất cả các
‫vùng chứa tạm thời này đang hoạt động và tắt, và chúng
‫ta cần lập trình lại một proxy và chúng ta cần
‫lo lắng về SSL và tất cả những thứ khác mà chúng ta
‫cần cho nhiều trang web trong một cụm vùng chứa.
‫Vì vậy, họ đã thiết kế ra sản phẩm mới này mà bây giờ đang sinh
‫ra các sản phẩm khác. Bây giờ nó có cả một công
‫ty đứng sau và các hợp đồng hỗ trợ. Bạn có thể
‫muốn kiểm tra điều đó. Có rất nhiều nhà cung cấp tạo ra các plugin
‫này cho Kubernetes, bao gồm cả những nhà cung cấp chính, đúng không.
‫HAProxy, F5 và những người
‫chơi mới như Envoy và Istio cũng hỗ trợ các
‫kiểu xâm nhập. Tôi sẽ nói rằng, bạn biết đấy, về mặt kỹ thuật,
‫bản thân tính năng xâm nhập vẫn là bản beta trong 1. 15.
‫Mỗi một trong số này sẽ có cách triển khai riêng tùy thuộc
‫vào việc bạn chọn cái nào.
‫F5 là một bộ cân bằng tải phần cứng bên ngoài thực sự
‫phổ biến trong doanh nghiệp.
‫Rõ ràng, bộ điều khiển Ingress cho nó sẽ giúp kiểm
‫soát tài nguyên bên ngoài đó từ bên trong Kubernetes của bạn.
‫Toàn bộ điểm của tất cả những
‫điều này là để khi bạn là nhà phát triển
‫ứng dụng đang viết YAML của họ với những người
‫DevOps hoặc có thể với chính nhóm Ops, họ có thể đưa các
‫chú thích vào YAML của họ, những thứ cần thiết cho việc nhập bộ
‫điều khiển để tìm ra những gì cần làm với chúng.
‫Về cơ bản, làm cách nào để định tuyến chúng?
‫Con đường đúng là gì? Tôi đang lấy nó ở đâu?
‫Tôi đang sử dụng những cổng nào? Tôi có lấy SSL cho
‫bạn không? Tôi có nhận được chứng chỉ không? Bạn sẽ cung
‫cấp cho tôi một số? Tất cả những thứ đó đã được xử lý.
‫Đầu tiên, tôi khuyên bạn nên xem các tài nguyên.
‫Có thể chỉ cần dùng thử Nginx theo mặc định.
‫Chắc chắn, nếu bạn không có ý kiến,
‫hãy thử Traefik vì nó dễ sử dụng và nó có
‫nhiều tính năng, bao gồm Let's Encrypt để tự động nhận chứng chỉ cho
‫bạn và các trang web của bạn ngay lập tức.
‫Nếu bạn biết yêu cầu phần cứng của riêng mình hoặc yêu cầu phần mềm
‫cho những gì bạn cần làm với Ingress, thì có một danh sách trong
‫tài liệu mà bạn có thể xem trong tài
‫nguyên tại đây về tất cả các tùy chọn Ingress khác nhau.