173 lines
3.7 KiB
YAML
173 lines
3.7 KiB
YAML
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: nic-namespace
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
creationTimestamp: null
|
|
name: hello-world
|
|
namespace: hello-world
|
|
spec: {}
|
|
status: {}
|
|
|
|
---
|
|
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Rollout
|
|
metadata:
|
|
name: hello-world-bluegreen
|
|
namespace: hello-world
|
|
spec:
|
|
replicas: 2
|
|
revisionHistoryLimit: 2
|
|
selector:
|
|
matchLabels:
|
|
app: rollout-bluegreen
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: rollout-bluegreen
|
|
spec:
|
|
containers:
|
|
- name: hello-world
|
|
image: docker.io/waylonwalker/learn-rollouts:v3
|
|
ports:
|
|
- containerPort: 5000
|
|
strategy:
|
|
blueGreen:
|
|
# activeService specifies the service to update with the new template hash at time of promotion.
|
|
# This field is mandatory for the blueGreen update strategy.
|
|
activeService: hello-world-active
|
|
# previewService specifies the service to update with the new template hash before promotion.
|
|
# This allows the preview stack to be reachable without serving production traffic.
|
|
# This field is optional.
|
|
previewService: hello-world-preview
|
|
# autoPromotionEnabled disables automated promotion of the new stack by pausing the rollout
|
|
# immediately before the promotion. If omitted, the default behavior is to promote the new
|
|
# stack as soon as the ReplicaSet are completely ready/available.
|
|
# Rollouts can be resumed using: `kubectl argo rollouts promote ROLLOUT`
|
|
autoPromotionEnabled: false
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: hello-world-active
|
|
namespace: hello-world
|
|
spec:
|
|
ports:
|
|
- name: "5000"
|
|
port: 5000
|
|
targetPort: 5000
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: hello-world-preview
|
|
namespace: hello-world
|
|
spec:
|
|
# selector:
|
|
# app: hello-world
|
|
ports:
|
|
- name: "5000"
|
|
port: 5000
|
|
targetPort: 5000
|
|
|
|
# ---
|
|
#
|
|
# apiVersion: apps/v1
|
|
# kind: Deployment
|
|
# metadata:
|
|
# labels:
|
|
# app: hello-world
|
|
# name: hello-world-deployment
|
|
# namespace: hello-world
|
|
# spec:
|
|
# replicas: 1
|
|
# selector:
|
|
# matchLabels:
|
|
# app: hello-world
|
|
# template:
|
|
# metadata:
|
|
# labels:
|
|
# app: hello-world
|
|
# spec:
|
|
# containers:
|
|
# - image: docker.io/waylonwalker/learn-rollouts:v2
|
|
# name: hello-world
|
|
# ports:
|
|
# - containerPort: 5000
|
|
#
|
|
---
|
|
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
labels:
|
|
service: hello-world
|
|
name: hello-world-ingress
|
|
namespace: hello-world
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- backend:
|
|
service:
|
|
name: hello-world-active
|
|
port:
|
|
number: 5000
|
|
path: /active
|
|
pathType: Prefix
|
|
|
|
- http:
|
|
paths:
|
|
- backend:
|
|
service:
|
|
name: hello-world-preview
|
|
port:
|
|
number: 5000
|
|
path: /preview
|
|
pathType: Prefix
|
|
status:
|
|
loadBalancer: {}
|
|
|
|
|
|
|
|
# ---
|
|
#
|
|
# apiVersion: v1
|
|
# kind: Service
|
|
# metadata:
|
|
# name: hello-world-active
|
|
# namespace: hello-world
|
|
# spec:
|
|
# type: NodePort # Change service type to NodePort
|
|
# ports:
|
|
# - name: "5000"
|
|
# port: 5000
|
|
# targetPort: 5000
|
|
# nodePort: 30001 # Specify a node port (you can choose any available port)
|
|
# selector:
|
|
# app: rollout-bluegreen
|
|
#
|
|
# ---
|
|
# apiVersion: v1
|
|
# kind: Service
|
|
# metadata:
|
|
# name: hello-world-preview
|
|
# namespace: hello-world
|
|
# spec:
|
|
# type: NodePort # Change service type to NodePort
|
|
# ports:
|
|
# - name: "5000"
|
|
# port: 5000
|
|
# targetPort: 5000
|
|
# nodePort: 30002 # Specify a different node port (make sure it's available)
|
|
# selector:
|
|
# app: rollout-bluegreen
|