Feat: need one Trait to set Rollout strategy of Workload (#5327)

Signed-off-by: StevenLeiZhang <zhangleiic@163.com>
(cherry picked from commit 5d00b2ac73)

Co-authored-by: StevenLeiZhang <zhangleiic@163.com>
This commit is contained in:
github-actions[bot]
2023-01-12 17:19:17 +08:00
committed by GitHub
parent 80b2b2c2d3
commit ce57fbb752
5 changed files with 329 additions and 0 deletions

View File

@@ -0,0 +1,91 @@
```yaml
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: application-with-update-strategy
spec:
components:
- name: helloworld
type: webservice
properties:
cpu: "0.5"
exposeType: ClusterIP
image: oamdev/hello-world:latest
memory: 1024Mi
ports:
- expose: true
port: 80
protocol: TCP
traits:
- type: scaler
properties:
replicas: 5
- type: k8s-update-strategy
properties:
targetAPIVersion: apps/v1
targetKind: Deployment
strategy:
type: RollingUpdate
rollingStrategy:
maxSurge: 20%
maxUnavailable: 30%
---
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: application-node-exporter
spec:
components:
- name: node-exporter
type: daemon
properties:
image: prom/node-exporter
imagePullPolicy: IfNotPresent
volumeMounts:
hostPath:
- mountPath: /host/sys
mountPropagation: HostToContainer
name: sys
path: /sys
readOnly: true
- mountPath: /host/root
mountPropagation: HostToContainer
name: root
path: /
readOnly: true
traits:
- properties:
args:
- --path.sysfs=/host/sys
- --path.rootfs=/host/root
- --no-collector.wifi
- --no-collector.hwmon
- --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/pods/.+)($|/)
- --collector.netclass.ignored-devices=^(veth.*)$
type: command
- properties:
annotations:
prometheus.io/path: /metrics
prometheus.io/port: "8080"
prometheus.io/scrape: "true"
port:
- 9100
type: expose
- properties:
cpu: 0.1
memory: 250Mi
type: resource
- type: k8s-update-strategy
properties:
targetAPIVersion: apps/v1
targetKind: DaemonSet
strategy:
type: RollingUpdate
rollingStrategy:
maxSurge: 20%
maxUnavailable: 30%
```