2.6.3.2.4. lookup 関数
lookup
関数は、JSON と互換性のあるマップとして Kubernetes リソースを返します。要求されたリソースが存在しない場合は、空のマップが返されることに注意してください。関数については、以下の構文を確認してください。
func lookup (apiversion string, kind string, namespace string, name string) (value string, err Error)
関数を使用する場合は、Kubernetes リソースの API バージョン、kind、namespace、および name を入力します。以下で、ターゲットのマネージドクラスターで Kubernetes リソースを有効にする設定ポリシーの例を確認してください。metrics-url
データキーの値は、default
namespace から v1/Service
Kubernetes リソースの metrics
を取得するテンプレートであり、クエリーされたリソースにある Spec.ClusterIP
の値に設定されます。
apiVersion: policy.open-cluster-management.io/v1 kind: ConfigurationPolicy metadata: name: demo-lookup namespace: test-templates spec: namespaceSelector: exclude: - kube-* include: - default object-templates: - complianceType: musthave objectDefinition: kind: ConfigMap apiVersion: v1 metadata: name: demo-app-config namespace: test data: # Configuration values can be set as key-value properties app-name: sampleApp app-description: "this is a sample app" metrics-url: | http://{{ (lookup "v1" "Service" "default" "metrics").spec.clusterIP }}:8080 remediationAction: enforce severity: low