🥞 BE
home

NGINX 인그레스

인그레스 컨트롤러 활성화

1.
NGINX 인그레스 컨트롤러를 활성화하기 위해 다음 명령을 실행한다.
minikube addons enable ingress
2.
NGINX 인그레스 컨트롤러가 실행 중인지 확인한다.
kubectl get pods -n ingress-nginx
참고: 파드가 정상적으로 실행되기까지 1 정도 소요될 있다.
NAME READY STATUS RESTARTS AGE ingress-nginx-admission-create-fpmcq 0/1 Completed 0 3m14s ingress-nginx-admission-patch-rxhrz 0/1 Completed 0 3m14s ingress-nginx-controller-7799c6795f-t5fg7 1/1 Running 0 3m14s
Shell
복사

hello, world 앱 배포하기

1.
다음 명령을 사용하여 디플로이먼트(Deployment)를 생성한다.
kubectl create deployment web --image=gcr.io/google-samples/hello-app:1.0
2.
디플로이먼트를 노출시킨다.
kubectl expose deployment web --type=NodePort --port=8080
3.
서비스(Service)가 생성되고 노드 포트에서 사용할 수 있는지 확인한다.
kubectl get service web
4.
노드포트(NodePort)를 통해 서비스에 접속한다.
minikube service web --url
이제 Minikube IP 주소와 노드포트를 통해 샘플 앱에 액세스할 수 있다.

인그레스 생성하기

1.
다음 매니페스트는 hello-world.info를 통해 서비스로 트래픽을 보내는 인그레스를 정의한다.
다음 파일을 통해 example-ingress.yaml 을 만든다. (local 로 만들때)
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: example-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: /$1 spec: rules: - host: hello-world.info http: paths: - path: / pathType: Prefix backend: service: name: web port: number: 8080
YAML
복사
다음 명령어를 실행하여 인그레스 오브젝트를 생성한다. (샘플 파일 적용할 때)
kubectl apply -f https://k8s.io/examples/service/networking/example-ingress.yaml
ingress.networking.k8s.io/example-ingress created
Shell
복사