inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

데브옵스(DevOps)를 위한 쿠버네티스 마스터

ClusterIP와 SessionAffinity 실습

SessionAffinity 질문

395

김노아

작성한 질문수 7

0

선생님 강의 잘 듣고있습니다. 질문드리겠습니다.

서버에 접속 시,  SessionAffinity 옵션이 http의 stateless 를 보완하기 위해 처음 접속했던 포드에서 세션을 가지고 있게 함으로 연결을 지속할 수 있다 라고 이해했습니다. 그래서 SessionAffinity 옵션을 사용해서 클라이언트가 처음 접속했던 포드로 접속하는 기능을 제공한다 이해했는데.. 여기서 이해가 안가는 것이 있습니다. 

처음 클라이언트가 서버에서 로그인 기능을 요청했을 때, 서버의 A포드가 로그인을 담당하는 역할을 한다면 원할하게 서비스가 제공될 것일텐데요. 그리고 그 이후 클라이언트가 장바구니 기능을 사용하였을 때는 B포드에 서비스 요청을 한다는 상황에서 연결이 끊긴다는 가정하에 클라이언트는 B포드에 다시 서비스 요청을 하는게 일반적인 상황인데 여기서는 그럼 A포드로 다시 요청하는 건가요?  그렇다면 사용자는 계속 로그인을 해야하는 상황일텐데.. 이해가 잘 안갑니다ㅠ

kubernetes docker

답변 2

1

CLOUD SECURITY LAB

안녕하세요 강사 최일선입니다.

처음 클라이언트가 서버에서 로그인 기능을 요청했을 때, 서버의 A포드가 로그인을 담당하는 역할을 한다면 원할하게 서비스가 제공될 것일텐데요. 그리고 그 이후 클라이언트가 장바구니 기능을 사용하였을 때는 B포드에 서비스 요청을 한다는 상황에서 연결이 끊긴다는 가정하에 클라이언트는 B포드에 다시 서비스 요청을 하는게 일반적인 상황인데 여기서는 그럼 A포드로 다시 요청하는 건가요?  그렇다면 사용자는 계속 로그인을 해야하는 상황일텐데.. 이해가 잘 안갑니다ㅠ

위 사례는 사실 극단적인 사례를 하나 들어들인 예입니다. 뒤에 말씀 하신 A와 B 포드가 별도로 운영되는 경우와는 다른 경우로 이해하시면 좋겠습니다. 말씀하신 경우에는 다음 방법 중에 하나로 해결하시면 좋을 듯 합니다.

api gateway에서 인증을 수행하고 뒤쪽에 실제 기능이 있는 API로 연결하는 방법입니다. 아래는 AWS를 사용한 사례이지만 구성 자체는 비슷하다고 이해하시면 좋을 듯 합니다. gateway를 통과할때마다 인증을 수행하는 방식입니다. 허용되지 않는 API 요청을 수행하는 경우에는 403을 반환합니다.

그림 출처: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html


                API Gateway Lambda authorization workflow

두번째 방법은 프론트에서 JWT 토큰을 사용해 auth 서버에 저장하고 이 저장된 권한을 각각의 API 서버에서 확인하는 방법입니다.

https://taes-k.github.io/2019/06/20/spring-msa-4/

다시 말씀드리지만 앞서 제시해드린 사례는 극단적인 하나의 사례를 말씀드린 내용입니다. 세션의 연결을 연속적으로 처리해야 하는 경우에는 세션어피니티를 사용해주시면 좋겠습니다. 그리고 인증관련된 다양한 처리를 위해서는 말씀드린 사례와 같이 여러 형태로 인증을 수행하실 수 있습니다.

감사합니다.

0

김노아

아하 그렇군요.. 

성의있는 답변 감사합니다.

cilium install 오류

0

81

2

external-ip로 지정된 ip주소로 접속되지 않습니다.

0

70

1

Google cloud에서 클러스터를 만드는 중에 다음과 같은 오류가 발생합니다.

0

104

2

강의가 중간에 끊긴 느낌이 듭니다.

0

68

1

이론 강의 pdf 자료 다운로드 문의

0

138

2

vmware 로 가상서버 여러 대 띄울때 고정ip 로 각각 할당하는 법 알려주세요

0

1372

2

강의해주시는 별도의 강의 자료는 없나요 ??

0

202

1

스토리지 클래스

0

218

1

버전관리

0

178

1

강의 흐름 이상

0

256

1

4 쿠버네티스 워크로드에서부터 갑자기

0

250

1

영상이 나오지 않습니다.

1

216

1

kubeadm init 실패(+join할 때도 참고)

2

1480

0

2024년 3월 4일 기준 설치

3

1578

2

loadbalancer 문의 드립니다.

0

229

1

NodePord local 환경에서 안됨

0

404

2

kubectl apply 와 create 차이점

0

888

1

서비스 DNS 연습문제 중 마지막 요청 실패 질문있습니다 (feat. 서비스 생성 실패 해결방법)

0

304

1

master init error

0

549

2

gasbugs/http-go 이미지 에러

1

368

2

GKE 질문입니다

0

295

1

worker에서 join할 때 오류발생

0

556

2

포트포워딩 및 nfs 관련

0

591

1

sessionAffinity 작동관련 질문

0

500

2