ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Kubernetes] kubectl 기본 사용 예제
    Open Source/Kubernetes 2023. 1. 13. 14:34
    반응형

    kubectl 명령어 중 현업에서 자주 사용하고 있는 명령어 정리

    등록된 것 확인

    • kubectl get ... -n <namespace>
    • namespace 를 지정하지 않으면 default 가 기본 네임스페이스가 된다.
    # deploy 확인
    kubectl get deploy -n dev
    ​
    # service 확인
    kubectl get service -n dev
    kubectl get svc -n dev  # 축약어 사용
    ​
    # config-map 확인
    kubectl get configmap -n dev
    kubectl get cm -n dev  # 축약어 사용
    ​
    # 한번에 여러개 확인 (pod, svc, cm)
    kubectl get pod,svc,cm -n dev

    yaml 등 파일을 이용해 k8s 에 적용 하기

    • 먼저 deploy.yml, service.yml 같이 파일로 내용을 정의한다.
    • kubectl 로 파일을 적용한다.
    # deploy.yml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: tester
    namespace: dev
    spec:
    selector:
      matchLabels:
        app: tester
    replicas: 1
    template:
      metadata:
        labels:
          app: tester
      spec:
        securityContext:
          fsGroup: 1000
        containers:
           - name: tester
            image: ubuntu:20.04
            command:
               - /bin/bash
               - -c
               - echo "hello $AAA"
            env:
               - name: AAA
                value: "aaa111"
            volumeMounts:
               - mountPath: /mount
                name: extvolume
        volumes:
           - name: extvolume
            persistentVolumeClaim:
              claimName: pvc-dev
    ​
    # k8s 에 적용
    kubectl apply -f deploy.yml
    ​
    # namespace 지정
    kubectl apply -f deploy.yml -n dev

    pod 이 실제로 동작하는 node 확인방법

    • -o wide 옵션 사용
    kubectl get pod -n dev -o wide

    pod 로그 확인

    # 일반적인 방법
    kubectl logs -f <pod 이름> -n dev
    
    # replica 가 1개인 경우 사용가능한 방법
    kubectl logs -f deploy/<deploy 이름> -n dev
    
    # 10분 이내, 1시간 이내 로그만 표기 방법
    kubectl logs -f <pod 이름> -n dev --since 10m
    
    # tail 사용법
    kubectl logs -f <pod 이름> -n dev --tail 100

    설정값 변경하기

    • 각 설정들을 변경하고 저장을 하면 바로 k8s 클러스터에 적용된다
    # 설정값 열기
    kubectl edit deploy/<deploy-name> -n dev
    ​
    # ... 설정값 수정 및 저장
    # 일반적으로 vi 로 열리기 때문에 저장은 :wq

    각 Pod 의 리소스 상태 보기

    kubectl top pod
    반응형

    댓글

Designed by Tistory.