apiVersion: v1 kind: Namespace metadata: name: blue-green-ns --- apiVersion: apps/v1 kind: Deployment metadata: name: green-app namespace: blue-green-ns labels: app: green-app spec: selector: matchLabels: app: green-app replicas: 2 template: metadata: labels: app: green-app spec: containers: - name: green-container image: public.ecr.aws/e1x6y8e1/green:latest ports: - containerPort: 80 resources: limits: memory: "100Mi" cpu: "200m" --- apiVersion: apps/v1 kind: Deployment metadata: name: blue-app namespace: blue-green-ns labels: app: blue-app spec: selector: matchLabels: app: blue-app replicas: 2 template: metadata: labels: app: blue-app spec: containers: - name: blue-container image: public.ecr.aws/e1x6y8e1/blue:latest ports: - containerPort: 80 resources: limits: memory: "100Mi" cpu: "200m" --- apiVersion: v1 kind: Service metadata: namespace: blue-green-ns name: green-service labels: app: green-app annotations: alb.ingress.kubernetes.io/healthcheck-path: /green/index.html spec: type: NodePort selector: app: green-app ports: - port: 80 targetPort: 80 --- apiVersion: v1 kind: Service metadata: namespace: blue-green-ns name: blue-service labels: app: blue-app annotations: alb.ingress.kubernetes.io/healthcheck-path: /blue/index.html spec: type: NodePort selector: app: blue-app ports: - port: 80 targetPort: 80