k8s的pod控制器文件配置详解
注:
本文章只作配置项解释,请灵活运用注:
template下内容参考pod参数(CronJob下template参考Job参数)
---
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name:
namespace:
labels:
controller: rs
spec:
replicas: 3
selector:
matchLabels:
app: nginx-pod
matchExpressions:
- {key: app, operator: In, values: [nginx-pod]}
template:
...
---
apiVersion: apps/v1
kind: Deployment
metadata:
name:
namespace:
labels:
controller: deploy
spec:
replicas: 3
revisionHistoryLimit: 3
paused: false
progressDeadlineSeconds: 600
strategy:
type: [RollingUpdate,Recreate]
rollingUpdate:
maxSurge: 30%
maxUnavailable: 30%
selector:
matchLabels:
app: nginx-pod
matchExpressions:
- {key: app, operator: In, values: [nginx-pod]}
minReadySeconds: number
template:
...
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: pc-hpa
namespace: dev
spec:
minReplicas: number
maxReplicas: number
targetCPUUtilizationPercentage: number
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: nginx
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name:
namespace:
labels:
controller: daemonset
spec:
revisionHistoryLimit: 3
updateStrategy:
type: [RollingUpdate,OnDelete]
rollingUpdate:
maxUnavailable: 1
selector:
matchLabels:
app: nginx-pod
matchExpressions:
- {key: app, operator: In, values: [nginx-pod]}
minReadySeconds: number
template:
...
---
apiVersion: batch/v1
kind: Job
metadata:
name:
namespace:
labels:
controller: job
spec:
completions: 1
parallelism: 1
activeDeadlineSeconds: 30
backoffLimit: 6
manualSelector: true
selector:
matchLabels:
app: counter-pod
matchExpressions:
- {key: app, operator: In, values: [counter-pod]}
template:
...
---
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name:
namespace:
labels:
controller: cronjob
spec:
schedule: * * * * *
concurrencyPolicy: [Allow,Forbid,Replace]
failedJobHistoryLimit: number
successfulJobHistoryLimit: number
startingDeadlineSeconds: number
jobTemplate:
...