Pod 만들기 및 삭제

적용 대상: Azure Stack HCI 22H2의 AKS, Windows Server의 AKS

Kubernetes는 Pod를 사용하여 애플리케이션의 인스턴스를 실행합니다. 이 문서에서는 Azure Arc에서 사용하도록 설정된 AKS에서 워크로드를 관리할 때 Pod를 만들고 삭제하는 방법을 설명합니다.

Pod는 애플리케이션의 단일 인스턴스를 나타냅니다. 각 Pod에는 단일 호스트에 함께 배포된 하나 이상의 컨테이너가 있습니다. Pod는 Kubernetes에서 가장 작은 실행 단위입니다. 내부 IP 주소와 포트는 Pod에 할당되며, 이를 통해 Pod 내의 컨테이너는 공통 스토리지 및 네트워크를 공유할 수 있습니다. 서비스, 볼륨 및 네임스페이스와 마찬가지로 Pod는 기본 Kubernetes 개체입니다. Pod는 노드에서 실행되며 컨테이너가 제거될 때까지 실행되는 명확한 수명 주기가 있습니다.

Pod를 만듭니다.

Pod를 만들기 전에 AKS 호스트를 설정하고 Windows PowerShell 사용하여 AKS 클러스터를 만들어야 합니다. Windows Admin Center 사용하여 호스트를 설정하고클러스터를 만들 수도 있습니다.

Kubernetes 클러스터에 연결되어 있는지 확인하려면 다음 명령을 실행합니다.

kubectl get nodes

Pod를 만들려면 다음 명령을 실행합니다. 이 예제에서는 nginx 이미지를 사용하여 Pod를 만듭니다.

kubectl run nginx --image=nginx --restart=Never

매개 변수 -restart=Never를 설정하면 Kubernetes는 배포를 만드는 대신 단일 Pod를 만듭니다.

Pod의 상태 보려면 다음 명령을 실행합니다.

kubectl get pods

Pod의 전체 구성을 보려면 다음 명령을 실행합니다.

kubectl describe pod nginx

Pod 간의 보안 트래픽

Kubernetes의 중요한 기능은 여러 클러스터에서 일관된 정책 적용을 보장하는 것입니다. Pod 간의 연결을 확인한 다음 Pod 트래픽에 대한 기본 네트워크 정책을 적용하는 방법에 대한 자세한 내용은 네트워크 정책을 사용하여 Pod 간 트래픽 보안을 참조하세요.

Pod 삭제

만든 Pod를 삭제하려면 다음 명령을 실행합니다.

kubectl delete pod

예제 Pod 구성

다음 YAML 예제에서는 Pod의 기능을 설명하고 정의, 배포 및 관리할 수 있는 Kubernetes의 가장 작은 단위를 보여 줍니다.

apiVersion: v1 
kind: Pod 
metadata: 
      labels: 
         app: nginx 
      name: nginx 
      namespace: calico-demo 
spec: 
      containers: 
      - name: nginx 
         image: nginx:1.8 
         ports: 
         - containerPort: 80 
      nodeSelector: 
          beta.kubernetes.io/os: linux

다음 단계