웹사이트 검색

Kubernetes 명령 치트 시트


이 페이지에서

  1. 전제 조건
  2. 무엇을 보게 될까요?
  3. 중요 명령
    1. 클러스터 정보
    2. 구성 정보
    3. 네임스페이스
    4. 포드
    5. 배포
    6. 서비스
    7. .yaml/.yml 파일에서 개체 관리

    Kubernetes에서 작업하는 동안 최소한 기본 명령을 아는 것이 매우 중요합니다. 이 기사에서는 클러스터에서 작업하는 동안 대부분 필요한 명령을 찾을 수 있습니다. 명령을 알고 있으면 간단한 개체에 대한 개체 정의 파일을 작성하고 해당 파일을 사용하여 개체를 생성하지 않아도 됩니다. 대신 명령을 사용하고 순식간에 생성된 개체를 볼 수 있습니다.

    이 문서에서는 개체의 세부 정보를 가져오는 명령뿐만 아니라 개체를 만드는 명령도 볼 수 있습니다. 이 문서는 해당 명령에 대한 설명이 아닌 명령에만 초점을 맞춥니다. 각각의 모든 명령을 자세히 알고 싶다면 여기에서 공식 문서를 방문할 수 있습니다.

    이 기사는 Kubernetes 클러스터의 핵심 개체와 관련된 치트 시트입니다.

    전제 조건

    1. Kubernetes에 대한 기본적인 이해\n
    2. 워커 노드가 1개 이상 있는 Kubernetes 클러스터.
      Kubernetes 클러스터를 만드는 방법을 알아보려면 여기를 클릭하세요. 이 안내서는 AWS Ubuntu EC2 인스턴스에서 1개의 마스터와 2개의 노드가 있는 Kubernetes 클러스터를 생성하는 데 도움이 됩니다.\n

    우리는 무엇을 볼 것인가?

    1. 중요 명령
      1. 클러스터 정보
      2. 구성 정보
      3. 네임스페이스
      4. 포드
      5. 배포
      6. 서비스
      7. .yaml/.yml 파일에서 개체 관리

      중요한 명령

      클러스터 정보

      클라이언트 및 서버 버전 정보 인쇄

      kubectl version

      서버에서 지원되는 API 리소스 인쇄

      kubectl api-resources

      "그룹/버전" 형식으로 서버에서 지원되는 API 버전을 인쇄합니다.

      kubectl api-versions

      클러스터 정보 인쇄

      kubectl cluster-info

      클러스터의 노드 목록 가져오기

      kubectl  get nodes

      마스터 노드 정보 얻기

      kubectl  get nodes master -o wide

      마스터 노드에 대한 자세한 정보 얻기

      kubectl  describe  nodes  master

      구성 정보

      병합된 kubeconfig 설정 표시

      kubectl  config view

      현재 컨텍스트 보기

      kubectl  config  current-context

      컨텍스트를 설정합니다. 여기서 [email 는 컨텍스트 이름입니다.

      kubectl config  use-context 

      kubeconfig에 정의된 클러스터 표시

      kubectl  config get-clusters

      하나 이상의 컨텍스트 설명

      kubectl  config get-contexts

      네임스페이스

      모든 네임스페이스 가져오기

      kubectl  get namespaces

      yaml 형식으로 네임스페이스 정보 가져오기

      kubectl  get namespaces -o yaml

      기본 네임스페이스 설명

      kubectl  describe  namespace default

      새 네임스페이스 만들기

      kubectl  create namespace my-namespace

      네임스페이스 삭제

      kubectl  delete namespace my-namespace

      포드

      현재 네임스페이스에서 포드 가져오기

      kubectl get pods

      모든 네임스페이스에서 팟(Pod) 가져오기

      kubectl get pods --all-namespaces

      지정된 네임스페이스에서 pod 가져오기

      kubectl get pods -namespace=my-namespace

      포드 만들기

      kubectl  run my-pod-1 --image=nginx:latest --dry-run

      pod가 어떻게 처리되는지 확인하세요.

      kubectl  run my-pod-1 --image=nginx:latest --dry-run=client

      지정된 네임스페이스에 포드 생성

      kubectl  run my-pod-2 --image=nginx:latest --namespace=my-namespace

      레이블이 있는 팟(Pod) 작성

      kubectl  run nginx --image=nginx -l --labels=app=test

      레이블 출력이 있는 모든 팟(Pod) 가져오기

      kubectl get pods --show-labels

      확장/와이드 출력이 있는 포드 가져오기

      kubectl  get pods -o wide

      정렬된 순서로 포드 나열

      kubectl  get pods --sort-by=.metadata.name

      포드의 로그 가져오기

      kubectl  logs  my-pod-1

      확장/와이드 출력으로 지정된 네임스페이스 내에서 포드 가져오기

      kubectl get pods my-pod-2 --namespace=my-namespace -o wide

      지정된 네임스페이스 내에서 포드의 로그 가져오기

      kubectl  logs  my-pod-2 --namespace=my-namespace

      포드 설명

      kubectl  describe  pod my-pod-1

      지정된 네임스페이스 내의 팟(Pod) 설명

      kubectl describe  pods my-pod-1 --namespace=my-namespace

      현재 네임스페이스에서 포드를 삭제합니다.

      kubectl  delete pod my-pod-1

      지정된 네임스페이스에서 pod 삭제

      kubectl delete  pods my-pod-1 --namespace=my-namespace

      배포

      현재 네임스페이스에서 배포 목록 가져오기

      kubectl  get deployments

      지정된 네임스페이스에서 배포 목록 가져오기

      kubectl  get deployments --namespace=my-namespace

      배포 만들기

      kubectl  create deployment my-deployment-1 --image=nginx

      지정된 배포 가져오기

      kubectl  get deployment my-deployment-1

      레이블이 있는 지정된 배포 가져오기

      kubectl  get deployment my-deployment-1 --show-labels

      지정된 배포 설명

      kubectl describe  deployments my-deployment-1

      yaml 형식으로 배포 세부정보 가져오기

      kubectl  get deployment my-deployment-1 -o yaml

      기존 배포에서 이미지 변경

      kubectl  set image deployment my-deployment-1 nginx=nginx:1.16.1

      롤아웃 기록 보기

      kubectl rollout history deployment my-deployment-1

      이전 롤아웃 실행취소

      kubectl rollout undo deployment my-deployment-1

      롤아웃 기록의 특정 버전으로 돌아가기

      kubectl rollout undo deployment my-deployment-1 --to-revision=2

      롤아웃 상태 표시

      kubectl rollout status deployment my-deployment-1

      리소스 다시 시작

      kubectl rollout restart deployment my-deployment-1

      배포를 3개로 확장

      kubectl scale --replicas=3 deployment my-deployment-1

      현재 카운트에서 원하는 값으로 조정

      kubectl scale --current-replicas=3 --replicas=5 deployment my-deployment-1

      그러면 HPA(Horizontal Pod Aotuscaler)가 생성됩니다.

      kubectl autoscale deployment my-deployment-1 --min=2 --max=10

      서비스

      먼저 app=myapp 레이블이 있는 팟(Pod)을 작성하십시오.

      그 다음에:

      레이블이 있는 포드 만들기

      kubectl run my-pod --image=nginx --labels=app=myapp

      선택기에 포드 레이블을 사용할 NodePort 유형의 서비스를 생성하지만 유형을 지정해야 하므로 먼저 정의 파일을 생성한 다음 서비스를 생성합니다.

      kubectl expose pod my-pod --port=80 --name nginx-service --type=NodePort --dry-run=client -o yaml

      유형 유형이 NodePort이지만 선택기가 my-app이 아닌 서비스를 작성하십시오.

      kubectl create service nodeport nginx --tcp=80:80 --node-port=30080 --dry-run=client -o yaml

      현재 컨텍스트에서 서비스 가져오기

      kubectl  get service

      서비스 세부 정보 얻기

      kubectl  get service -o wide

      레이블이 있는 서비스 받기

      kubectl  get service --show-labels

      모든 네임스페이스에서 서비스 가져오기

      kubectl  get services --all-namespaces

      서비스에 대해 자세히 알아보려면 서비스를 설명하세요.

      kubectl  describe  service nginx-service

      특정 서비스 받기

      kubectl  get  service nginx-service

      서비스 삭제

      kubectl  delete service nginx-service

      .yaml/.yml 파일에서 개체 관리

      먼저 포드에 대한 정의 파일을 만듭니다.

      Pod용 정의 파일 만들기

      kubectl  run mypod --image=nginx --dry-run=client -o yaml > my-pod.yml

      개체 만들기

      kubectl  create -f my-pod.yml

      개체 삭제

      kubectl  delete -f my-pod.yml

      결론

      이 기사에서는 Kubernetes에서 작업하는 동안 필요한 중요한 명령을 살펴보았습니다. Kubernetes의 명령은 이러한 명령에만 국한되지 않고 이러한 명령은 "반드시 알아야 하는" 명령과 같습니다.