Các bạn có thể đọc lại 2 bài trước của mình để hiểu hơn về eks nhé, còn trong bài này mình sẽ test EKS vừa khởi tạo và expose qua AWS Load Balancer
https://devopsify.co/series-aws-eks-bai-1-tong-quan-ve-eks/
https://devopsify.co/series-aws-eks-bai-2-eks-qua-aws-web-console/
Khởi tạo pod
Dùng tạm 1 image nginx để test thử trên con eks của bài 2 nhé
kubectl run mypod --image=nginx kubectl get pods

Expose ra NodePort
Expose port nginx thành services NodePort- expose thì có thể expose 1 pod hoặc expose cả deployment nhiều pods, ở đây 1 pod nên theo lệnh sau nhé:
kubectl expose pod mypod --name myservice --type=NodePort --port 80 --target-port 80 kubectl get services

Thêm inboud rules trong security groups của các node đã tạo từ 30000-33000

Copy Public IP của 2 node đã tạo bài trước vào dùng port của NodePort
Của mình là 18.143.78.184 và 13.212.188.230 (kệ cái ở giữa trong ảnh nhé, nó không lq đến bài eks này đâu haha)

Kết quả:


Expose ra LoadBalancer
kubectl expose pod mypod --name lb-mysvc --type=LoadBalancer --port 80 --target-port 80

Lúc này đã tự sinh ra được 1 service type là LoadBalancer, bạn có thể vào EC2 ⇒ Load Balancer, sẽ thấy 1 LB đã tự động được tạo

Dùng external-ip này là ta có thể vào được NGINX như mục II. Ngoài ra nên nhớ chỉnh sửa Security Group thêm Inbound là port 80 nữa nhé, ngoài ra có thể dùng IP:PORT (trong hình trên là 32419) của LB như NodePort ở trên

Expose ra ClusterIP
kubectl expose pod mypod --name clusterip-mysvc --port 80 --target-port 80

Về lý thuyết thì LB bao phủ NodePort, NodePort bao phủ ClusterIP, còn về chi tiết 3 loại này thì mình sẽ viết chi tiết trong bài khác nhé
Chúc các bạn thành công!