본문 바로가기

⭐ Kubernetes & EKS/레이블 & 셀렉터 (Lable & Selector)

레이블과 셀렉터 실습 (service의 셀렉터와 deployment의 셀렉터 매칭)

# 레이블과 셀렉터의 정보를 변경하여 어떤 흐름으로 동작하는지 확인

1. metadata의 name 변경

metadata의 name을 nginx와 nginx-01로 변경하면 아래와 같이 각각의 리소스별로 생성이 된다.

nginx                       nginx-01-6595874d85-5w9sd                                   1/1     Running     0             14s
nginx                       nginx-01-6595874d85-cbrjx                                   1/1     Running     0             14s
nginx                       nginx-01-6595874d85-cq55n                                   1/1     Running     0             14s
nginx                       nginx-01-6595874d85-dwn6r                                   1/1     Running     0             14s
nginx                       nginx-01-6595874d85-jmp7h                                   1/1     Running     0             14s
nginx                       nginx-01-6595874d85-ttprs                                   1/1     Running     0             14s
nginx                       nginx-01-6595874d85-wdfmj                                   1/1     Running     0             14s
nginx                       nginx-01-6595874d85-wnmjx                                   1/1     Running     0             14s
nginx                       nginx-6595874d85-2dxdc                                      1/1     Running     0             122m
nginx                       nginx-6595874d85-6kzqq                                      1/1     Running     0             122m
nginx                       nginx-6595874d85-747xq                                      1/1     Running     0             122m
nginx                       nginx-6595874d85-9xh8g                                      1/1     Running     0             122m
nginx                       nginx-6595874d85-lwvgv                                      1/1     Running     0             122m
nginx                       nginx-6595874d85-m64lr                                      1/1     Running     0             122m
nginx                       nginx-6595874d85-w78n5                                      1/1     Running     0             122m
nginx                       nginx-6595874d85-zwrvw                                      1/1     Running     0             122m

2. lables 의 app 정보를 nginx에서 nginx-01로 변경 후 적용해 보자.

lables의 정보를 변경했다고 해서 서비스가 안되거나 하는것은 아니다.

단지 lables를 통해 해당 리소스를 조회하는 역할이므로 바뀐 이름인 nginx-01로 조회를 해야 조회가 가능하다.

3. selector의 정보를 변경 후 서비스가 정상적으로 이루어 지는지 확인한다.

selector는 아래와 같이 정보가 일치 해야한다.

  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx

4. service의 selector와 deployment의 selector의 관계를 확인

- 여기서  주의할점은 뭐냐면

3가지의 이름이 동일해야 pod가 생성이 된다. (메타데이터의 name, 매치 레이블스의 app, 레이블스의 app)

첫번째,

metadata:
  name: nginx-01

두번째,

  selector:
    matchLabels:
      app: nginx-01

세번째,

  template:
    metadata:
      labels:
        app: nginx-01

5. 결론