vSphere 7.x 用の TKr を使用してプロビジョニングされた TKG クラスタに Grafana をインストールするには、次の手順を参照してください。
前提条件
Grafana のインストール
Grafana をインストールします。
- リポジトリで使用可能な Grafana バージョンを一覧表示します。
kubectl get packages -n tkg-system | grep grafana
- Grafana 名前空間を作成します。
kubectl create ns tanzu-system-dashboards
- 名前空間の PSA ラベルを作成します。
kubectl label namespace tanzu-system-dashboards pod-security.kubernetes.io/enforce=privileged
- または、
ns-grafana-dashboard.yaml
ファイルを使用して Grafana 名前空間とラベルを宣言によって作成します。apiVersion: v1kind: Namespace metadata: name: grafana-dashboard --- apiVersion: v1 kind: Namespace metadata: name: tanzu-system-dashboards labels: pod-security.kubernetes.io/enforce: privileged
grafana-data-values.yaml
を作成します。Grafana パッケージのリファレンスを参照してください。
grafana-data-values.yaml
ファイルを入力として使用してシークレットを作成します。kubectl create secret generic grafana-data-values --from-file=values.yaml=grafana-data-values.yaml -n tkg-system
secret/grafana-data-values created
- シークレットを確認します。
kubectl get secrets -A
kubectl describe secret grafana-data-values -n tkg-system
- 必要に応じて、環境用に
grafana-data-values
をカスタマイズします。Grafana パッケージのリファレンスを参照してください。
データ値を更新する場合は、次のコマンドを使用してシークレットを更新します。kubectl create secret generic grafana-data-values --from-file=values.yaml=grafana-data-values.yaml -n tkg-system -o yaml --dry-run=client | kubectl replace -f-
secret/grafana-data-values replaced
grafana.yaml
仕様を作成します。vSphere 7.x 用の TKr への Grafana のインストールを参照してください。
- Grafana をインストールします。
kubectl apply -f grafana.yaml
serviceaccount/grafana-sa created clusterrolebinding.rbac.authorization.k8s.io/grafana-role-binding created packageinstall.packaging.carvel.dev/grafana created
- Grafana パッケージのインストールを確認します。
kubectl get pkgi -A | grep grafana
- Grafana オブジェクトを確認します。
kubectl get all -n tanzu-system-dashboards
Envoy LoadBalancer を使用した Grafana ダッシュボードへのアクセス
LoadBalancer タイプの前提条件である Contour Envoy サービスがデプロイされていて、Grafana 構成ファイル内で指定されている場合は、ロード バランサの外部 IP アドレスを取得し、Grafana FQDN の DNS レコードを作成します。
- LoadBalancer タイプの Envoy サービスの
External-IP
アドレスを取得します。kubectl get service envoy -n tanzu-system-ingress
返されたExternal-IP
アドレスが次の例のように表示されます。NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE envoy LoadBalancer 10.99.25.220 10.195.141.17 80:30437/TCP,443:30589/TCP 3h27m
または、次のコマンドを使用してExternal-IP
アドレスを取得することもできます。kubectl get svc envoy -n tanzu-system-ingress -o jsonpath='{.status.loadBalancer.ingress[0]}'
- Grafana 拡張機能のインストールを確認するには、次の例のように、ロード バランサの
External-IP
アドレスにマッピングされる Grafana の FQDN を指定してローカルの/etc/hosts
ファイルを更新します。127.0.0.1 localhost 127.0.1.1 ubuntu #TKG Grafana Extension with Envoy Load Balancer 10.195.141.17 grafana.system.tanzu
https://grafana.system.tanzu
に移動して、Grafana ダッシュボードにアクセスします。サイトでは自己署名証明書が使用されるため、ダッシュボードにアクセスする前にブラウザ固有のセキュリティ警告を確認しなければならない場合があります。
- 本番環境にアクセスする場合は、DNS サーバで 2 つの CNAME レコードを作成し、Envoy サービス ロード バランサの
External-IP
アドレスを Grafana ダッシュボードにマッピングします。
Envoy NodePort を使用した Grafana ダッシュボードへのアクセス
NodePort タイプの前提条件である Contour Envoy サービスがデプロイされていて、Grafana 構成ファイル内で指定されている場合は、ワーカー ノードの仮想マシン IP アドレスを取得し、Grafana FQDN の DNS レコードを作成します。
- クラスタがプロビジョニングされている vSphere 名前空間 にコンテキストを切り替えます。
kubectl config use-context VSPHERE-NAMESPACE
- クラスタ内のノードを一覧表示します。
kubectl get virtualmachines
- ワーカー ノードの 1 つを選択し、次のコマンドを使用して記述します。
kubectl describe virtualmachines tkgs-cluster-X-workers-9twdr-59bc54dc97-kt4cm
Vm Ip: 10.115.22.43
などの仮想マシンの IP アドレスを見つけます。- Grafana 拡張機能のインストールを確認するには、次の例のように、ワーカー ノードの IP アドレスにマッピングされる Grafana の FQDN を指定してローカルの
/etc/hosts
ファイルを更新します。127.0.0.1 localhost 127.0.1.1 ubuntu # TKG Grafana with Envoy NodePort 10.115.22.43 grafana.system.tanzu
https://grafana.system.tanzu
に移動して、Grafana ダッシュボードにアクセスします。サイトでは自己署名証明書が使用されるため、ダッシュボードにアクセスする前にブラウザ固有のセキュリティ警告を確認しなければならない場合があります。
grafana-data-values.yaml
次の
grafana-data-values.yaml
ファイルの例を参照してください。
namespace: tanzu-system-dashboards grafana: pspNames: "vmware-system-restricted" deployment: replicas: 1 updateStrategy: Recreate pvc: accessMode: ReadWriteOnce storage: 2Gi storageClassName: wcpglobalstorageprofile secret: admin_user: YWRtaW4= admin_password: YWRtaW4= type: Opaque service: port: 80 targetPort: 3000 type: LoadBalancer ingress: enabled: true prefix: / servicePort: 80 virtual_host_fqdn: grafana.system.tanzu
grafana.yaml
次の
grafana.yaml
仕様の例を参照してください。必要に応じて、パッケージのバージョンを更新します。
apiVersion: v1 kind: ServiceAccount metadata: name: grafana-sa namespace: tkg-system annotations: pod-security.kubernetes.io/enforce: "privileged" --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: grafana-role-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: grafana-sa namespace: tkg-system --- apiVersion: packaging.carvel.dev/v1alpha1 kind: PackageInstall metadata: name: grafana namespace: tkg-system spec: serviceAccountName: grafana-sa packageRef: refName: grafana.tanzu.vmware.com versionSelection: constraints: 10.0.1+vmware.1-tkg.2 #PKG-VERSION values: - secretRef: name: grafana-data-values