成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

k8s與健康檢查--grpc服務(wù)健康檢查最佳實(shí)踐

Maxiye / 2326人閱讀

摘要:在本文中,我們將討論,一種本地健康檢查應(yīng)用程序的方法。標(biāo)準(zhǔn)的健康檢查工具,可以輕松查詢健康協(xié)議。選擇二進(jìn)制版本并將其下載到中在你的中指定容器的。服務(wù)器健康檢查的代碼實(shí)現(xiàn),主要部分如下完整代碼,請查看倉庫。

前言

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

果您不熟悉,Kubernetes健康檢查(liveness and readiness probes)就是讓您的應(yīng)用程序在您睡覺時(shí)保持可用的原因。他們檢測到?jīng)]有響應(yīng)的pod,將它們標(biāo)記為不健康,并導(dǎo)致這些pod重新啟動(dòng)或重新調(diào)度。

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

httpGet probe: 不能與gRPC原生使用。您需要重構(gòu)您的應(yīng)用程序以同時(shí)提供gRPC和HTTP / 1.1協(xié)議(在不同的端口號上)。

tcpSocket probe: 打開套接字到gRPC服務(wù)器是沒有意義的,因?yàn)樗鼰o法讀取響應(yīng)正文。

exec probe: 這會(huì)定期調(diào)用容器生態(tài)系統(tǒng)中的程序。對于gRPC,這意味著您自己實(shí)現(xiàn)健康RPC,然后使用編寫客戶端工具,并將客戶端工具與容器打包到一起。

grpc-health-probe 解決方案

為了標(biāo)準(zhǔn)化上面提到的“exec探針”方法,我們需要:

標(biāo)準(zhǔn)的健康檢查“協(xié)議”,可以輕松地在任何gRPC服務(wù)器中實(shí)現(xiàn)。

標(biāo)準(zhǔn)的健康檢查“工具”,可以輕松查詢健康協(xié)議。

得慶幸的是,gRPC有一個(gè)標(biāo)準(zhǔn)的健康檢查協(xié)議。它可以從任何語言輕松使用。生成的代碼和用于設(shè)置運(yùn)行狀況的實(shí)用程序幾乎都在gRPC的所有語言實(shí)現(xiàn)中提供。

如果在gRPC應(yīng)用程序中實(shí)現(xiàn)此運(yùn)行狀況檢查協(xié)議,則可以使用標(biāo)準(zhǔn)/通用工具調(diào)用此Check()方法來確定服務(wù)器狀態(tài)。

下來你需要的是“標(biāo)準(zhǔn)工具”,它是grpc-health-probe。

使用此工具,您可以在所有g(shù)RPC應(yīng)用程序中使用相同的運(yùn)行狀況檢查配置。這種方法需要你:

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

將grpc_health_probe二進(jìn)制文件打到容器中。

配置Kubernetes“exec”探針以調(diào)用容器中的“grpc_health_probe”工具。

示例

您可以將靜態(tài)編譯的grpc_health_probe打在容器映像中。選擇二進(jìn)制版本并將其下載到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
    
    

服務(wù)器健康檢查的代碼實(shí)現(xiàn),主要部分如下:

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

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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27709.html

相關(guān)文章

  • k8s健康檢查--grpc服務(wù)健康檢查最佳實(shí)踐

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

    maochunguang 評論0 收藏0
  • k8s健康檢查--grpc服務(wù)健康檢查最佳實(shí)踐

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

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

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

    yhaolpz 評論0 收藏0
  • k8s的擴(kuò)展資源設(shè)計(jì)和device-plugin

    摘要:如果上的資源耗盡,這類將無法成功調(diào)度。將這個(gè)資源及其對應(yīng)的設(shè)備個(gè)數(shù)記錄到更新到。 extended-resources extended-resources在k8s1.9中是一個(gè)stable的特性??梢杂靡痪湓拋砀爬ㄟ@個(gè)特性: 通過向apiserver發(fā)送一個(gè)patch node 的請求,為這個(gè)node增加一個(gè)自定義的資源類型,用于以該資源的配額統(tǒng)計(jì)和相應(yīng)的QoS的配置。 patch ...

    shiweifu 評論0 收藏0
  • 服務(wù)架構(gòu)下 Service Mesh 會(huì)是閃亮的明天嗎?

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

    hlcfan 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<