Kubernetes 클러스터에서 첫 번째 배포 만들기
이 기사에서는 Kubernetes 클러스터에서 첫 번째 배포를 생성하는 방법을 살펴봅니다. 예를 들어 Nginx용 배포를 생성합니다.
실행 중인 Kubernetes 클러스터가 있으면 그 위에 컨테이너화된 애플리케이션을 배포할 수 있습니다. 이를 달성하기 위해 Kubernetes 배포 구성을 만들 수 있습니다.
배포는 Pod 및 ReplicaSet에 대한 선언적 업데이트를 제공합니다. 우리는 배포에서 원하는 상태를 설명하고 배포 컨트롤러는 제어된 속도로 실제 상태를 원하는 상태로 변경합니다.
\kubectl\ Kubernetes 명령줄 인터페이스를 사용하여 배포를 만들고 관리할 수 있습니다. Kubectl은 Kubernetes API를 사용하여 클러스터와 상호 작용합니다.
배포 수명 주기에는 세 단계가 있습니다.
<올 스타일=텍스트-정렬:왼쪽>
전제 조건
- AWS 계정(없으면 새로 생성)
- Kubernetes 클러스터
참고: AWS EC2 인스턴스에서 시도하지 않으려는 경우 VM을 사용하여 클러스터를 생성할 수도 있습니다.
우리가 할 일
- Nginx용 Kubernetes 배포를 생성합니다.
Nginx용 Kubernetes 배포 생성
첫 번째 배포를 만들려면 개체/배포 파일을 만들기 위한 새 디렉터리를 만들면 됩니다. 다음 명령어를 사용하여 시스템에 새 디렉터리를 만듭니다.
mkdir my-first-deployment
cd my-first-deployment/
계속하기 전에 클러스터의 상태를 확인하십시오.
클러스터에서 사용 가능한 노드를 확인하고 \kubectl\ 버전을 확인하려면 다음 명령을 사용하세요.
sudo kubectl version
sudo kubectl get nodes
클러스터에서 노드를 사용할 수 있으면 배포를 만들 준비가 된 것입니다.
다음 코드 블록으로 \my-first-deployment.yml\ 파일을 만듭니다.
vim my-first-deployment.yml
--- apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
여기,
- apiVersion: APIVersion은 이 개체 표현의 버전 스키마를 정의합니다.
- 종류: 배포, 서비스, Configmap 등과 같이 만들려는 개체의 종류입니다.
- 이름: 이름은 네임스페이스 내에서 고유해야 합니다.
- 라벨: 개체를 구성하고 분류하는 데 사용할 수 있는 문자열 키 및 값의 맵
- 사양: 원하는 배포 동작의 사양입니다.
- replicas: 원하는 포드 수입니다.
- 선택기: 광고 모음의 라벨 선택기입니다. 이로 인해 포드가 선택된 기존 ReplicaSet는 이 배포의 영향을 받습니다. 포드 템플릿의 레이블과 일치해야 합니다.
이제 다음 명령을 사용하여 배포를 만들 준비가 되었습니다.
sudo kubectl apply -f my-first-deployment.yml
sudo kubectl get deployments
위의 스크린샷에서 사용할 수 있는 두 개의 포드로 배포가 생성되었음을 확인할 수 있습니다.
다음 명령어를 사용하여 pod의 세부정보를 가져올 수 있습니다.
sudo kubectl get pods
배포에 대해 자세히 알아보려면 이 \kubectl describe\ 명령을 사용하여 배포에 대한 전체 세부정보를 얻을 수 있습니다.
sudo kubectl get deployments
sudo kubectl describe deployments nginx-deployment
배포가 더 이상 필요하지 않으면 \kubectl delete command\를 사용하여 삭제할 수 있습니다.
sudo kubectl get deployments
sudo kubectl delete deployments nginx-deployment
sudo kubectl get deployments
위의 스크린샷에서 배포가 삭제된 후 더 이상 사용할 수 없음을 확인할 수 있습니다.
배포를 삭제하면 포드도 삭제됩니다.
다음 명령을 사용하여 포드의 가용성을 확인할 수 있습니다.
sudo kubectl get pods
위 스크린샷에서 배포를 삭제한 후 포드가 삭제되어 사용할 수 없는 것을 확인할 수 있습니다.
결론
이 기사에서는 Kubernetes에서 첫 번째 Nginx 배포를 생성하는 단계를 살펴보았습니다. 또한 배포와 관련된 세부 정보를 추출하는 방법도 확인했습니다. 이와 함께 배포를 삭제하는 명령을 살펴보았습니다.