helm heapsterコンポーネントの導入
3167 ワード
以前の作業で使用されていたk 8 sクラスタ(GKE)は、kubectl top nodeがノードリソースの使用状況を表示することをサポートしていたが、最近、自分のローカルで新しく作ったクラスタはこのコマンドが使えないことを発見した.ネット上で検索したところ、クラスタ指標収集コンポーネントが不足しているため、現在よく使われているクラスタ指標収集コンポーネントはheapsterとmetrics-serverであり、公式紹介を見るとheapsterが徐々に淘汰され、metrics-serverが推奨されている.ただし、後でインストールするkubernetes-dashboardに適合するためにheapsterコンポーネントを使用します.
heapsterコンポーネントはKubernetesが公式にサポートしているコンテナクラスタ監視コンポーネントであり、主にクラスタ指標データを収集して格納するために使用され、収集したデータはgrafana、kubernetes-dashboardなどの可視化グラフに分析を示すことができる.
heapster Chartはhelmの公式提供を使用しています.https://github.com/helm/charts/tree/master/stable/heapster valuesファイルをカスタマイズします.はアリクラウドミラー倉庫を使用し、Chartはデフォルトでk 8 s.gcr.ioを使用し、国内ではミラーを引き下げることができない. rbacサービスアカウントはadminを使用し、デフォルトのdefaultアカウントを使用する権限が小さすぎて、収集指標の時報が間違っています. heapster起動パラメータ--sourceは とエラーを報告します.
E0806 22:11:05.017143 1 manager.go:101] Error in scraping containers from kubelet_summary:192.168.26.10:10255: Get http://192.168.26.10:10255/stats/summary/: dial tcp 192.168.26.10:10255: getsockopt: connection refused
エラーの主な原因はk 8 s 1.12.0以降kubelet 10255ポートがキャンセルされたことです.
詳細は以下を参照してください.https://sealyun.com/post/heapster-error/
カスタマイズされたvaluesファイルはここにあります.https://raw.githubusercontent.com/qhh0205/helm-charts/master/kube-component-values/heapster-values.yml
クラスタサービスアカウントの作成:admin、heapster adminサービスアカウントを使用して、十分な権限があることを確認します
次にhelmインストールを使用してheapsterを配置します.
heapsterのインストールが完了すると、kubectl top nodeを正常に使用できます.
heapster podに問題がある場合は、一般的に次のエラーが表示されます.
heapsterコンポーネントはKubernetesが公式にサポートしているコンテナクラスタ監視コンポーネントであり、主にクラスタ指標データを収集して格納するために使用され、収集したデータはgrafana、kubernetes-dashboardなどの可視化グラフに分析を示すことができる.
kubectl top node
がheapster収集の指標に依存するほか、kubernetes-dashboardもheapsterを必要とし、helmを使用してheapsterコンポーネントを一クリックで配置します.heapster Chartはhelmの公式提供を使用しています.https://github.com/helm/charts/tree/master/stable/heapster valuesファイルをカスタマイズします.
kubernetes:https://kubernetes.default:443?useServiceAccount=true&kubeletHttps=true&kubeletPort=10250&insecure=true
に調整されます.そうしないと、heapsterはE0806 22:11:05.017143 1 manager.go:101] Error in scraping containers from kubelet_summary:192.168.26.10:10255: Get http://192.168.26.10:10255/stats/summary/: dial tcp 192.168.26.10:10255: getsockopt: connection refused
エラーの主な原因はk 8 s 1.12.0以降kubelet 10255ポートがキャンセルされたことです.
--read-only-port int32
The read-only port for the Kubelet to serve on with no authentication/authorization
(set to 0 to disable) (default 10255) (DEPRECATED:
This parameter should be set via the config file specified by the Kubelet's --config flag.
See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ for more information.)
詳細は以下を参照してください.https://sealyun.com/post/heapster-error/
カスタマイズされたvaluesファイルはここにあります.https://raw.githubusercontent.com/qhh0205/helm-charts/master/kube-component-values/heapster-values.yml
クラスタサービスアカウントの作成:admin、heapster adminサービスアカウントを使用して、十分な権限があることを確認します
kubectl create -f https://raw.githubusercontent.com/qhh0205/helm-charts/master/some-apiserver-rs/admin-sa.yml
次にhelmインストールを使用してheapsterを配置します.
helm install stable/heapster --name heapster -f https://raw.githubusercontent.com/qhh0205/helm-charts/master/kube-component-values/heapster-values.yml --namespace kube-system
heapsterのインストールが完了すると、kubectl top nodeを正常に使用できます.
[root@master ~]# kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
master 141m 7% 1096Mi 63%
node1 45m 2% 821Mi 47%
heapster podに問題がある場合は、一般的に次のエラーが表示されます.
[root@master ~]# kubectl top node
error: metrics not available yet