helm heapsterコンポーネントの導入

3167 ワード

以前の作業で使用されていたk 8 sクラスタ(GKE)は、kubectl top nodeがノードリソースの使用状況を表示することをサポートしていたが、最近、自分のローカルで新しく作ったクラスタはこのコマンドが使えないことを発見した.ネット上で検索したところ、クラスタ指標収集コンポーネントが不足しているため、現在よく使われているクラスタ指標収集コンポーネントはheapsterとmetrics-serverであり、公式紹介を見るとheapsterが徐々に淘汰され、metrics-serverが推奨されている.ただし、後でインストールするkubernetes-dashboardに適合するためにheapsterコンポーネントを使用します.
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ファイルをカスタマイズします.
  • はアリクラウドミラー倉庫を使用し、Chartはデフォルトでk 8 s.gcr.ioを使用し、国内ではミラーを引き下げることができない.
  • rbacサービスアカウントはadminを使用し、デフォルトのdefaultアカウントを使用する権限が小さすぎて、収集指標の時報が間違っています.
  • heapster起動パラメータ--sourceは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