GKE – Ingress

Trong bài này chúng ta sẽ configure ingress Trên Google Kubernetes cluster.

Ingress dùng để quản lý network ra và vào các service và pod. Trong trường hợp bạn có nhiều services và expose ra ngoài. Ingress object sẽ là một tập hợp rules để define các clients có thể truy cập vào service nào đang chạy trên Kubernetes cluster.

Đầu tiên bạn cần connect vào cluster

gcloud container clusters get-credentials ecntt-cluster --zone us-central1-a --project ecntt-251116

Tạo deployment và expose deployment để tạo service

kubectl run ecntt-website --image gcr.io/ecntt-251116/ecntt-website:v1 --port=80

kubectl expose deployment ecntt-website --target-port=80 --type=NodePort

Trong ví dụ này chúng ta sẽ chọn type là NodePort vào truy cập vào service này thông qua IP của ingress.

Tiếp tới, sử dụng code editor của CloudShell để tạo thư mục project-2 vào copy các file từ project-1 qua. Sau đó tạo file ingress.yaml

File ingress.yaml:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
    name: ecntt-website-ingress
spec:
    backend:
        serviceName: ecntt-website
        servicePort: 80

Vào thư mục project-2

cd project-2

Tạo ingress từ file ingress.yaml

kubectl create -f ingress.yaml

kubectl get ingress ecntt-website-ingress –watch

Vào web console để kiểm tra lại

Truy cập vào ip của ingress