1. ingress

GKE 클러스터 내 서비스에 외부에서의 접근을 관리하는 API 오브젝트, 일반적으로 HTTP를 관리한다.

* HTTPS도 설정을 통한 관리가 가능하다.

ingress는 GKE 콘솔에서 간단하게 생성이 가능하다.

여기서 주의할 점은


1) 서비스를 배포할 때 Type을 NodePort로 해주어야 한다.

2) "/" 의 응답코드가 200이 되어야 한다. -> 생성된 ingress 서비스의 수신부분에 백엔드 서비스 설정을 보면 아래와 같이 기본 root 경로로 health check를 수행하고 있다.

* 이는 디폴트로 생성된 경우에 한한다. 생성시 경로를 설정할 수 있는데, 상태확인을 새로 생성하여 매칭을 시켜주면 원하는 경로로 확인이 가능하다.

 

2. ingress yaml 수정을 통한 서비스 로드밸런싱

아래와 같이 spec 부분에 rules 세팅을 통해 해당 경로로 접근시 연결할 서비스를 제어할 수 있다.

apiVersion: extensions/v1beta1
kind: Ingress
...생략...
spec:
  rules:
  - http:
      paths:
      - backend:
          serviceName: monitordemo-prometheus-server
          servicePort: 1234
        path: /path1
      - backend:
          serviceName: demoapp-nodeport
          servicePort: 5678
        path: /path2
status:
  loadBalancer:
    ingress:
    - ip: xxx.xxx.xxx.xxx