メトリック・テンプレート・カスタム・リソース定義
メトリック・テンプレートCRDには、デフォルトのKubernetesワークロードのメトリック構成が含まれています。Verrazzanoによってインストールされるデフォルトのメトリック・テンプレートは次のとおりです。
apiVersion: app.verrazzano.io/v1alpha1
kind: MetricsTemplate
metadata:
name: standard-k8s-metrics-template
namespace: verrazzano-system
spec:
workloadSelector:
apiGroups: ["apps", ""]
apiVersions: ["v1"]
resources: ["deployment", "statefulset", "replicaset", "pod"]
prometheusConfig:
targetConfigMap:
namespace: verrazzano-system
name: vmi-system-prometheus-config
scrapeConfigTemplate: |
kubernetes_sd_configs:
- namespaces:
names:
- {{`{{.workload.metadata.namespace}}`}}
role: pod
relabel_configs:
- action: replace
replacement: local
source_labels: null
target_label: verrazzano_cluster
- action: keep
regex: {{`{{index .workload.metadata.labels "app.verrazzano.io/workload"}}`}};true
source_labels:
- __meta_kubernetes_pod_label_app_verrazzano_io_workload
- __meta_kubernetes_pod_annotation_prometheus_io_scrape
- action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
source_labels:
- __address__
- __meta_kubernetes_pod_annotation_prometheus_io_port
target_label: __address__
- action: replace
regex: (.*)
source_labels:
- __meta_kubernetes_pod_annotation_prometheus_io_path
target_label: __metrics_path__
- action: replace
regex: (.*)
replacement: $1
source_labels:
- __meta_kubernetes_namespace
target_label: namespace
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- action: replace
source_labels:
- __meta_kubernetes_pod_name
target_label: pod_name
- action: labeldrop
regex: (controller_revision_hash)
- action: replace
regex: .*/(.*)$
replacement: $1
source_labels:
- name
target_label: webapp
{{`{{ if index .namespace.metadata.labels "istio-injection" }}`}}
{{`{{ if eq (index .namespace.metadata.labels "istio-injection" ) "enabled" }}`}}
scheme: https
tls_config:
ca_file: /etc/istio-certs/root-cert.pem
cert_file: /etc/istio-certs/cert-chain.pem
insecure_skip_verify: true
key_file: /etc/istio-certs/key.pem
{{`{{ end }}`}}
{{`{{ end }}`}}
メトリック・テンプレートの使用方法の詳細は、「メトリック・テンプレート」を参照してください。
MetricsTemplate
フィールド |
型 |
説明 |
必須 |
apiVersion |
文字列 |
app.verrazzano.io/v1alpha1 |
はい |
kind |
文字列 |
MetricsTemplate |
はい |
metadata |
ObjectMeta |
メタデータのフィールドについては、Kubernetes APIのドキュメントを参照してください。 |
いいえ |
spec |
MetricsTemplateSpec |
メトリック・トレイトの希望の状態。 |
はい |
MetricsTemplateSpec
WorkloadSelector
フィールド |
型 |
説明 |
必須 |
namespaceSelector |
LabelSelector |
テンプレートのスコープをネームスペースに設定します。 |
いいえ |
objectSelector |
LabelSelector |
テンプレートのスコープを特定のワークロード・オブジェクトに設定します。 |
いいえ |
apiGroups |
[]string |
テンプレートのスコープを指定されたAPIグループに設定します。 |
いいえ |
apiVersions |
[]string |
テンプレートのスコープを指定されたAPIバージョンに設定します。 |
いいえ |
resources |
[]string |
テンプレートのスコープを指定されたAPIリソースに設定します。 |
いいえ |
PrometheusConfig
フィールド |
型 |
説明 |
必須 |
targetConfigMap |
TargetConfigMap |
scrapeConfigTemplate で指定されたスクレイプ構成で更新されるConfigMapのID。 |
はい |
scrapeConfigTemplate |
文字列 |
Prometheus構成に追加されるスクレイプ構成テンプレート。 |
はい |
TargetConfigMap
フィールド |
型 |
説明 |
必須 |
namespace |
文字列 |
スクレイプ・ターゲット構成で更新されるConfigMapのネームスペース。 |
はい |
name |
文字列 |
スクレイプ・ターゲット構成で更新されるConfigMapの名前。 |
はい |