wordpress HPA
spec:
mountOptions:
- 'nolock,tcp,noresvport'
- vers=3
- rsize=1048576
- wsize=1048576
- acregmin=60
- acregmax=300
- acdirmin=30
- acdirmax=120
- actimeo=60
- noatime
- timeo=600
- retrans=3
- hard
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: secret-wordpress
data:
WORDPRESS_DB_HOST: XXX
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: XXX
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: wordpress
namespace: wordpress
spec:
minReplicas: 1
maxReplicas: 16
metrics:
- resource:
name: cpu
target:
averageUtilization: 40
type: Utilization
type: Resource
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: wordpress
behavior:
scaleDown:
policies:
- periodSeconds: 15
type: Pods
value: 8
- periodSeconds: 15
type: Percent
value: 100
selectPolicy: Max
stabilizationWindowSeconds: 60
scaleUp:
policies:
- periodSeconds: 10
type: Pods
value: 8
- periodSeconds: 10
type: Percent
value: 200
selectPolicy: Max
stabilizationWindowSeconds: 10
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: wordpress
name: wordpress
spec:
progressDeadlineSeconds: 600
replicas: 2
revisionHistoryLimit: 10
selector:
matchLabels:
app: wordpress
strategy:
rollingUpdate:
maxSurge: 50%
maxUnavailable: 50%
type: RollingUpdate
template:
metadata:
labels:
app: wordpress
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: In
values:
- virtual-kubelet
tolerations:
- effect: NoSchedule
key: virtual-kubelet.io/provider
operator: Exists
containers:
- env:
- name: WORDPRESS_DB_HOST
value: rds-web-01.mysql.rds.aliyuncs.com
- name: WORDPRESS_DB_NAME
value: wordpress
- name: WORDPRESS_DB_USER
value: wordpress
- name: WORDPRESS_DB_PASSWORD
value: Via@wp2026
- name: aliyun_logs_wordpress
value: stdout
image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/wordpress:6.2.2-23
imagePullPolicy: IfNotPresent
name: wordpress
ports:
- containerPort: 80
name: app-port-80
protocol: TCP
resources:
limits:
cpu: '6'
ephemeral-storage: 10Gi
memory: 4Gi
requests:
cpu: '6'
ephemeral-storage: 10Gi
memory: 4Gi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /etc/localtime
name: volume-localtime
- mountPath: /var/www/html/wp-content
name: volume-wordpress
volumes:
- hostPath:
path: /etc/localtime
type: ""
name: volume-localtime
- name: volume-wordpress
persistentVolumeClaim:
claimName: pvc-wordpress
apiVersion: apps.kruise.io/v1alpha1
kind: UnitedDeployment
metadata:
name: ud-wordpress
spec:
replicas: 1
selector:
matchLabels:
env: prod
project: ace
app: wordpress
template:
deploymentTemplate:
metadata:
labels:
app: wordpress
env: prod
project: ace
name: wordpress
spec:
selector:
matchLabels:
app: wordpress
env: prod
project: ace
strategy:
rollingUpdate:
maxSurge: 50%
maxUnavailable: 50%
type: RollingUpdate
template:
metadata:
labels:
app: wordpress
env: prod
project: ace
spec:
containers:
- env:
- name: WORDPRESS_DB_HOST
valueFrom:
secretKeyRef:
key: WORDPRESS_DB_HOST
name: secret-wordpress
- name: WORDPRESS_DB_NAME
valueFrom:
secretKeyRef:
key: WORDPRESS_DB_NAME
name: secret-wordpress
- name: WORDPRESS_DB_USER
valueFrom:
secretKeyRef:
key: WORDPRESS_DB_USER
name: secret-wordpress
- name: WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
key: WORDPRESS_DB_PASSWORD
name: secret-wordpress
- name: aliyun_logs_wordpress
value: stdout
image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/wordpress:6.2.2-23
imagePullPolicy: IfNotPresent
name: wordpress
ports:
- containerPort: 80
name: app-tcp-80
protocol: TCP
resources:
limits:
cpu: "6"
ephemeral-storage: 10Gi
memory: 4Gi
requests:
cpu: "6"
ephemeral-storage: 10Gi
memory: 4Gi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /etc/localtime
name: volume-localtime
- mountPath: /var/www/html/wp-content
name: volume-wordpress
volumes:
- hostPath:
path: /etc/localtime
type: ""
name: volume-localtime
- name: volume-wordpress
persistentVolumeClaim:
claimName: pvc-wordpress
topology:
subsets:
- name: subset-a
nodeSelectorTerm:
matchExpressions:
- key: alibabacloud.com/nodepool-id
operator: In
values:
- npxxx
maxReplicas: 2
minReplicas: 1
- name: subset-b
nodeSelectorTerm:
matchExpressions:
- key: alibabacloud.com/nodepool-id
operator: In
values:
- npxxx
maxReplicas: 2
minReplicas: 0
- name: subset-c
nodeSelectorTerm:
matchExpressions:
- key: type
operator: In
values:
- virtual-kubelet
- key: topology.kubernetes.io/zone
operator: In
values:
- cn-hangzhou-j
tolerations:
- key: virtual-kubelet.io/provider
operator: Exists
minReplicas: 0
- name: subset-d
nodeSelectorTerm:
matchExpressions:
- key: type
operator: In
values:
- virtual-kubelet
- key: topology.kubernetes.io/zone
operator: In
values:
- cn-hangzhou-k
tolerations:
- key: virtual-kubelet.io/provider
operator: Exists
minReplicas: 0
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: wordpress
namespace: wordpress
spec:
minReplicas: 1
maxReplicas: 16
metrics:
- resource:
name: cpu
target:
averageUtilization: 70
type: Utilization
type: Resource
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: wordpress
behavior:
scaleDown:
policies:
- periodSeconds: 15
type: Pods
value: 16
- periodSeconds: 15
type: Percent
value: 300
selectPolicy: Max
stabilizationWindowSeconds: 30
scaleUp:
policies:
- periodSeconds: 10
type: Pods
value: 16
- periodSeconds: 15
type: Percent
value: 300
selectPolicy: Max
stabilizationWindowSeconds: 10