apiVersion: apps/v1
kind: Deployment
metadata:
name: customer-deploy
namespace: wsc-prod
labels:
app: customer
spec:
replicas: 2
selector:
matchLabels:
app: customer
template:
metadata:
labels:
app: customer
spec:
containers:
- name: customer-cnt
image: IMAGE
ports:
- containerPort: 8080
env:
- name: MYSQL_USER
valueFrom:
secretKeyRef:
name: db-credentials
key: MYSQL_USER
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: db-credentials
key: MYSQL_PASSWORD
- name: MYSQL_HOST
valueFrom:
secretKeyRef:
name: db-credentials
key: MYSQL_HOST
- name: MYSQL_PORT
valueFrom:
secretKeyRef:
name: db-credentials
key: MYSQL_PORT
- name: MYSQL_DBNAME
valueFrom:
secretKeyRef:
name: db-credentials
key: MYSQL_DBNAME
IMAGE_URL=$(aws ecr describe-repositories --repository-name customer --query "repositories[].repositoryUri" --output text)
IMAGE_TAG=$(aws ecr describe-images --repository-name customer --query "imageDetails[].imageTags" --output text)
IMAGE="$IMAGE_URL:$IMAGE_TAG"
sed -i "s|IMAGE|$IMAGE|g" deployment.yaml
kubectl apply -f deployment.yaml
apiVersion: v1
kind: Service
metadata:
name: customer-service
namespace: wsc-prod
spec:
selector:
app: customer
ports:
- protocol: TCP
port: 8080
targetPort: 8080
kubectl apply -f service.yaml