apiVersion: apps/v1 kind: Deployment metadata: name: tproxy namespace: adhoc labels: app: tproxy spec: replicas: 3 revisionHistoryLimit: 5 selector: matchLabels: app: tproxy template: metadata: labels: app: tproxy spec: containers: - name: tproxy image: tproxy:v1 ports: - containerPort: 8888 readinessProbe: tcpSocket: port: 8888 initialDelaySeconds: 5 periodSeconds: 10 livenessProbe: tcpSocket: port: 8888 initialDelaySeconds: 15 periodSeconds: 20 resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1024Mi volumeMounts: - name: timezone mountPath: /etc/localtime volumes: - name: timezone hostPath: path: /usr/share/zoneinfo/Asia/Shanghai --- apiVersion: v1 kind: Service metadata: name: tproxy-svc namespace: adhoc spec: ports: - nodePort: 30001 port: 8888 protocol: TCP targetPort: 8888 type: NodePort selector: app: tproxy --- apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: name: tproxy-hpa-c namespace: adhoc labels: app: tproxy-hpa-c spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: tproxy minReplicas: 3 maxReplicas: 10 metrics: - type: Resource resource: name: cpu targetAverageUtilization: 80 --- apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: name: tproxy-hpa-m namespace: adhoc labels: app: tproxy-hpa-m spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: tproxy minReplicas: 3 maxReplicas: 10 metrics: - type: Resource resource: name: memory targetAverageUtilization: 80