--- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/name: echoserver app.kubernetes.io/part-of: echoserver-app app.kubernetes.io/version: 1.0.0-SNAPSHOT name: echoserver spec: ports: - name: http port: 80 targetPort: 8080 selector: app.kubernetes.io/name: echoserver app.kubernetes.io/part-of: echoserver-app app.kubernetes.io/version: 1.0.0-SNAPSHOT type: ClusterIP --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: labels: app.kubernetes.io/name: echoserver app.kubernetes.io/part-of: echoserver-app app.kubernetes.io/version: 1.0.0-SNAPSHOT name: echoserver spec: ingressClassName: nginx rules: - host: echoserver.localdev.me http: paths: - backend: service: name: echoserver port: number: 80 path: / pathType: Prefix status: loadBalancer: ingress: - hostname: localhost --- apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/part-of: echoserver-app app.kubernetes.io/version: 1.0.0-SNAPSHOT app.kubernetes.io/name: echoserver name: echoserver spec: replicas: 1 selector: matchLabels: app.kubernetes.io/part-of: echoserver-app app.kubernetes.io/version: 1.0.0-SNAPSHOT app.kubernetes.io/name: echoserver template: metadata: labels: app.kubernetes.io/part-of: echoserver-app app.kubernetes.io/version: 1.0.0-SNAPSHOT app.kubernetes.io/name: echoserver spec: containers: - env: - name: KUBERNETES_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace image: k8s.gcr.io/echoserver:1.5 imagePullPolicy: Always name: echoserver ports: - containerPort: 8080 name: http protocol: TCP resources: limits: cpu: 10m memory: 20Mi requests: cpu: 5m memory: 5Mi readinessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 2 periodSeconds: 2 livenessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 30 periodSeconds: 10 --- apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: labels: app.kubernetes.io/part-of: echoserver-app app.kubernetes.io/version: 1.0.0-SNAPSHOT app.kubernetes.io/name: echoserver name: echoserver spec: maxReplicas: 4 minReplicas: 1 scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: echoserver targetCPUUtilizationPercentage: 50