인그레스 컨트롤러 활성화
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
복사