国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

k8s與健康檢查--grpc服務健康檢查最佳實踐

maochunguang / 2891人閱讀

摘要:在本文中,我們將討論,一種本地健康檢查應用程序的方法。標準的健康檢查工具,可以輕松查詢健康協議。選擇二進制版本并將其下載到中在你的中指定容器的。服務器健康檢查的代碼實現,主要部分如下完整代碼,請查看倉庫。

前言

GRPC正在成為云原生微服務之間通信的通用語言。如果您今天要將gRPC應用程序部署到Kubernetes,您可能想知道配置運行狀況檢查的最佳方法。在本文中,我們將討論grpc-health-probe,一種Kubernetes本地健康檢查gRPC應用程序的方法。

果您不熟悉,Kubernetes健康檢查(liveness and readiness probes)就是讓您的應用程序在您睡覺時保持可用的原因。他們檢測到沒有響應的pod,將它們標記為不健康,并導致這些pod重新啟動或重新調度。

kubernetes本身不支持gRPC健康檢查。這使得gRPC開發人員在部署到Kubernetes時有以下三種方法:

httpGet probe: 不能與gRPC原生使用。您需要重構您的應用程序以同時提供gRPC和HTTP / 1.1協議(在不同的端口號上)。

tcpSocket probe: 打開套接字到gRPC服務器是沒有意義的,因為它無法讀取響應正文。

exec probe: 這會定期調用容器生態系統中的程序。對于gRPC,這意味著您自己實現健康RPC,然后使用編寫客戶端工具,并將客戶端工具與容器打包到一起。

grpc-health-probe 解決方案

為了標準化上面提到的“exec探針”方法,我們需要:

標準的健康檢查“協議”,可以輕松地在任何gRPC服務器中實現。

標準的健康檢查“工具”,可以輕松查詢健康協議。

得慶幸的是,gRPC有一個標準的健康檢查協議。它可以從任何語言輕松使用。生成的代碼和用于設置運行狀況的實用程序幾乎都在gRPC的所有語言實現中提供。

如果在gRPC應用程序中實現此運行狀況檢查協議,則可以使用標準/通用工具調用此Check()方法來確定服務器狀態。

下來你需要的是“標準工具”,它是grpc-health-probe。

使用此工具,您可以在所有gRPC應用程序中使用相同的運行狀況檢查配置。這種方法需要你:

選擇您喜歡的語言找到gRPC“health”模塊并開始使用它(例如Go庫)。

將grpc_health_probe二進制文件打到容器中。

配置Kubernetes“exec”探針以調用容器中的“grpc_health_probe”工具。

示例

您可以將靜態編譯的grpc_health_probe打在容器映像中。選擇二進制版本并將其下載到Dockerfile中:

RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && 
    wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && 
    chmod +x /bin/grpc_health_probe

在你的 Kubernetes Pod manifest中,指定容器的 livenessProbe and/or readinessProbe 。

spec:
  containers:
  - name: server
    image: "[YOUR-DOCKER-IMAGE]"
    ports:
    - containerPort: 5000
    readinessProbe:
      exec:
        command: ["/bin/grpc_health_probe", "-addr=:5000"]
      initialDelaySeconds: 5
    livenessProbe:
      exec:
        command: ["/bin/grpc_health_probe", "-addr=:5000"]
      initialDelaySeconds: 10
    
    

服務器健康檢查的代碼實現,主要部分如下:

    hsrv := health.NewServer()
    hsrv.SetServingStatus("", healthpb.HealthCheckResponse_SERVING)
    healthpb.RegisterHealthServer(s, hsrv)

完整代碼,請查看git倉庫。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/33135.html

相關文章

  • k8s健康檢查--grpc服務健康檢查最佳實踐

    摘要:在本文中,我們將討論,一種本地健康檢查應用程序的方法。標準的健康檢查工具,可以輕松查詢健康協議。選擇二進制版本并將其下載到中在你的中指定容器的。服務器健康檢查的代碼實現,主要部分如下完整代碼,請查看倉庫。 前言 GRPC正在成為云原生微服務之間通信的通用語言。如果您今天要將gRPC應用程序部署到Kubernetes,您可能想知道配置運行狀況檢查的最佳方法。在本文中,我們將討論grpc-...

    Maxiye 評論0 收藏0
  • k8s健康檢查--grpc服務健康檢查最佳實踐

    摘要:在本文中,我們將討論,一種本地健康檢查應用程序的方法。標準的健康檢查工具,可以輕松查詢健康協議。選擇二進制版本并將其下載到中在你的中指定容器的。服務器健康檢查的代碼實現,主要部分如下完整代碼,請查看倉庫。 前言 GRPC正在成為云原生微服務之間通信的通用語言。如果您今天要將gRPC應用程序部署到Kubernetes,您可能想知道配置運行狀況檢查的最佳方法。在本文中,我們將討論grpc-...

    Tangpj 評論0 收藏0
  • Etcd超全解:原理闡釋及部署設置的最佳實踐

    摘要:谷歌思科華為等等均是的貢獻成員。其中谷歌云平臺和等大型云提供商成功在生產環境中使用了。它為良好穩定的生產部署提供了一個良好的起點。預先準備在繼續之前,我們需要準備一個谷歌云平臺的賬號免費的應該足夠了。我們將為部署配置。 本文將帶你充分了解Etcd的工作原理,演示如何用Kubernetes建立并運行etcd集群,如何與Etcd交互,如何在Etcd中設置和檢索值,如何配置高可用等等。 sh...

    yhaolpz 評論0 收藏0
  • k8s的擴展資源設計和device-plugin

    摘要:如果上的資源耗盡,這類將無法成功調度。將這個資源及其對應的設備個數記錄到更新到。 extended-resources extended-resources在k8s1.9中是一個stable的特性。可以用一句話來概括這個特性: 通過向apiserver發送一個patch node 的請求,為這個node增加一個自定義的資源類型,用于以該資源的配額統計和相應的QoS的配置。 patch ...

    shiweifu 評論0 收藏0
  • 服務架構下 Service Mesh 會是閃亮的明天嗎?

    摘要:以下內容根據魏巍分享整編,希望對大家了解有所幫助。數據平面由一組智能代理組成,代理部署為,其控制微服務之間所有的網絡通信。 7月7日,時速云企業級容器 PaaS 技術沙龍第 10 期在上海成功舉辦,時速云容器架構負責人魏巍為大家詳細講解了 Service Mesh 中代表性的實踐方案、并以 Istio 為例詳細講解了 Service Mesh 中的技術關鍵點,包括 Istio 控制平面...

    hlcfan 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<