on
Ingress-nginx
Ingress-nginx
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 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
공유하기 글 요소 저작자표시
from http://may9noy.tistory.com/269 by ccl(A) rewrite - 2021-09-20 16:00:28