inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

ClusterIP와 SessionAffinity 실습

sessionAffinity 동작관련

650

jaecheon.jeong

작성한 질문수 14

1

실습에 보여주신 것처럼

kubectl edit svc http-go-svc 를 해서

........

  selector:

    app: http-go

  sessionAffinity: ClientIP

  sessionAffinityConfig:

    clientIP:

      timeoutSeconds: 10800

''''''''

sessionAffinity를 ClientIP로 수정하고 

 

root@master0:~/network# kc run -it --rm --image=busybox sh

실행을 하고 선생님께서 하신것처럼 wget을 실행하면

If you don't see a command prompt, try pressing enter.

/ # wget -O- -q 10.106.148.16

Welcome!  v3 http-go-5dc4cdbff7-czrd7 

/ # wget -O- -q 10.106.148.16

Welcome!  v3 http-go-5dc4cdbff7-czrd7 

/ # wget -O- -q 10.106.148.16

Welcome!  v3 http-go-5dc4cdbff7-jk5gr 

/ # wget -O- -q 10.106.148.16

Welcome!  v3 http-go-5dc4cdbff7-jsxrg 

/ # wget -O- -q 10.106.148.16

Welcome!  v3 http-go-5dc4cdbff7-czrd7 

 

보여주신 것처럼 pod가 고정이 안되고 로드밸런싱이 이루어지는데, 제가 잘못 한 곳이 있을까요?

 

kubectl version: v1.24.0

pod와 svc 정보는 아래와 같습니다.

# pod 정보

root@master0:~/network# kc get pod -o wide

NAME                       READY   STATUS    RESTARTS      AGE   IP           NODE    NOMINATED NODE   READINESS GATES

bash                       1/1     Running   1 (21m ago)   21m   10.0.1.46    node0   <none>           <none>

http-go-5dc4cdbff7-czrd7   1/1     Running   0             30m   10.0.1.106   node0   <none>           <none>

http-go-5dc4cdbff7-f75n5   1/1     Running   0             30m   10.0.1.94    node0   <none>           <none>

http-go-5dc4cdbff7-jk5gr   1/1     Running   0             31m   10.0.1.153   node0   <none>           <none>

http-go-5dc4cdbff7-jsxrg   1/1     Running   0             30m   10.0.1.174   node0   <none>           <none>

http-go-5dc4cdbff7-mk4fm   1/1     Running   0             30m   10.0.1.223   node0   <none>           <none>

 

# svc 정보

root@master0:~/network# kc get svc -o wide

NAME          TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE   SELECTOR

http-go-svc   ClusterIP   10.106.148.16   <none>        80/TCP    31m   app=http-go

kubernetes    ClusterIP   10.96.0.1       <none>        443/TCP   36m   <none>

 

 

 

sessionAffinity docker kubernetes

답변 1

0

CLOUD SECURITY LAB

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

describe 명령으로 서비스 확인 가능하신가요?

혹시 어떤 환경에서 cni를 어떤것으로 사용하셨는지 확인 부탁드립니다.

감사합니다~

0

jaecheon.jeong

os ubuntu 18.4 이구요
cni는 celium으로 했습니다.

root@master0:~# kc describe deployment http-go

Name:                   http-go

Namespace:              default

CreationTimestamp:      Mon, 30 May 2022 17:15:10 +0900

Labels:                 app=http-go

Annotations:            deployment.kubernetes.io/revision: 1

Selector:               app=http-go

Replicas:               5 desired | 5 updated | 5 total | 5 available | 0 unavailable

StrategyType:           RollingUpdate

MinReadySeconds:        0

RollingUpdateStrategy:  25% max unavailable, 25% max surge

Pod Template:

  Labels:  app=http-go

  Containers:

   http-go:

    Image:        jjcheon1/http-go:v4

    Port:         8080/TCP

    Host Port:    0/TCP

    Environment:  <none>

    Mounts:       <none>

  Volumes:        <none>

Conditions:

  Type           Status  Reason

  ----           ------  ------

  Progressing    True    NewReplicaSetAvailable

  Available      True    MinimumReplicasAvailable

OldReplicaSets:  <none>

NewReplicaSet:   http-go-5dc4cdbff7 (5/5 replicas created)

Events:          <none>

 

root@master0:~# kc describe svc http-go

Name:              http-go-svc

Namespace:         default

Labels:            <none>

Annotations:       <none>

Selector:          app=http-go

Type:              ClusterIP

IP Family Policy:  SingleStack

IP Families:       IPv4

IP:                10.106.148.16

IPs:               10.106.148.16

Port:              <unset>  80/TCP

TargetPort:        8080/TCP

Endpoints:         10.0.1.106:8080,10.0.1.153:8080,10.0.1.174:8080 + 2 more...

Session Affinity:  ClientIP

Events:            <none>

 

 

 

0

CLOUD SECURITY LAB

넵 확인 감사합니다.

보여 주신 내용에서는 특이 사항은 없어보입니다.

cilium 설정 확인하셔서 Session affinity가 활성화 되어 있는지 확인이 가능하실까요?

https://docs.cilium.io/en/stable/gettingstarted/kubeproxy-free/#validate-the-setup

감사합니다.

 

1

CLOUD SECURITY LAB

cilium의 기본 설정으로는 동작 되지 않으며 다음 명령을 실행하고

kubectl edit configmap -n kube-system cilium-config

 kube-proxy-replacement 설정을 strict로 변경 후 사용하면 잘 동작하는 것을 확인했습니다. 

 kube-proxy-replacement: strict

감사합니다.

0

jaecheon.jeong

아.. 감사합니다.

cilium install 오류

0

109

2

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

0

82

1

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

0

150

2

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

0

77

1

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

0

151

2

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

0

1448

2

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

0

212

1

스토리지 클래스

0

230

1

버전관리

0

185

1

강의 흐름 이상

0

266

1

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

0

269

1

영상이 나오지 않습니다.

1

228

1

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

2

1530

0

2024년 3월 4일 기준 설치

3

1598

2

loadbalancer 문의 드립니다.

0

238

1

NodePord local 환경에서 안됨

0

418

2

kubectl apply 와 create 차이점

0

913

1

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

0

315

1

master init error

0

561

2

gasbugs/http-go 이미지 에러

1

378

2

GKE 질문입니다

0

304

1

worker에서 join할 때 오류발생

0

575

2

포트포워딩 및 nfs 관련

0

604

1

sessionAffinity 작동관련 질문

0

516

2