DevBoi

[k8s] 기본 명령어 공부 본문

Infra/[K8S & Docker]

[k8s] 기본 명령어 공부

HiSmith 2022. 8. 27. 14:52
반응형

1)apply - 원하는 상태를 적용한다. 보통 -f 옵션으로 파일과 함께 사용한다.

ex. kubectl apply -f [파일 명 or URL]

kubectl apply -f https://subicura.com/k8s/code/guide/index/wordpress-k8s.yml

이렇게 하면 원격 url에서 배포하는 yml 파일을 댕겨와서 적용 시켜준다.

뭔가 pods,deployment,service 들이 생성된 것을 볼 수 있다.

 

2)get - 리소스 목록을 보여준다.

이제 생성된 것을 봐야겠지?

kubectl get pod

kubectl get pods

kubectl get po

kubectl get pod,service

kubectl get po,svc

kubectl get all

 

위의 명령어를 쳐서 결과를 확인 해보자

참고로 po,svc는 단순히 줄임말이다.

아까 생성된 wordpress의 각각의 오브젝트들이 생성된 것을 확인 했다.

그러면 이제 출력 방식이나 포멧을 바꿔보자

 

kubectl get pod -o wide

kubectl get pod -o yaml

kubectl get pod -o json

kubectl get pod --show-labels

 

이렇게 -o를 이용해서 출력 방식을 바꾸거나, --show로 labels에 대한 출력을 하게 되면

아까 url로 받았던 service, pods, deployment들의 yaml 파일이 어떻게 구성되었는지 볼 수 있다.

이걸 가지고 공부하거나, 복붙을 하면 좋을 듯하다.

 

ex. kubectl get pod -o yaml

kubectl get service -o yaml

 

 

3)describe - 리소스의 상태를 자세하게 보여준다.

이건 각 리소스의 상세 상태를 보는 명령어이다.

kubectl describe [TYPE or NAME]

확인 해보자

 

다만 당황한 점은 단순히 name만 지정하면 안되고 pod/[name] 혹은 service/[name]으로 지정해서 command를 날려야한다.

 

4)delete - 리소스를 제거한다.

describe와 동일한 방식으로 사용한다

하지만 delete를 해도 다시 살아나는 이유는 replicaset이 pod 개수를 유지시켜주기 때문이다.

때문에 삭제를 하면 다른 name의 pod이 생성된다.

 

5)logs - 컨테이너의 로그를 본다.

개인적으로 제일 좋아하는 옵션이다.

뭐든 되든 안되든 공부를 할떄 로그를 제일 많이 보는데 이걸 빨리 보고싶었다.

사용 법은 

kubectl get pod

kubectl logs [name]

kube logds -f [name]

 

pod에 여러개의 컨테이너가 존재하는 경우, -c옵션을 사용해야한다고 한다.

아직 뭐 pod 별로 호출하거나 응답하는게 없어서, 로그가 별다른게 없다. 그냥 단순 생성 로그 정도만 있다.

 

6)exec - 컨테이너에 명령어를 전달 한다. 컨테이너에 접근할떄 주로 사용한다.

kubectl exec -it [name] -- command

ex. kubectl exec -it [POD_NAME] -- bash

이런식으로 해당 Pod에 접속 할 수가 있다.

 

7)config - kubectl의 설정을 관리한다.

kubectl config current-context를 사용해서 현재 컨텍스트를 확인 할 수 있다.

근데 컨텍스트에 대한 개념을 모르겠다.

이건 추후에 공부를 해야겠다.

 

8)etc

kubectl api-resources : 전체 오브젝트 종류 확인

kubectl explain pod : 특정 오브젝트 설명 보기

 

이건 참고 정도 하면되겠다

반응형

'Infra > [K8S & Docker]' 카테고리의 다른 글

[k8s] ReplicaSet 실습  (0) 2022.08.28
[k8s] Pod 생성 및 실습  (0) 2022.08.27
[k8s]Mac에서 데모 준비  (0) 2022.08.27
3.k8s 데모 구현준비  (0) 2022.08.26
2. k8s 오브젝트 분석  (0) 2022.08.26