Service, Ingress 설정을 주고 ingress 확인하기


아래와 같은 k8s으로 kubectl apply 적용했다.

---
apiVersion: v1
kind: Service
metadata:
name: phantomjs-service
spec:
ports:
- port: 80
protocol: TCP
targetPort: 3001
selector:
app: phantom-server
---
apiVersion: app/v1beta2
kind: Ingress
metadata:
name: phantomjs-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
ingress.kubernetes.io/rewrite-target: /
ingress.kubernetes.io/proxy-body-size: 10m
nginx.org/client-max-body-size: 10m
spec:
rules:
- host: capture.internal.google.com
http:
paths:
- path: /
backend:
serviceName: phantomjs-service
servicePort: 80



 ingress-nginx 네임스페이스를 확인한다.


$ kubectl get pods -n ingress-nginx

NAME                               READY   STATUS    RESTARTS   AGE

default-backend-55d45476bb-q9cwd   1/1     Running   0          14d

ingress-nginx-controller-ff5ht     1/1     Running   0          1d






docker에서 다음을 실행하면 nginx 설정을 확인할 수 있다.

$ kubectl -n ingress-nginx exec -it ingress-nginx-controller-ff5ht /bin/bash

쉘) cat /etc/nginx/nginx.conf





지금까지의 작업을 한 커맨드로 사용해 namespace에 nginx ingress가 하나 밖에 없다면 다음과 같이 쉽게 볼 수 있다.


$ kubectl exec -it -n ingress-nginx $(kubectl -n ingress-nginx get pods | grep ingress-nginx-controller | grep Running | awk '{print $1}' | head -n 1) cat /etc/nginx/nginx.conf 



ingress docker 내부 vi로 보고 싶다면, vi가 설치가 안되어 있어서 보기 어렵다. '| vi - '를 추가한다.


$ kubectl exec -it -n ingress-nginx $(kubectl -n ingress-nginx get pods | grep ingress-nginx-controller | grep Running | awk '{print $1}' | head -n 1) cat /etc/nginx/nginx.conf | vi -





Posted by '김용환'
,