apiVersion: v1
kind: Pod
metadata:
name: webapp
labels:
app.kubernetes.io/name: webapp
spec:
containers:
- name: nginx
image: nginx:1.25.1
ports:
- containerPort: 80
kubectl [명령] [유형] [이름] [플래그]
제공되어있는 EC2 인스턴스 중 bastion Host에 접속 수행(Session Manager 이용)
kubectl이 설치되어 있는지 확인 kubectl version --output=yaml

kubectl 이 생성된 것을 확인했기 때문에 생성된 네임스페이스를 보기 위해 아래 명령어를 입력한다. : kubectl get namespaces

현재 workshop 네임스페이스에 배포된 리소스를 보기 위해 다음 명령어를 입력한다. : kubectl get deploy,svc,pod -n workshop
해당 실습에는 3개의 마이크로 서비스로 구성된다.
프런트엔드 마이크로서비스와 백엔드 마이크로서비스 중 하나는 이미 클러스터에 배포되어 있다. 이번 단계에서는 Catalog Detail 마이크로서비스를 배포하고 노출하고자 한다.
export AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
aws configure set region $(curl -s http://169.254.169.254/latest/meta-data/placement/region)
export AWS_REGION=$(aws configure get region)Catalog Detail 마이크로서비스를 배포하기 위해서 먼저 프런트엔드 배포를 수행하는 매니페스트부터 생성한다.
cat << EOF > ~/proddetail-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: proddetail
namespace: workshop
spec:
replicas: 1
selector:
matchLabels:
app: proddetail
template:
metadata:
labels:
app: proddetail
spec:
containers:
- name: proddetail
image: "$AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/eks-workshop-demo/catalog_detail:1.0"
imagePullPolicy: Always
ports:
- name: http
containerPort: 3000
protocol: TCP
resources: {}
EOF
~/proddetail-deployment.yaml 파일로 복사 붙여 넣는다.cat << EOF > ~/proddetail-service.yaml
apiVersion: v1
kind: Service
metadata:
name: proddetail
namespace: workshop
labels:
app: proddetail
annotations:
owner: student
spec:
type: ClusterIP
ports:
- port: 3000
name: http
selector:
app: proddetail
EOFworkshop 네임스페이스에 존재하는 frontend 와 prodcatlog 디플로이먼트 컨테이너 이미지를 업데이트 한다.
kubectl set image deployment/frontend frontend=$AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/eks-workshop-demo/frontend_node:2.0 -n workshop
kubectl set image deployment/prodcatalog prodcatalog=$AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/eks-workshop-demo/product_catalog:1.0 -n workshop
매니패스트 파일을 클러스터에 적용하기 위해 명령어를 입력한다.
kubectl apply -f ~/proddetail-deployment.yaml
kubectl apply -f ~/proddetail-service.yaml
생성 결과 
kubectl get service 명령어를 이용해실행되고 있는 로드밸런서를 확인하고, 이를 이용해 웹 페이지 접근

proddetail 배포 및 서비스에 대한 매니페스트를 생성하고 배포해보았다.