작성
·
383
1
CKS 문제 강의 중 첫번째 9번 문항인
질문드립니다.
kubectl create ns namespace-01 cat <<EOF | kubectl create -n namespace-01 -f -
apiVersion: v1 kind: Pod metadata: name: pod-ns-1 labels: ns: pod
spec: containers: - name: container image: kubetm/init ---
apiVersion: v1 kind: Pod metadata: name: pod-ns-2 labels: ns: pod
spec: containers: - name: container image: kubetm/init ---
apiVersion: v1 kind: Pod metadata: name: pod-ns-3 labels: ns: pod
spec: containers: - name: container image: kubetm/init ---
apiVersion: v1 kind: Service metadata: name: service-nm
spec: selector: ns: pod ports: - port: 9000 EOF
문제로 명령어와 yaml을 보면 앞에 kubectl create -n namespace-01 -f - 을 통해서
namespace-01번에 yaml 파일 내용에 있는 파드 3개와 서비스 1개가 생성되는건 알겠는데요.
yaml파일안에 파드 3개에는 service가 지정되어있지않고 라벨만 입력이 되있는걸 확인했는데.
질문1 ) 파드생성시 내용에 service-nm 서비스를 기입하지 않고, 서비스와 파드에 같은 라벨내용만 부여를 했을때
자동으로 그 라벨끼리 매치가 되는건가요?
질문2 ) 위에 내용이 맞다면, 위와 같은 해당 네임스페이스에 파드를 추가생성할때 라벨만 붙여주면
자동으로 같은 라벨을 가지고있는 서비스에 붙나요?
질문3 ) 밑의 명령어 1번은 namespace-01에 있는 서비스를 확인하는 명령어고
2번은 해당 네임스페이스에 해당 라벨이 붙어있는 파드를 확인하는 명령어인데
kubectl get svc -n namespace-01 service-nm -o wide
kubectl get pods -l ns=pod -n namespace-01
해당 서비스에 붙어있는 파드를 확인하는 명령어는 무엇인지 궁금합니다.
ex) kubectl get po -n namespace-01 -svc service-nm 이런식으로요...
밑도끝도 없어서 죄송합니다ㅋㅋㅋㅋ
질문이 많아서 죄송합니다. 항상 강의 너무 잘 듣고있습니다 !!!
답변 1
0
안녕하세요. 답변드리겠습니다.
질문1 ) 파드생성시 내용에 service-nm 서비스를 기입하지 않고, 서비스와 파드에 같은 라벨내용만 부여를 했을때
자동으로 그 라벨끼리 매치가 되는건가요?
답변) pod와 service의 연결은 Service 생성시 selector 이라는 옵션에 의해서 매치가 됩니다.
spec: selector: ns: pod
---------------------------------------------------------------------
질문2 ) 위에 내용이 맞다면, 위와 같은 해당 네임스페이스에 파드를 추가생성할때 라벨만 붙여주면
자동으로 같은 라벨을 가지고있는 서비스에 붙나요?
답변) 같은 라벨을 가지고 있는 서비스에 붙는건 아니고, 같은 Selector을 가지고 있는 서비스에 붙습니다.
---------------------------------------------------------------------
질문3 ) 밑의 명령어 1번은 namespace-01에 있는 서비스를 확인하는 명령어고
2번은 해당 네임스페이스에 해당 라벨이 붙어있는 파드를 확인하는 명령어인데
해당 서비스에 붙어있는 파드를 확인하는 명령어는 무엇인지 궁금합니다.
답변) 한 명령으로 질문하신 내용을 확인 할 수 없습니다.
첫번째 명령으로 서비스의 Selector로 지정된 ns: pod 라는 값을 확인하고
두번째 명령으로 해당 Label을 가지고 있는 Pod를 조회해야 합니다.
감사합니다.