언제 사용할까?

결론: Kubernetes Cluster가 Private네트워크로 구성된 환경에서, 개발PC에서 MicroService를 검증 할 때

  • MSA on Kubernetes에서 개발자의 마이크로서비스 어플리케이션을 검증할 경우, 개발PC는 자원이 한정적이므로, 모든 마이크로서비스를 실행하고 테스트 하기 어렵습니다.
  • 이때, 개발자는 개발중인 마이크로어플리케이션만을 실행하고, 다른 마이크로서비스와의 연동은 Kubernetes Cluster 개발환경의 Pod와 연결하여 검증할 수 있습니다.
  • Pod를 Public서비스로 노출하여, 사용할 수도 있겠으나, 보안정책이 Kubernetes Service를 PublicIP로 노출하지 못하는 경우 Port-Foward를 이용하여 해결 할 수 있습니다.

개발PC에서 AKS-POD 연결

Port-Forward를 이용한 개발PC에서 AKS-POD 연결 Command

sansae@win10pro-worksp:~$ az login
sansae@win10pro-worksp:~$ az aks get-credentials --resource-group ${RESOURCE_GROUP_NAME} --name ${AKS_CLUSTER_NAME}
sansae@win10pro-worksp:~$ kubectl get pod
NAME                    READY   STATUS    RESTARTS   AGE
todo-796c54bf46-snsvn   1/1     Running   0          26h
sansae@win10pro-worksp:~$ kubectl get pod todo-796c54bf46-snsvn -o yaml | grep containerPort
              k:{"containerPort":8080,"protocol":"TCP"}:
                f:containerPort: {}
    - containerPort: 8080
sansae@win10pro-worksp:~$ kubectl port-forward todo-796c54bf46-snsvn 8888:8080
Forwarding from 127.0.0.1:8888 -> 8080
Forwarding from [::1]:8888 -> 8080
Handling connection for 8888
Handling connection for 8888

개발PC의 Browser에서 http://localhost:8888 로 호출

예) 개발PC의 마이크로서비스에서 AKS-POD 호출URL설정

application.properties


개발PC에서 AKS-DEPLOYMENT연결

Port-Forward를 이용한 개발PC에서 AKS-DEPLOYMENT 연결 Command

sansae@win10pro-worksp:~$ kubectl get deploy
NAME   READY   UP-TO-DATE   AVAILABLE   AGE
todo   1/1     1            1           28h
sansae@win10pro-worksp:~$ kubectl get deploy todo -o yaml | grep containerPort
                  k:{"containerPort":8080,"protocol":"TCP"}:
                    f:containerPort: {}
        - containerPort: 8080
sansae@win10pro-worksp:~$ kubectl port-forward deployment/todo 9000:8080
Forwarding from 127.0.0.1:9000 -> 8080
Forwarding from [::1]:9000 -> 8080

개발PC의 Browser에서 http://localhost:9000 로 호출

예) 개발PC의 마이크로서비스에서 AKS-DEPLOYMENT 호출URL설정

application.properties

  • microservice.user.host=http://localhost:9000/user 

Herder값 전송 확인

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.