日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
創(chuàng)新互聯(lián)kubernetes教程:Kubernetes資源指標管道

資源指標管道

對于 Kubernetes,Metrics API 提供了一組基本的指標,以支持自動伸縮和類似的用例。 該 API 提供有關節(jié)點和 Pod 的資源使用情況的信息, 包括 CPU 和內存的指標。如果將 Metrics API 部署到集群中, 那么 Kubernetes API 的客戶端就可以查詢這些信息,并且可以使用 Kubernetes 的訪問控制機制來管理權限。

成都創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網技術服務公司,擁有項目成都網站設計、網站制作網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元廣靈做網站,已為上家服務,為廣靈各地企業(yè)和個人服務,聯(lián)系電話:13518219792

?HorizontalPodAutoscaler ?(HPA) 和 ?VerticalPodAutoscaler ?(VPA) 使用 metrics API 中的數據調整工作負載副本和資源,以滿足客戶需求。

你也可以通過 ?kubectl top? 命令來查看資源指標。

Note:

Metrics API 及其啟用的指標管道僅提供最少的 CPU 和內存指標,以啟用使用 HPA 和/或 VPA 的自動擴展。 如果你想提供更完整的指標集,你可以通過部署使用 Custom Metrics API 的第二個 指標管道來作為簡單的 Metrics API 的補充。

圖 1 說明了資源指標管道的架構。

圖 1. 資源指標管道

圖中從右到左的架構組件包括以下內容:

  • ?cAdvisor?: 用于收集、聚合和公開 Kubelet 中包含的容器指標的守護程序。
  • ?kubelet?: 用于管理容器資源的節(jié)點代理。 可以使用 /metrics/resource 和 /stats kubelet API 端點訪問資源指標。
  • ?Summary API?: kubelet 提供的 API,用于發(fā)現(xiàn)和檢索可通過 /stats 端點獲得的每個節(jié)點的匯總統(tǒng)計信息。
  • ?metrics-server?: 集群插件組件,用于收集和聚合從每個 kubelet 中提取的資源指標。 API 服務器提供 Metrics API 以供 HPA、VPA 和 kubectl top 命令使用。 Metrics Server 是 Metrics API 的參考實現(xiàn)。
  • ?Metrics API?: Kubernetes API 支持訪問用于工作負載自動縮放的 CPU 和內存。 要在你的集群中進行這項工作,你需要一個提供 Metrics API 的 API 擴展服務器。

Note: cAdvisor 支持從 cgroups 讀取指標,它適用于 Linux 上的典型容器運行時。 如果你使用基于其他資源隔離機制的容器運行時,例如虛擬化,那么該容器運行時必須支持  CRI 容器指標 以便 kubelet 可以使用指標。

Metrics API 

FEATURE STATE: Kubernetes 1.8 [beta]

metrics-server 實現(xiàn)了 Metrics API。此 API 允許你訪問集群中節(jié)點和 Pod 的 CPU 和內存使用情況。 它的主要作用是將資源使用指標提供給 K8S 自動縮放器組件。

下面是一個 ?minikube ?節(jié)點的 Metrics API 請求示例,通過 ?jq ?管道處理以便于閱讀:

kubectl get --raw "/apis/metrics.k8s.io/v1beta1/nodes/minikube" | jq '.'

這是使用 ?curl ?來執(zhí)行的相同 API 調用:

curl http://localhost:8080/apis/metrics.k8s.io/v1beta1/nodes/minikube

響應示例:

{
  "kind": "NodeMetrics",
  "apiVersion": "metrics.k8s.io/v1beta1",
  "metadata": {
    "name": "minikube",
    "selfLink": "/apis/metrics.k8s.io/v1beta1/nodes/minikube",
    "creationTimestamp": "2022-01-27T18:48:43Z"
  },
  "timestamp": "2022-01-27T18:48:33Z",
  "window": "30s",
  "usage": {
    "cpu": "487558164n",
    "memory": "732212Ki"
  }
}

下面是一個 ?kube-system? 命名空間中的 ?kube-scheduler-minikube? Pod 的 Metrics API 請求示例, 通過 ?jq? 管道處理以便于閱讀:

kubectl get --raw "/apis/metrics.k8s.io/v1beta1/namespaces/kube-system/pods/kube-scheduler-minikube" | jq '.'

