這篇文章給大家分享的是有關(guān)在Kubernetes上如何部署Argo Rollouts和Ambassador進(jìn)行灰度發(fā)布的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
目前創(chuàng)新互聯(lián)公司已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、遼中網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
Ambassador API 網(wǎng)關(guān)與 Argo 集成
灰度發(fā)布(金絲雀發(fā)布/Canary)是一種強(qiáng)大的策略,通過(guò)增量地向用戶子集發(fā)布軟件的新版本來(lái)降低生產(chǎn)風(fēng)險(xiǎn)。假設(shè)你推出了服務(wù)的 v1.1 版本,但它有一個(gè) bug。不是立即將它暴露給所有的流量,而是通過(guò)將 v1.1 暴露給流量的一個(gè)子集(例如 5%)來(lái)開始發(fā)布過(guò)程。隨著時(shí)間的推移,你的流量逐漸增加到 100%。在此期間,任何暴露的 bug 都僅限于你的用戶子集。
雖然理論上很簡(jiǎn)單,但在實(shí)踐中使用灰度發(fā)布需要將 CI 流水線與持續(xù)部署工作流(如 Argo)集成在一起,并使用 API 網(wǎng)關(guān)來(lái)管理到服務(wù)的流量。
Ambassador 是一個(gè)基于 Envoy 代理構(gòu)建的開源 kubernetes 原生 API 網(wǎng)關(guān)和入口控制器。Ambassador 的常見(jiàn)用例包括路由 gRPC 流量、認(rèn)證和速率限制。雖然 Ambassador 支持標(biāo)準(zhǔn)的 ingress 類,但大多數(shù)用戶使用 Ambassador mapping 資源。mapping 資源定義了路由并支持大量的屬性集,超出了 ingress 支持的標(biāo)準(zhǔn)集。下面是一個(gè) mapping 示例:
apiVersion: getambassador.io/v2
kind: Mapping
metadata:
name: echo
spec:
prefix: /echo
rewrite: /echo
service: echo-stable:80
我們已經(jīng)在 Argo Rollouts 和 Ambassador 之間建立了一個(gè)原生集成(代碼)[1]。你現(xiàn)在可以創(chuàng)建一個(gè) Rollout 資源來(lái)引用 Ambassador mapping:
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: echo-rollout
annotations:
spec:
replicas: 5
revisionHistoryLimit: 2
selector:
matchLabels:
app: echo
template:
metadata:
labels:
app: echo
spec:
containers:
- image: hashicorp/http-echo
args:
- "-text=VERSION 137"
- -listen=:8080
imagePullPolicy: Always
name: echo-v1
ports:
- containerPort: 8080
strategy:
canary:
stableService: echo-stable
canaryService: echo-canary
trafficRouting:
ambassador:
mapping:
- echo
steps:
- setWeight: 20
- pause: {duration: 10s}
- setWeight: 50
- pause: {duration: 10s}
- setWeight: 100
- pause: {duration: 10}
請(qǐng)注意上面粗體部分,它引用了上面定義的名為 echo 的 Ambassador mapping 資源。將這些配置應(yīng)用到集群將啟動(dòng) echo-canary 服務(wù),該服務(wù)將把 20%的流量路由到 canary,持續(xù) 10 秒,然后在 10 秒內(nèi)提升到 50%,然后再提升到 100%。
感謝各位的閱讀!關(guān)于“在Kubernetes上如何部署Argo Rollouts和Ambassador進(jìn)行灰度發(fā)布”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
新聞名稱:在Kubernetes上如何部署ArgoRollouts和Ambassador進(jìn)行灰度發(fā)布
網(wǎng)頁(yè)地址:http://muchs.cn/article12/gddjdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、企業(yè)網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)、定制網(wǎng)站、Google、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)