반응형
Amazon Elastic Kubernetes Service(EKS)는 Kubernetes 클러스터를 AWS에서 쉽게 설정하고 관리할 수 있도록 돕는 서비스입니다. EKS에서 파드를 생성하려면 Kubernetes 표준 방식으로 kubectl을 사용하여 파드 정의를 작성하고 배포합니다.
아래는 EKS에서 파드를 생성하는 전체 프로세스를 단계별로 설명합니다.
1. EKS 클러스터 준비
먼저 EKS 클러스터와 kubectl이 연결되어 있는지 확인해야 합니다.
(1) AWS CLI로 EKS 클러스터 연결 확인
aws eks --region <region> update-kubeconfig --name <eks-cluster-name>
- <region>: 클러스터가 위치한 AWS 리전 (예: us-east-1).
- <eks-cluster-name>: 클러스터 이름.
(2) 클러스터 연결 테스트
kubectl get nodes
- 클러스터와 연결이 제대로 설정되었다면, 클러스터 내 노드 목록이 표시됩니다.
2. 파드 정의 파일 작성
Kubernetes의 YAML 파일로 파드를 정의합니다. 아래는 샘플 YAML 파일입니다.
파일 이름: pod-example.yaml
apiVersion: v1
kind: Pod
metadata:
name: my-pod
labels:
app: my-app
spec:
containers:
- name: nginx-container
image: nginx:latest
ports:
- containerPort: 80
- metadata.name: 파드 이름.
- spec.containers: 파드 내 컨테이너 설정.
- image: Docker 이미지를 지정 (여기서는 nginx).
- ports.containerPort: 컨테이너에서 노출할 포트.
3. 파드 생성
YAML 파일을 사용하여 파드 생성:
kubectl apply -f pod-example.yaml
생성된 파드 확인:
kubectl get pods
- 상태가 Running이면 파드가 정상적으로 실행 중인 것입니다.
4. 파드 상세 정보 확인
파드의 상세 정보를 확인하려면 다음 명령어를 사용합니다.
kubectl describe pod my-pod
- 파드의 상태, 이벤트, 컨테이너 정보 등이 표시됩니다.
5. 파드 로그 확인
파드에서 실행 중인 컨테이너의 로그를 확인하려면 다음 명령어를 사용합니다.
kubectl logs my-pod
- 단일 컨테이너 파드의 로그가 표시됩니다.
- 여러 컨테이너가 있는 경우, 특정 컨테이너를 지정:
kubectl logs my-pod -c nginx-container
6. 파드 삭제
더 이상 필요 없는 파드를 삭제하려면 다음 명령어를 사용합니다.
kubectl delete pod my-pod
7. 서비스와 함께 사용 (선택 사항)
파드를 직접 생성하는 대신 Deployment 또는 Service로 관리하면 스케일링 및 업데이트가 용이합니다.
Deployment 예제:
deployment-example.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: nginx-container
image: nginx:latest
ports:
- containerPort: 80
Deployment 생성:
kubectl apply -f deployment-example.yaml
중요 참고 사항
- IAM Role 설정:
EKS 클러스터에 적절한 IAM Role과 Node IAM Role이 설정되어야 합니다. - EKS 클러스터 노드 그룹 확인:
노드 그룹이 올바르게 설정되지 않으면 파드가 실행되지 않을 수 있습니다. - 네임스페이스 지정 (선택 사항):
특정 네임스페이스에 파드를 생성하려면 metadata.namespace를 추가하거나 kubectl 명령에서 --namespace 옵션을 사용하세요.
결론
EKS에서 파드 생성은 Kubernetes 표준 방식과 동일하게 kubectl을 사용하여 YAML 파일을 작성하고 배포하면 됩니다. 실무에서는 직접 파드를 생성하기보다는 Deployment를 통해 관리하는 것이 권장됩니다.
EKS 환경이 제대로 설정되었는지 먼저 확인하고, 테스트 파드를 배포하여 정상 동작 여부를 검증하세요! 😊
반응형