這是使用 ?curl ?來完成的相同 API 調用:

curl http://localhost:8080/apis/metrics.k8s.io/v1beta1/namespaces/kube-system/pods/kube-scheduler-minikube

響應示例:

{
  "kind": "PodMetrics",
  "apiVersion": "metrics.k8s.io/v1beta1",
  "metadata": {
    "name": "kube-scheduler-minikube",
    "namespace": "kube-system",
    "selfLink": "/apis/metrics.k8s.io/v1beta1/namespaces/kube-system/pods/kube-scheduler-minikube",
    "creationTimestamp": "2022-01-27T19:25:00Z"
  },
  "timestamp": "2022-01-27T19:24:31Z",
  "window": "30s",
  "containers": [
    {
      "name": "kube-scheduler",
      "usage": {
        "cpu": "9559630n",
        "memory": "22244Ki"
      }
    }
  ]
}

Metrics API 在 k8s.io/metrics 代碼庫中定義。 你必須啟用 API 聚合層并為 ?metrics.k8s.io? API 注冊一個 APIService。

要了解有關 Metrics API 的更多信息, 請參閱資源 Resource Metrics API Design、 metrics-server 代碼庫 和 Resource Metrics API。

Note: 你必須部署提供 Metrics API 服務的 metrics-server 或其他適配器才能訪問它。

度量資源用量 

CPU 

CPU 報告為以 cpu 為單位測量的平均核心使用率。在 Kubernetes 中, 一個 cpu 相當于云提供商的 1 個 vCPU/Core,以及裸機 Intel 處理器上的 1 個超線程。

該值是通過對內核提供的累積 CPU 計數器(在 Linux 和 Windows 內核中)取一個速率得出的。 用于計算 CPU 的時間窗口顯示在 Metrics API 的窗口字段下。

內存 

內存報告為在收集度量標準的那一刻的工作集大小,以字節(jié)為單位。

在理想情況下,“工作集”是在內存壓力下無法釋放的正在使用的內存量。 然而,工作集的計算因主機操作系統(tǒng)而異,并且通常大量使用啟發(fā)式算法來產生估計。

Kubernetes 模型中,容器工作集是由容器運行時計算的與相關容器關聯(lián)的匿名內存。 工作集指標通常還包括一些緩存(文件支持)內存,因為主機操作系統(tǒng)不能總是回收頁面。

Metrics 服務器 

metrics-server 從 kubelet 中獲取資源指標,并通過 Metrics API 在 Kubernetes API 服務器中公開它們,以供 HPA 和 VPA 使用。 你還可以使用 ?kubectl top? 命令查看這些指標。

metrics-server 使用 Kubernetes API 來跟蹤集群中的節(jié)點和 Pod。metrics-server 服務器通過 HTTP 查詢每個節(jié)點以獲取指標。 metrics-server 還構建了 Pod 元數據的內部視圖,并維護 Pod 健康狀況的緩存。 緩存的 Pod 健康信息可通過 metrics-server 提供的擴展 API 獲得。

例如,對于 HPA 查詢,metrics-server 需要確定哪些 Pod 滿足 Deployment 中的標簽選擇器。

metrics-server 調用 kubelet API 從每個節(jié)點收集指標。根據它使用的度量服務器版本:

  • 版本 v0.6.0+ 中,使用指標資源端點 ?/metrics/resource ?
  • 舊版本中使用 Summary API 端點 ?/stats/summary?

Summary API 來源

Kubelet 在節(jié)點、卷、Pod 和容器級別收集統(tǒng)計信息, 并在Summary API 中提供它們的統(tǒng)計信息供消費者閱讀。

下面是一個 ?minikube ?節(jié)點的 Summary API 請求示例:

kubectl get --raw "/api/v1/nodes/minikube/proxy/stats/summary"

這是使用 ?curl ?來執(zhí)行的相同 API 調用:

curl http://localhost:8080/api/v1/nodes/minikube/proxy/stats/summary

Note:

從 metrics-server 0.6.x 開始,Summary API ?
/stats/summary? 端點被 ?
/metrics/resource? 端點替換。


新聞標題:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes資源指標管道
網址分享:http://www.5511xx.com/article/dhpcojj.html