<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          K8STARS將 Tars 服務(wù)運(yùn)行在 Kubernetes 中

          聯(lián)合創(chuàng)作 · 2023-09-28 05:03

          k8stars是便于將tars服務(wù)運(yùn)行在Kubernetes中的方案。

          特性

          • 保持tars原生的開發(fā)框架能力
          • 支持tars的名字服務(wù)自動(dòng)注冊和配置刪除
          • 支持原有tars服務(wù)平滑遷移到k8s等容器平臺(tái)
          • 無侵入性設(shè)計(jì),與運(yùn)行環(huán)境無偶合關(guān)系

          實(shí)現(xiàn)方案

          1. 在tarsregistry增加了3個(gè)接口,用于tars名字的自動(dòng)注冊/心跳上報(bào)和節(jié)點(diǎn)下線。

          2. 提供一個(gè)tarscli命令行工具,用于分配端口/生成配置/上報(bào)心跳以及節(jié)點(diǎn)下線。

          部署示例

          1. tarsregistry(名字服務(wù)) 參考baseserver的說明部署tars registry

          2. 部署服務(wù)示例

            • 部署示例simpleserver

              cd examples/simple && kubectl apply -f simpleserver.yaml

              示例說明:

              • 鏡像由 examples/simple/Dockerfile 文件制作,基礎(chǔ)鏡像由 cmd/tarscli/Dockerfile 制作
              • start.sh中的tarscli genconf用于生成tars服務(wù)啟動(dòng)配置
              • _server_meta.yaml文件用于配置服務(wù)的元數(shù)據(jù),字段信息可以參考 app/genconf/config.go 中的 ServerConf 結(jié)構(gòu)體。endpoint默認(rèn)為tcp -h ${local_ip} -p ${random_port},支持自動(dòng)填入IP和隨機(jī)端口。
            • 基于Go語言的 HelloWorld 程序 TestApp.HelloGo

          3. 驗(yàn)證部署 登錄db_tars,然后執(zhí)行select * from t_server_conf\G可以看到simpleserver的節(jié)點(diǎn)信息已自動(dòng)注冊。

          tars部署目錄結(jié)構(gòu)

          tarscli基于環(huán)境變量TARS_PATH(默認(rèn)/tars)來管理服務(wù),各目錄功能:

          • ${TARS_PATH}/bin:啟動(dòng)腳本和二進(jìn)制文件
          • ${TARS_PATH}/conf:配置文件
          • ${TARS_PATH}/log:log文件
          • ${TARS_PATH}/data:運(yùn)行狀態(tài)/緩存文件

          關(guān)于tarscli

          tarscli提供了一組命令工具,方便tars服務(wù)的容器化部署,可通過環(huán)境變量來指定參數(shù),詳細(xì)說明見tarscli help。 以下是tarscli支持的子命令

          • genconf 用于生成tars服務(wù)的啟動(dòng)配置文件。支持的環(huán)境變量有:

            • TARS_APPLICATION 指定的應(yīng)用名,默認(rèn)從_server_meta.yaml中讀取
            • TARS_SERVER 指定的服務(wù)名,默認(rèn)從_server_meta.yaml中讀取
            • TARS_BUILD_SERVER編譯時(shí)的服務(wù)名,編譯的服務(wù)名與運(yùn)行的服務(wù)名不同時(shí)會(huì)用到
            • TARS_LOCATOR可以指定registry的地址,默認(rèn)是tars-registry.default.svc.cluster.local -p 17890(service的地址)
            • TARS_SET_ID可以指定服務(wù)set
            • TARS_MERGE_CONF可指定配置模板文件,并將配置合并到服務(wù)的啟動(dòng)配置文件中
          • supervisor 默認(rèn)執(zhí)行先genconf命令,再啟動(dòng)并監(jiān)控服務(wù)。支持的環(huán)境變量有:

            • TARS_START_PATH服務(wù)的啟動(dòng)腳本,默認(rèn)是$TARS_PATH/bin/start.sh
            • TARS_STOP_PATH服務(wù)的停止腳本,默認(rèn)是kill在$TARS_PATH路徑下的所有服務(wù)進(jìn)程
            • TARS_REPORT_INTERVAL上報(bào)心跳到registry的時(shí)間間隔
            • TARS_DISABLE_FLOW注冊到registry時(shí)是否開啟流量,非空表示關(guān)閉,默認(rèn)開啟
            • TARS_CHECK_INTERVAL檢查服務(wù)狀態(tài)的時(shí)間間隔,如果狀態(tài)有變化會(huì)實(shí)時(shí)同步到regitry
            • TARS_BEFORE_CHECK_SCRIPT每次檢查前都運(yùn)行的shell命令
            • TARS_CHECK_SCRIPT_TIMEOUT每次檢查前運(yùn)行shell命令的超時(shí)時(shí)間
            • TARS_PRESTOP_WAITTIME關(guān)流量-停止服務(wù)前的等待時(shí)間,用于無損變更,默認(rèn)80秒
          • hzcheck 用于同步服務(wù)狀態(tài)和k8s的pod狀態(tài),需要將pod的readiness probe設(shè)為tarscli hzcheck命令

          • prestop 用于在服務(wù)退出前刪除在registry對應(yīng)的配置

            • TARS_PRESTOP_WAITTIME關(guān)流量-停止服務(wù)前的等待時(shí)間,用于無損變更,默認(rèn)80秒
          • notify 用于發(fā)送管理命令,常用命令有:tars.setloglevel/tars.pprof等

          瀏覽 31
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产乱婬AAAA片视频软件 | a在线中文字幕 | 91麻豆产精品久久久久久 | 欧美一级二级三级视频 | 色99在线视频 |