Closed toVersus closed 3 months ago
@toVersus please resubmit the PR against https://github.com/aws/amazon-vpc-cni-k8s/tree/master/charts/cni-metrics-helper. This repo is just a downstream collection of charts from AWS projects, charts are maintained in their own repos.
Thanks for the info! I have resubmitted the PR (https://github.com/aws/amazon-vpc-cni-k8s/pull/2957) in the amazon-vpc-cni-k8s repo.
Issue
xref: https://github.com/aws/amazon-vpc-cni-k8s/pull/2603
To scrape Prometheus metrics using the Prometheus Operator's PodMonitor, container ports must be exposed via PodSpec:
Description of changes
If we set
env.USE_PROMETHEUS
totrue
, the metrics port is defined in the container's port within PodSpec. The port number of cni-metrics-helper cannot be modified, so we can hardcode the port number in Helm chart.Checklist
README.md
for modified charts)version
inChart.yaml
for the modified chart(s)Testing
Setting
env.USE_PROMETHEUS
totrue
:
```yaml --- # Source: cni-metrics-helper/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: cni-metrics-helper namespace: default labels: helm.sh/chart: cni-metrics-helper-1.18.0 app.kubernetes.io/name: cni-metrics-helper app.kubernetes.io/instance: cni-metrics-helper app.kubernetes.io/version: "v1.18.0" app.kubernetes.io/managed-by: Helm --- # Source: cni-metrics-helper/templates/clusterrole.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: cni-metrics-helper rules: - apiGroups: [""] resources: - pods - pods/proxy verbs: ["get", "watch", "list"] --- # Source: cni-metrics-helper/templates/clusterrolebinding.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: cni-metrics-helper labels: helm.sh/chart: cni-metrics-helper-1.18.0 app.kubernetes.io/name: cni-metrics-helper app.kubernetes.io/instance: cni-metrics-helper app.kubernetes.io/version: "v1.18.0" app.kubernetes.io/managed-by: Helm roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cni-metrics-helper subjects: - kind: ServiceAccount name: cni-metrics-helper namespace: default --- # Source: cni-metrics-helper/templates/deployment.yaml kind: Deployment apiVersion: apps/v1 metadata: name: cni-metrics-helper namespace: default labels: k8s-app: cni-metrics-helper spec: revisionHistoryLimit: 10 selector: matchLabels: k8s-app: cni-metrics-helper template: metadata: labels: k8s-app: cni-metrics-helper spec: containers: - env: - name: AWS_CLUSTER_ID value: "" - name: AWS_VPC_K8S_CNI_LOGLEVEL value: "INFO" - name: USE_CLOUDWATCH value: "true" - name: USE_PROMETHEUS value: "true" name: cni-metrics-helper image: "602401143452.dkr.ecr.us-west-2.amazonaws.com/cni-metrics-helper:v1.18.0" ports: - containerPort: 61681 name: metrics serviceAccountName: cni-metrics-helper ```helm template cni-metrics-helper . --set-string env.USE_PROMETHEUS="true"
Setting
env.USE_PROMETHEUS
tofalse
:
```yaml --- # Source: cni-metrics-helper/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: cni-metrics-helper namespace: default labels: helm.sh/chart: cni-metrics-helper-1.18.0 app.kubernetes.io/name: cni-metrics-helper app.kubernetes.io/instance: cni-metrics-helper app.kubernetes.io/version: "v1.18.0" app.kubernetes.io/managed-by: Helm --- # Source: cni-metrics-helper/templates/clusterrole.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: cni-metrics-helper rules: - apiGroups: [""] resources: - pods - pods/proxy verbs: ["get", "watch", "list"] --- # Source: cni-metrics-helper/templates/clusterrolebinding.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: cni-metrics-helper labels: helm.sh/chart: cni-metrics-helper-1.18.0 app.kubernetes.io/name: cni-metrics-helper app.kubernetes.io/instance: cni-metrics-helper app.kubernetes.io/version: "v1.18.0" app.kubernetes.io/managed-by: Helm roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cni-metrics-helper subjects: - kind: ServiceAccount name: cni-metrics-helper namespace: default --- # Source: cni-metrics-helper/templates/deployment.yaml kind: Deployment apiVersion: apps/v1 metadata: name: cni-metrics-helper namespace: default labels: k8s-app: cni-metrics-helper spec: revisionHistoryLimit: 10 selector: matchLabels: k8s-app: cni-metrics-helper template: metadata: labels: k8s-app: cni-metrics-helper spec: containers: - env: - name: AWS_CLUSTER_ID value: "" - name: AWS_VPC_K8S_CNI_LOGLEVEL value: "INFO" - name: USE_CLOUDWATCH value: "true" - name: USE_PROMETHEUS value: "false" name: cni-metrics-helper image: "602401143452.dkr.ecr.us-west-2.amazonaws.com/cni-metrics-helper:v1.18.0" serviceAccountName: cni-metrics-helper ```helm template cni-metrics-helper . --set-string env.USE_PROMETHEUS="false"
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.