ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • K3S로 프로젝트 구성하기 - 2
    DevOps/K8s 2023. 5. 23. 00:33

    로컬 우분투 서버 -> VM 우분투 서버로 요청 ( 노드 포트 사용 )

    VM 우분투 서버 -> 로컬 우분투 서버로 응답

     

    노드포트로 서비스를 생성하면 설정된 노드포트를 통해서 어떤 노드 아이피의 포트로 요청해도 생성된 파드로 가는 단일 진입점으로 만들수 있다.

     

    예 ) 

    하나의 클러스터 즉 마스터와 워커 노드들 중 아무 노드에게 노드 포트에 설정된 포트로 요청을 보내면 설정된 서비스 파드로 응답해준다.

     

    외부 접속시 공유기 dhcp를 막기위해서 서버 아이피는 공유기를 통해 mac 주소를 등록하고 고정아이피로 설정해둔다.

     

    1. 구조

     

     

     

     

    2. 로컬 PC에서 VM 서버로 포트 포워딩

    nginx 설정 예시

     

    현재 로컬 우부툰 서버에 도커로 nginx를 설치한 뒤 l4 역할을 부여한다.

    도커는 네트워크를 호스트로 사용한다.

    도커는 로컬에서 접속할 포트를 노출시키고 노드 포트를 연결해준다.

     

    # nginx.conf 파일
    
    events { }
    stream {
        upstream stream_backend {
            least_conn;
            server [worker-node-ip-1]:[worker-node-port1];
            server [worker-node-ip-2]:[worker-node-port2];
            server [worker-node-ip-3]:[worker-node-port3];
            # ex)
            # server 192.168.210.1:1234;
        }
    
        server {
           listen        1234;
           proxy_pass    stream_backend;
           proxy_timeout 300s;
           proxy_connect_timeout 1s;
        }
    }

     

    #도커 명령어 예시
    
    sudo docker run --name k8s_proxy -v /home/tory/k8s/l4_nginx/nginx.conf:/etc/nginx/nginx.conf:ro --restart=always -p 1234:1234 -d nginx
    
    sudo docker run --name [containerName] -v [local nginx.conf]:[container nginx.conf]:ro --restart=always -p [로컬포트]:[컨테이너 포트] -d nginx

     

    포트 포워딩후  로컬에서 확인한 화면

    댓글

Designed by Tistory.