Red HatでOpenShiftのサポートをしているid:nekopです。OpenShift 全部俺 Advent Calendar 2018 - Qiitaの9日目のエントリです。
OpenShift 3.11以前ではopenshfit-infra
プロジェクトのheapster
コンポーネントを利用してHPA (Horizontal Pod Autoscaler)やoc adm top
コマンドが動作していました。3.11ではこのheapsterを含むHawkular Metricsスタックが非推奨になり、かわりにmetrics-serverが用意されています。
metrics-serverがインストールされていない場合は以下のplaybookでインストールできます。
ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/metrics-server/config.yml -e openshift_metrics_server_install=true
oc adm top
コマンドなどメトリクスを利用するサービスはAPI extension v1beta1.metrics.k8s.io
が登録されている場合、そちらを利用してメトリクス情報にアクセスします。登録されていない場合はheapsterにフォールバックします。v1beta1.metrics.k8s.io
の実体はopenshift-metrics-server
プロジェクトのmetrics-server
サービスとなっています。
$ oc adm top pod NAME CPU(cores) MEMORY(bytes) docker-registry-1-q4q2r 1m 507Mi registry-console-1-c6zxk 0m 5Mi router-1-n8nlf 2m 39Mi router-1-pdt7p 2m 40Mi router-1-z958d 2m 40Mi
oc adm top pod -n default
コマンドに--loglevel=7
オプションを付与すると以下のリクエストが発行されていることがわかります。
GET https://master.example.com:443/apis/metrics.k8s.io/v1beta1/namespaces/default/pods