#apiVersion: extensions/v1beta1
#kind: Deployment
#metadata:
#  name: kube-state-metrics
#spec:
#  replicas: 1
#  template:
#    metadata:
#      labels:
#        app: kube-state-metrics
#    spec:
#      serviceAccountName: kube-state-metrics
#      securityContext:
#        runAsNonRoot: true
#        runAsUser: 65534
#      containers:
#      - name: kube-state-metrics
#        image: carlosedp/kube-state-metrics:v1.2.0
#        args:
#        - "--host=0.0.0.0"
#        - "--port=8443"
#        - "--telemetry-host=0.0.0.0"
#        - "--telemetry-port=9443"
#        ports:
#        - name: http-main
#          containerPort: 8443
#        - name: http-self
#          containerPort: 9443
#      - name: addon-resizer
#        image: carlosedp/addon-resizer:2.1
#        resources:
#          limits:
#            cpu: 100m
#            memory: 30Mi
#          requests:
#            cpu: 100m
#            memory: 30Mi
#        env:
#          - name: MY_POD_NAME
#            valueFrom:
#              fieldRef:
#                fieldPath: metadata.name
#          - name: MY_POD_NAMESPACE
#            valueFrom:
#              fieldRef:
#                fieldPath: metadata.namespace
#        command:
#          - /pod_nanny
#          - --container=kube-state-metrics
#          - --cpu=100m
#          - --extra-cpu=2m
#          - --memory=150Mi
#          - --extra-memory=30Mi
#          #- --threshold=5
#          - --deployment=kube-state-metrics

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kube-state-metrics
  #namespace: kube-system
spec:
  selector:
    matchLabels:
      k8s-app: kube-state-metrics
  replicas: 1
  template:
    metadata:
      labels:
        k8s-app: kube-state-metrics
    spec:
      serviceAccountName: kube-state-metrics
      containers:
      - name: kube-state-metrics
        #image: quay.io/coreos/kube-state-metrics:v1.3.1
        image: carlosedp/kube-state-metrics:v1.2.0
        ports:
        - name: http-metrics
          containerPort: 8080
        - name: telemetry
          containerPort: 8081
        readinessProbe:
          httpGet:
            path: /healthz
            port: 8080
          initialDelaySeconds: 5
          timeoutSeconds: 5
      - name: addon-resizer
        #image: k8s.gcr.io/addon-resizer:1.7
        image: carlosedp/addon-resizer:2.1
        resources:
          limits:
            cpu: 100m
            memory: 30Mi
          requests:
            cpu: 100m
            memory: 30Mi
        env:
          - name: MY_POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
          - name: MY_POD_NAMESPACE
            valueFrom:
              fieldRef:
                fieldPath: metadata.namespace
        command:
          - /pod_nanny
          - --container=kube-state-metrics
          - --cpu=100m
          - --extra-cpu=1m
          - --memory=100Mi
          - --extra-memory=2Mi
          # Flag isn't available in this version of the addon-resizer
          #- --threshold=5
          - --deployment=kube-state-metrics
