ABOUT ME

Today
Yesterday
Total
  • Kubernetes) kubectl 명령어를 알아보기
    Cloud/Kubernetes 2022. 10. 12. 00:03
    학습 목표 : kubernetes의 cluster를 사용하기위한 kubectl명령어에 대해 알아본다.

    kubctl 이란?

    • Kubernetes 상태를 확인하고 원하는 상태로 요청하는 client 명령
    • Kubernetes cluster에 명령을 내린다.
    • CLI 형태로 사용한다.


    kubeconfig 파일

    • kubectl 명령 동작시 $HOME/.kube 디렉토리에서 config file을 찾는다.
    • KUBECONFIG 환경변수를 설정하거나 --kubeconfig flag를 사용하여 다른 kubeconfig 파일을 사용할 수 있다.


    kubectl 명령어

    kubectl [command] [Type] [NAME] [flags]


    (1) command
        -  하나 이상의 리소스(object)에서 수행하려는 동작지점
        -  create, run, apply, get, describe, delete, exec, logs, config 등 여러 command가 있다.
        -  get command

    # 1. POD, Replicaset, Depolyment, Service, Job 전체목록 출력
    kubectl get all
    
    # 2. cluster 내 node(pod) 목록 출력
    kubectl get nodes
    
    # 3. node(또는 pod) 목록정보 상세 출력
    kubectl get nodes(또는 pods) -o wide
    
    # 4. node(또는 pod) 정보를 yaml 형식으로 출력
    kubectl get node(또는 pod) <node/pod 이름> -o yaml
    
    # 5. label을 포함하여 pod 목록 출력
    kubectl get pods -shows-labels

        -  describe command

    # 1. 리소스에 대한 상세정보 출력 (초기화 되지않은 리소스도 포함)
    kubectl describe [리소스 이름]

        -  apply command

    # 1. 하나 이상의 서비스를 생성
    kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/main/content/ko/examples/application/simple_deployment.yaml
    # kubectl apply -f [yaml파일(현재 시스템/원격지 시스템 경로 포함)]

        -  delete command

    # 1. 생성시 사용한 yaml을 이용하여 리소스 삭제
    kubectl delete -f [yaml 파일]
    
    # 2. TYPE에 해당하는 NAME의 리소스 삭제
    kubectl delete [TYPE] [NAME]
    
    # 3. 해당 pod 삭제
    kubectl delete [pod NAME]

        -  logs, exec, config command

    # 1. pod의 log를 확인하는 log 커맨드
    kubectl logs POD [-c container] [--follow] [flags]
    
    # 2. 특정 pod에 대하여 명령을 실행하는 exec 커맨드
    kubectl exec [pod NAME] -it/bin/bash
    
    # 3. config 파일내용을 확인하는 config 커맨드
    kubectl config view


    (2) TYPE
        -  리소스Type을 지정한다.
        -  리소스 Type은 대소문자를 구분하지 않는다.
        -  단수형,복수형 또는 약어 형식으로 지정한다.

    (3) NAME
        -  대소문자를 구분하며 리소스이름을 지정한다.
        -  해당 옵션을 생략하면, 모든 리소스를 지정하거나 하나 이상의 file을 지정해야 한다.
        -  리소스가 모두 동일한 TYPE인 경우 리소스를 그룹화 하려면 다음 형식을 사용한다.

    kubectl get pod example-pod1 example-pod2
    # kubectl get <TYPE> <name1> <name2> ...

        -  여러 리소스 TYPE을 개별적으로 지정하려면 다음 형식을 사용한다.

    kubectl get pod/example-pod1 replicationcontroller/example-rc1
    # kubectl get <TYPE1>/<name1> <TYPE2>/<name2> ...


    (4) flags
        -  flags 옵션은 필요한경우 사용한다.
        -  출력 형식을 지정하는 옵션

    -o <flag 내용>

        -  파일을 지정하는 옵션

    -f <파일명>

    기타 kubectl 명령어


    (1) kubectl 명령목록 출력하기
    kubectl

    (2) command에 대한 도움말

    kubectl [command] --help

     

    (3) 현재 cluster에서 사용가능한 API 버전 정보 보기

    kubectl api-versions


    (4) 사용할 수 있는 resource 목록 출력하기

    kubectl api-resources


    (5) config 파일 내용 출력하기

    kubectl config view



    참고

     

    쿠버네티스 kubectl 설명 및 예제 모음

    kubectl은 쿠버네티스 클러스터에 명령을 내리는 CLI(command line interface)입니다. kubectl 문법(바로가기) kubectl 예제(바로가기) kubectl 문법 terminal window에서 아래와 같은 명령어로 kubectl을 동작..

    blog.voidmainvoid.net



    댓글

Designed by Tistory.