Deploy và tạo service Nginx trên kubernetes

Tram Ho

Đối với việc deploy nginx lên kubernetes thì giống như hello word của ngôn ngữ lập trình. Sau đó học gì thì học, cứ chạy được cái đã 😀

Từ bây giờ đa phần chúng ta sẽ làm việc chủ yếu với thằng Master Node này

Khởi tạo file .yaml

paste đoạn sau đây

Cuối cùng chạy

Vậy là deploy xong rồi, khá là dễ.

Kiểm tra deploy được chưa

thì ra được 2 pods

bây giờ bạn thử xóa 1 pods xem chuyện gì xảy ra

Bạn nên nhớ rằng các pods của nginx-deployment có thể rải rác chia đều qua 2 worker node kia. Câu hỏi đặt ra, điều gì 1 server worker node bị shutdown ? Mình nghĩ câu hỏi này có thể tìm thấy qua hình ảnh trực quan này 👍

ví dụ pod có địa chỉ 10.10.10.2 chết vì lý do worker node shutdown, nó sẽ tự sinh ra 1 pods mới là 10.10.10.5 ở 1 node khác và Service vẫn hoạt động bình thường.

sau đó get pods thì ngay lập tức 1 pods mới được tạo 9s trước gần như được bảo toàn realtime

Chạy thử vài lệnh xem thế nào

kết quả:

bây giờ chúng ta thử scale nginx-deployment và get pods thử xem sao =))

Chi tiết của service nginx-svc

kết quả:

SSH vào worker Node bất kỳ và chạy lệnh sau

đều ra welcome nginx ...

Muốn browser truy cập được thì cần phải thay đổi
type: ClusterIP => type: NodePort cái này sẽ truy cập trực tiếp vào worker node (cách này được cảnh báo không nên dùng vì an toàn bảo mật). Còn cách tiếp cận nữa là sử dụng type là LoadBalancer của các dịch vụ cloud như AWS, Azure, Google Cloud hoặc phần mềm MetalLB

MetalLB cung cấp triển khai cân bằng tải mạng cho các cụm Kubernetes không chạy trên nền tảng nhà cung dịch vụ cloud, cho phép sử dụng hiệu quả Dịch vụ LoadBalancer trong bất kỳ cụm nào.

Cách cuối cùng sử dụng các công cụ Ingress như kubernetes-ingress, nginx-ingress, traefik… để định tuyển phân ra các quy tắc định tuyến proxy bên trong kubernetes.

CleanUp

Xóa service và deployment

Tiếp theo

Sử dụng kubernetes-ingress với project mẫu để deploy mà mạng ngoài, browser truy cập được.
Tương lai mình sẽ có phần deploy kubernetes sử dụng loadbalancer AWS và nhiều tiện ích rút ngắn config hệ thống. Từ lúc học DevOps khá tốn kém về mặt kinh phí, mất mấy USD trên AWS chỉ để deploy kubernetes các kiểu. 😭

facebook: facebook.com/quanghung997

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo