반응형
지난 포스팅에 쿠버네티스 ingress 를 올려서 내부 nginx service에 접근하는 것을 했다.
아키텍처
필자가 생각하고 있는 것은 위 아키텍처와 같다.(다음포스팅은 로드밸런서 등록)
쿠버네티스 노드는 private network ip 만을 가지고 프라이빗 통신을 하고,
proxy server 는 외부망에서 들어온 요청을 private network 망에 있는 쿠버네티스에 전달한다.
편의상(귀찮아서) proxy server 가 될 곳에는 NFS서버, Rancher 도 있다.ㅋㅋㅋ
Public IP 제거
먼저 kube vm 에 있는 public ip를 모두 제거했다.
위 사진처럼 쿠버네티스 vm 들은 public ip 가 모두 제거된 상태!
nginx 설치
$ apt-get install nginx -y
nginx config 설정
80,443 port는 rancher에서 사용중이기 때문에 81번으로 설정했다.
$ vi /etc/nginx/conf.d/k8s.conf
upstream k8s {
server 10.2.0.5:80;
server 10.2.0.6:80;
server 10.2.0.8:80;
}
server {
listen 81;
#server_name ;
location / {
proxy_pass http://k8s;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
nginx.conf 파일을 보면 conf.d 폴더 안의 *.conf 를 include 하는 code가 있어서 바로 생성해주었다.
config check
$ nginx -t
애저 인바운드 룰 추가
테스트
이걸로 외/내부망이 분리된 환경이 된것이다.
다음 포스팅에는 마지막으로 Azure Load Balancer 를 추가하여
로드밸런서 규칙 추가를 적용하겠다.
끝!
반응형
'엔지니어링 > 프록시' 카테고리의 다른 글
[Openresty] x-forwarded-for 설정하기 (0) | 2022.09.30 |
---|---|
[Openresty] 프록시서버 설치하기 (0) | 2022.09.30 |
[Openresty] 특정 클라이언트 구분하기 (0) | 2022.09.28 |
[Openresty] 특정 대상 경로 우회 (0) | 2022.08.04 |