metadata-proxy.yaml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. apiVersion: v1
  2. kind: ServiceAccount
  3. metadata:
  4. name: metadata-proxy
  5. namespace: kube-system
  6. labels:
  7. k8s-app: metadata-proxy
  8. kubernetes.io/cluster-service: "true"
  9. addonmanager.kubernetes.io/mode: Reconcile
  10. ---
  11. apiVersion: apps/v1
  12. kind: DaemonSet
  13. metadata:
  14. name: metadata-proxy-v0.1
  15. namespace: kube-system
  16. labels:
  17. k8s-app: metadata-proxy
  18. kubernetes.io/cluster-service: "true"
  19. addonmanager.kubernetes.io/mode: Reconcile
  20. version: v0.1
  21. spec:
  22. selector:
  23. matchLabels:
  24. k8s-app: metadata-proxy
  25. version: v0.1
  26. updateStrategy:
  27. type: RollingUpdate
  28. template:
  29. metadata:
  30. labels:
  31. k8s-app: metadata-proxy
  32. kubernetes.io/cluster-service: "true"
  33. version: v0.1
  34. # This annotation ensures that the proxy does not get evicted if the node
  35. # supports critical pod annotation based priority scheme.
  36. # Note that this does not guarantee admission on the nodes (#40573).
  37. annotations:
  38. scheduler.alpha.kubernetes.io/critical-pod: ''
  39. spec:
  40. priorityClassName: system-node-critical
  41. serviceAccountName: metadata-proxy
  42. hostNetwork: true
  43. dnsPolicy: Default
  44. tolerations:
  45. - operator: "Exists"
  46. effect: "NoExecute"
  47. - operator: "Exists"
  48. effect: "NoSchedule"
  49. containers:
  50. - name: metadata-proxy
  51. image: k8s.gcr.io/metadata-proxy:v0.1.12
  52. securityContext:
  53. privileged: true
  54. # Request and limit resources to get guaranteed QoS.
  55. resources:
  56. requests:
  57. memory: "25Mi"
  58. cpu: "30m"
  59. limits:
  60. memory: "25Mi"
  61. cpu: "30m"
  62. # BEGIN_PROMETHEUS_TO_SD
  63. - name: prometheus-to-sd-exporter
  64. image: k8s.gcr.io/prometheus-to-sd:v0.5.0
  65. # Request and limit resources to get guaranteed QoS.
  66. resources:
  67. requests:
  68. memory: "20Mi"
  69. cpu: "2m"
  70. limits:
  71. memory: "20Mi"
  72. cpu: "2m"
  73. command:
  74. - /monitor
  75. - --stackdriver-prefix={{ prometheus_to_sd_prefix }}/addons
  76. - --api-override={{ prometheus_to_sd_endpoint }}
  77. - --source=metadata_proxy:http://127.0.0.1:989?whitelisted=request_count
  78. - --pod-id=$(POD_NAME)
  79. - --namespace-id=$(POD_NAMESPACE)
  80. env:
  81. - name: POD_NAME
  82. valueFrom:
  83. fieldRef:
  84. fieldPath: metadata.name
  85. - name: POD_NAMESPACE
  86. valueFrom:
  87. fieldRef:
  88. fieldPath: metadata.namespace
  89. # END_PROMETHEUS_TO_SD
  90. nodeSelector:
  91. # TODO(liggitt): switch to cloud.google.com/metadata-proxy-ready=true in v1.16
  92. beta.kubernetes.io/metadata-proxy-ready: "true"
  93. beta.kubernetes.io/os: linux
  94. terminationGracePeriodSeconds: 30