728x90
반응형
# Ingress-nginx 개요
- 버추얼 박스를 활용하여 구성하기
- nginx 가 ALB를 구현해 준다고 보면 됨
# Ingress-nginx 구성 확인과 간단한 환경 구성
kubectl get nodes
kubectl create deployment http-go --image gasbugs/http-go
kubectl get pod
# 외부로 expose 하기
kubectl expose deployment http-go --port=8080 --type=NodePort
- 포트확인하는 방법
kubectl get svc
- G 클라우드에서 할경우 방화벽 오픈 해야함
gcloud compute firewall-rules create http-go-svc-rule --allow=tcp:32410
# 서비스 확인하기
- ip 정보 확인하기 : 마스터 노드의 ip정보 확인하기
kubectl get nodes -o wide
curl 10.106.106.155:32410
- 베어메탈에 ingress-nginx 설치
- 구글 클라우드에 붙여넣기
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.0.0/deploy/static/provider/baremetal/deploy.yaml
# 실행된 서비스 찾기
- 실행된 목록에서 서비스를 상세히 보기
kubectl get service/ingress-nginx-controller -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller NodePort 10.112.7.152 <none> 80:31755/TCP,443:32387/TCP 2m47s
- ingress 룰 생성하기
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: http-go-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: gasbugs.com
http:
paths:
- path: /hostname
backend:
serviceName: http-go
servicePort: 8080
vim http-go-ingress.yaml
kubectl create -f ttp-go-ingress.yaml
# 연결상태 확인하기
kubectl get svc -n ingress-nginx ingress-nginx-controller
# 연결상태에서 확인된 80 포트의 연결포트를 열어준다.
gcloud compute firewall-rules create ingress-svc-rule --allow=tcp:31755
# 서비스 확인하기
kubectl get nodes -o wide
curl 34.64.185.51:32410
- 404 에러가 뜨면 정상적으로 서비스가 연결된 것이라고 볼 수 있다.
# etc/hosts 에서 도메인 추가하기
sudo vim /etc/hosts
34.64.185.51 gasbugs.com
curl gasbugs.com:31755/hostname
- 실행을 한다면 결과값을 볼 수 있다.
728x90
반응형