ఫ్లాగర్ మరియు ఇస్టియోతో ఆటోమేటిక్ కానరీ విస్తరణలు

ఫ్లాగర్ మరియు ఇస్టియోతో ఆటోమేటిక్ కానరీ విస్తరణలు

CD అనేది ఒక ఎంటర్‌ప్రైజ్ సాఫ్ట్‌వేర్ అభ్యాసంగా గుర్తించబడింది మరియు ఇది స్థాపించబడిన CI సూత్రాల సహజ పరిణామం ఫలితంగా ఉంది. అయినప్పటికీ, CD ఇప్పటికీ చాలా అరుదుగా ఉంది, బహుశా నిర్వహణ యొక్క సంక్లిష్టత మరియు సిస్టమ్ లభ్యతను ప్రభావితం చేసే విఫలమైన విస్తరణల భయం కారణంగా.

ఫ్లాగర్ గందరగోళ సంబంధాలను తొలగించే లక్ష్యంతో ఓపెన్ సోర్స్ Kubernetes ఆపరేటర్. ఇది నిర్వహించబడే రోల్‌అవుట్ సమయంలో అప్లికేషన్ ప్రవర్తనను విశ్లేషించడానికి ఇస్టియో ట్రాఫిక్ ఆఫ్‌సెట్ మరియు ప్రోమెథియస్ మెట్రిక్‌లను ఉపయోగించి కానరీ విస్తరణల ప్రమోషన్‌ను ఆటోమేట్ చేస్తుంది.

Google Kubernetes Engine (GKE)లో Flaggerని సెటప్ చేయడానికి మరియు ఉపయోగించడానికి స్టెప్ బై స్టెప్ గైడ్ క్రింద ఉంది.

కుబెర్నెటీస్ క్లస్టర్‌ను ఏర్పాటు చేస్తోంది

మీరు Istio యాడ్-ఆన్‌తో GKE క్లస్టర్‌ని సృష్టించడం ద్వారా ప్రారంభించండి (మీకు GCP ఖాతా లేకుంటే, మీరు సైన్ అప్ చేయవచ్చు ఇక్కడ - ఉచిత క్రెడిట్లను పొందడానికి).

Google క్లౌడ్‌కి సైన్ ఇన్ చేయండి, ప్రాజెక్ట్‌ను సృష్టించండి మరియు దాని కోసం బిల్లింగ్‌ని ప్రారంభించండి. కమాండ్ లైన్ యుటిలిటీని ఇన్స్టాల్ చేయండి gCloud మరియు దీనితో మీ ప్రాజెక్ట్‌ను సెటప్ చేయండి gcloud init.

డిఫాల్ట్ ప్రాజెక్ట్, కంప్యూట్ ప్రాంతం మరియు జోన్ (భర్తీ చేయండి PROJECT_ID మీ ప్రాజెక్ట్ కోసం):

gcloud config set project PROJECT_ID
gcloud config set compute/region us-central1
gcloud config set compute/zone us-central1-a

GKE సేవను ప్రారంభించండి మరియు HPA మరియు Istio యాడ్-ఆన్‌లతో క్లస్టర్‌ను సృష్టించండి:

gcloud services enable container.googleapis.com
K8S_VERSION=$(gcloud beta container get-server-config --format=json | jq -r '.validMasterVersions[0]')
gcloud beta container clusters create istio 
--cluster-version=${K8S_VERSION} 
--zone=us-central1-a 
--num-nodes=2 
--machine-type=n1-standard-2 
--disk-size=30 
--enable-autorepair 
--no-enable-cloud-logging 
--no-enable-cloud-monitoring 
--addons=HorizontalPodAutoscaling,Istio 
--istio-config=auth=MTLS_PERMISSIVE

పై ఆదేశం రెండు VMలతో సహా డిఫాల్ట్ నోడ్ పూల్‌ను సృష్టిస్తుంది n1-standard-2 (vCPU: 2, RAM 7,5 GB, డిస్క్: 30 GB). ఆదర్శవంతంగా, మీరు మీ పనిభారం నుండి ఇస్టియో భాగాలను వేరుచేయాలి, అయితే ప్రత్యేక నోడ్‌ల పూల్‌లో ఇస్టియో పాడ్‌లను అమలు చేయడానికి సులభమైన మార్గం లేదు. Istio మానిఫెస్ట్‌లు చదవడానికి మాత్రమే పరిగణించబడతాయి మరియు GKE నోడ్‌కి లింక్ చేయడం లేదా పాడ్ నుండి వేరు చేయడం వంటి ఏవైనా మార్పులను రద్దు చేస్తుంది.

కోసం ఆధారాలను సెటప్ చేయండి kubectl:

gcloud container clusters get-credentials istio

క్లస్టర్ అడ్మినిస్ట్రేటర్ రోల్ బైండింగ్‌ను సృష్టించండి:

kubectl create clusterrolebinding "cluster-admin-$(whoami)" 
--clusterrole=cluster-admin 
--user="$(gcloud config get-value core/account)"

కమాండ్ లైన్ సాధనాన్ని ఇన్స్టాల్ చేయండి హెల్మ్:

brew install kubernetes-helm

హోమ్‌బ్రూ 2.0 ఇప్పుడు కూడా అందుబాటులో ఉంది linux.

టిల్లర్ కోసం సేవా ఖాతా మరియు క్లస్టర్ రోల్ బైండింగ్‌ని సృష్టించండి:

kubectl -n kube-system create sa tiller && 
kubectl create clusterrolebinding tiller-cluster-rule 
--clusterrole=cluster-admin 
--serviceaccount=kube-system:tiller

నేమ్‌స్పేస్‌లో టిల్లర్‌ని విస్తరించండి kube-system:

helm init --service-account tiller

మీరు హెల్మ్ మరియు టిల్లర్ మధ్య SSLని ఉపయోగించడాన్ని పరిగణించాలి. మీ హెల్మ్ ఇన్‌స్టాలేషన్‌ను రక్షించడం గురించి మరింత సమాచారం కోసం, చూడండి docs.helm.sh

సెట్టింగ్‌లను నిర్ధారించండి:

kubectl -n istio-system get svc

కొన్ని సెకన్ల తర్వాత, GCP సేవ కోసం బాహ్య IP చిరునామాను కేటాయించాలి istio-ingressgateway.

ఇస్టియో ఇన్‌గ్రెస్ గేట్‌వేని కాన్ఫిగర్ చేస్తోంది

పేరుతో స్టాటిక్ IP చిరునామాను సృష్టించండి istio-gatewayఇస్టియో గేట్‌వే యొక్క IP చిరునామాను ఉపయోగించడం:

export GATEWAY_IP=$(kubectl -n istio-system get svc/istio-ingressgateway -ojson | jq -r .status.loadBalancer.ingress[0].ip)
gcloud compute addresses create istio-gateway --addresses ${GATEWAY_IP} --region us-central1

ఇప్పుడు మీకు ఇంటర్నెట్ డొమైన్ మరియు మీ DNS రిజిస్ట్రార్‌కు యాక్సెస్ అవసరం. రెండు A రికార్డులను జోడించండి (భర్తీ చేయండి example.com మీ డొమైన్‌కు):

istio.example.com   A ${GATEWAY_IP}
*.istio.example.com A ${GATEWAY_IP}

DNS వైల్డ్‌కార్డ్ పనిచేస్తోందని ధృవీకరించండి:

watch host test.istio.example.com

HTTP ద్వారా సర్వీస్ మెష్ వెలుపల సేవలను అందించడానికి సాధారణ Istio గేట్‌వేని సృష్టించండి:

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: public-gateway
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
    - port:
        number: 80
        name: http
        protocol: HTTP
      hosts:
        - "*"

పై వనరును public-gateway.yamlగా సేవ్ చేసి, ఆపై దానిని వర్తించండి:

kubectl apply -f ./public-gateway.yaml

SSL లేకుండా ఏ ఉత్పత్తి వ్యవస్థ ఇంటర్నెట్‌లో సేవలను అందించకూడదు. cert-manager, CloudDNS మరియు లెట్స్ ఎన్‌క్రిప్ట్‌తో ఇస్టియో ఇన్‌గ్రెస్ గేట్‌వేని భద్రపరచడానికి, దయచేసి చదవండి డాక్యుమెంటేషన్ పతాకం జి.కె.ఇ.

ఫ్లాగర్ ఇన్‌స్టాలేషన్

GKE ఇస్టియో యాడ్-ఆన్‌లో ఇస్టియో టెలిమెట్రీ సేవను శుభ్రపరిచే ప్రోమేతియస్ ఉదాహరణ లేదు. కానరీ విశ్లేషణను నిర్వహించడానికి Flagger Istio HTTP కొలమానాలను ఉపయోగిస్తుంది కాబట్టి, మీరు అధికారిక ఇస్టియో హెల్మ్ స్కీమాతో వచ్చేలాగానే కింది ప్రోమేథియస్ కాన్ఫిగరేషన్‌ని అమలు చేయాలి.

REPO=https://raw.githubusercontent.com/stefanprodan/flagger/master
kubectl apply -f ${REPO}/artifacts/gke/istio-prometheus.yaml

ఫ్లాగర్ హెల్మ్ రిపోజిటరీని జోడించండి:

helm repo add flagger [https://flagger.app](https://flagger.app/)

ఫ్లాగర్‌ని నేమ్‌స్పేస్‌కి విస్తరించండి istio-systemస్లాక్ నోటిఫికేషన్‌లను ప్రారంభించడం ద్వారా:

helm upgrade -i flagger flagger/flagger 
--namespace=istio-system 
--set metricsServer=http://prometheus.istio-system:9090 
--set slack.url=https://hooks.slack.com/services/YOUR-WEBHOOK-ID 
--set slack.channel=general 
--set slack.user=flagger

పోర్ట్ 9090లో ఇస్టియో ప్రోమెథియస్ సేవతో కమ్యూనికేట్ చేయగలిగినంత వరకు మీరు ఫ్లాగర్‌ని ఏదైనా నేమ్‌స్పేస్‌లో ఇన్‌స్టాల్ చేయవచ్చు.

ఫ్లాగర్ కానరీ విశ్లేషణ కోసం గ్రాఫానా డాష్‌బోర్డ్‌ను కలిగి ఉంది. నేమ్‌స్పేస్‌లో గ్రాఫానాను ఇన్‌స్టాల్ చేయండి istio-system:

helm upgrade -i flagger-grafana flagger/grafana 
--namespace=istio-system 
--set url=http://prometheus.istio-system:9090 
--set user=admin 
--set password=change-me

వర్చువల్ సేవను సృష్టించడం ద్వారా ఓపెన్ గేట్‌వే ద్వారా గ్రాఫానాను బహిర్గతం చేయండి (భర్తీ చేయండి example.com మీ డొమైన్‌కు):

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: grafana
  namespace: istio-system
spec:
  hosts:
    - "grafana.istio.example.com"
  gateways:
    - public-gateway.istio-system.svc.cluster.local
  http:
    - route:
        - destination:
            host: flagger-grafana

పై వనరును grafana-virtual-service.yamlగా సేవ్ చేసి, ఆపై దానిని వర్తించండి:

kubectl apply -f ./grafana-virtual-service.yaml

వెళ్లేటప్పుడు http://grafana.istio.example.com బ్రౌజర్‌లో, మీరు గ్రాఫానా లాగిన్ పేజీకి మళ్లించబడాలి.

ఫ్లాగర్‌తో వెబ్ అప్లికేషన్‌లను అమలు చేస్తోంది

ఫ్లాగర్ కుబెర్నెట్‌లను అమలు చేస్తుంది మరియు ఐచ్ఛికంగా స్వయంచాలకంగా స్కేల్ చేస్తుంది (HPA), ఆపై ఆబ్జెక్ట్‌ల శ్రేణిని సృష్టిస్తుంది (కుబెర్నెట్స్ విస్తరణలు, క్లస్టర్‌ఐపి సేవలు మరియు ఇస్టియో వర్చువల్ సేవలు). ఈ వస్తువులు అప్లికేషన్‌ను సర్వీస్ మెష్‌కు బహిర్గతం చేస్తాయి మరియు కానరీ విశ్లేషణ మరియు పురోగతిని నియంత్రిస్తాయి.

ఫ్లాగర్ మరియు ఇస్టియోతో ఆటోమేటిక్ కానరీ విస్తరణలు

ఇస్టియో సైడ్‌కార్ ఇంజెక్షన్ ప్రారంభించబడిన పరీక్ష నేమ్‌స్పేస్‌ను సృష్టించండి:

REPO=https://raw.githubusercontent.com/stefanprodan/flagger/master
kubectl apply -f ${REPO}/artifacts/namespaces/test.yaml

విస్తరణ మరియు పాడ్ ఆటోమేటిక్ స్కేల్-అవుట్ సాధనాన్ని సృష్టించండి:

kubectl apply -f ${REPO}/artifacts/canaries/deployment.yaml
kubectl apply -f ${REPO}/artifacts/canaries/hpa.yaml

కానరీ విశ్లేషణ సమయంలో ట్రాఫిక్‌ను రూపొందించడానికి టెస్ట్ లోడ్ సేవను అమలు చేయండి:

helm upgrade -i flagger-loadtester flagger/loadtester 
--namepace=test

అనుకూల కానరీ వనరును సృష్టించండి (భర్తీ చేయండి example.com మీ డొమైన్‌కు):

apiVersion: flagger.app/v1alpha3
kind: Canary
metadata:
  name: podinfo
  namespace: test
spec:
  targetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: podinfo
  progressDeadlineSeconds: 60
  autoscalerRef:
    apiVersion: autoscaling/v2beta1
    kind: HorizontalPodAutoscaler
    name: podinfo
  service:
    port: 9898
    gateways:
    - public-gateway.istio-system.svc.cluster.local
    hosts:
    - app.istio.example.com
  canaryAnalysis:
    interval: 30s
    threshold: 10
    maxWeight: 50
    stepWeight: 5
    metrics:
    - name: istio_requests_total
      threshold: 99
      interval: 30s
    - name: istio_request_duration_seconds_bucket
      threshold: 500
      interval: 30s
    webhooks:
      - name: load-test
        url: http://flagger-loadtester.test/
        timeout: 5s
        metadata:
          cmd: "hey -z 1m -q 10 -c 2 http://podinfo.test:9898/"

పై వనరును podinfo-canary.yamlగా సేవ్ చేసి, ఆపై దానిని వర్తించండి:

kubectl apply -f ./podinfo-canary.yaml

పై విశ్లేషణ, విజయవంతమైతే, ప్రతి అరనిమిషానికి HTTP కొలమానాలను తనిఖీ చేస్తూ ఐదు నిమిషాల పాటు అమలు చేయబడుతుంది. కింది సూత్రాన్ని ఉపయోగించి మీరు కానరీ విస్తరణను ధృవీకరించడానికి మరియు ప్రోత్సహించడానికి అవసరమైన కనీస సమయాన్ని నిర్ణయించవచ్చు: interval * (maxWeight / stepWeight). కానరీ CRD ఫీల్డ్‌లు డాక్యుమెంట్ చేయబడ్డాయి ఇక్కడ.

కొన్ని సెకన్ల తర్వాత, Flagger కానరీ వస్తువులను సృష్టిస్తుంది:

# applied 
deployment.apps/podinfo
horizontalpodautoscaler.autoscaling/podinfo
canary.flagger.app/podinfo
# generated 
deployment.apps/podinfo-primary
horizontalpodautoscaler.autoscaling/podinfo-primary
service/podinfo
service/podinfo-canary
service/podinfo-primary
virtualservice.networking.istio.io/podinfo

బ్రౌజర్‌ని తెరిచి, దీనికి వెళ్లండి app.istio.example.com, మీరు సంస్కరణ సంఖ్యను చూడాలి డెమో యాప్‌లు.

ఆటోమేటిక్ కానరీ విశ్లేషణ మరియు ప్రమోషన్

Flagger HTTP అభ్యర్థన విజయ రేటు, సగటు అభ్యర్థన వ్యవధి మరియు పాడ్ ఆరోగ్యం వంటి కీలక పనితీరు కొలమానాలను కొలిచేటప్పుడు ట్రాఫిక్‌ను క్రమంగా కానరీకి తరలించే నియంత్రణ లూప్‌ను అమలు చేస్తుంది. KPI విశ్లేషణ ఆధారంగా, కానరీ ప్రచారం చేయబడుతుంది లేదా అంతరాయం కలిగిస్తుంది మరియు విశ్లేషణ ఫలితాలు స్లాక్‌కి ప్రచురించబడతాయి.

ఫ్లాగర్ మరియు ఇస్టియోతో ఆటోమేటిక్ కానరీ విస్తరణలు

కింది వస్తువులలో ఒకటి మారినప్పుడు కానరీ విస్తరణ ప్రారంభించబడుతుంది:

  • PodSpec (కంటైనర్ ఇమేజ్, కమాండ్, పోర్ట్‌లు, env, మొదలైనవి) అమలు చేయండి.
  • కాన్ఫిగ్‌మ్యాప్‌లు వాల్యూమ్‌లుగా మౌంట్ చేయబడతాయి లేదా ఎన్విరాన్‌మెంట్ వేరియబుల్స్‌కు మ్యాప్ చేయబడతాయి
  • రహస్యాలు వాల్యూమ్‌లుగా మౌంట్ చేయబడతాయి లేదా ఎన్విరాన్మెంట్ వేరియబుల్స్‌గా మార్చబడతాయి

కంటైనర్ ఇమేజ్‌ని అప్‌డేట్ చేస్తున్నప్పుడు కానరీ డిప్లాయ్‌ని అమలు చేయండి:

kubectl -n test set image deployment/podinfo 
podinfod=quay.io/stefanprodan/podinfo:1.4.1

విస్తరణ సంస్కరణ మారిందని ఫ్లాగర్ గుర్తించి, దానిని అన్వయించడం ప్రారంభిస్తుంది:

kubectl -n test describe canary/podinfo

Events:

New revision detected podinfo.test
Scaling up podinfo.test
Waiting for podinfo.test rollout to finish: 0 of 1 updated replicas are available
Advance podinfo.test canary weight 5
Advance podinfo.test canary weight 10
Advance podinfo.test canary weight 15
Advance podinfo.test canary weight 20
Advance podinfo.test canary weight 25
Advance podinfo.test canary weight 30
Advance podinfo.test canary weight 35
Advance podinfo.test canary weight 40
Advance podinfo.test canary weight 45
Advance podinfo.test canary weight 50
Copying podinfo.test template spec to podinfo-primary.test
Waiting for podinfo-primary.test rollout to finish: 1 of 2 updated replicas are available
Promotion completed! Scaling down podinfo.test

విశ్లేషణ సమయంలో, గ్రాఫానాను ఉపయోగించి కానరీ ఫలితాలను ట్రాక్ చేయవచ్చు:

ఫ్లాగర్ మరియు ఇస్టియోతో ఆటోమేటిక్ కానరీ విస్తరణలు

కానరీ విశ్లేషణ సమయంలో విస్తరణకు కొత్త మార్పులు వర్తింపజేస్తే, ఫ్లాగర్ విశ్లేషణ దశను పునఃప్రారంభించవచ్చని దయచేసి గమనించండి.

మీ క్లస్టర్‌లోని అన్ని కానరీల జాబితాను రూపొందించండి:

watch kubectl get canaries --all-namespaces
NAMESPACE   NAME      STATUS        WEIGHT   LASTTRANSITIONTIME
test        podinfo   Progressing   15       2019-01-16T14:05:07Z
prod        frontend  Succeeded     0        2019-01-15T16:15:07Z
prod        backend   Failed        0        2019-01-14T17:05:07Z

మీరు స్లాక్ నోటిఫికేషన్‌లను ప్రారంభించినట్లయితే, మీరు ఈ క్రింది సందేశాలను అందుకుంటారు:

ఫ్లాగర్ మరియు ఇస్టియోతో ఆటోమేటిక్ కానరీ విస్తరణలు

ఆటోమేటిక్ రోల్‌బ్యాక్

కానరీ విశ్లేషణ సమయంలో, మీరు Flagger విస్తరణను ఆపివేస్తుందో లేదో తెలుసుకోవడానికి సింథటిక్ HTTP 500 ఎర్రర్‌లను మరియు అధిక ప్రతిస్పందన జాప్యాన్ని సృష్టించవచ్చు.

టెస్ట్ పాడ్‌ని సృష్టించండి మరియు దానిలో ఈ క్రింది వాటిని చేయండి:

kubectl -n test run tester 
--image=quay.io/stefanprodan/podinfo:1.2.1 
-- ./podinfo --port=9898
kubectl -n test exec -it tester-xx-xx sh

HTTP 500 లోపాలను సృష్టిస్తోంది:

watch curl http://podinfo-canary:9898/status/500

ఆలస్యం ఉత్పత్తి:

watch curl http://podinfo-canary:9898/delay/1

విఫలమైన తనిఖీల సంఖ్య థ్రెషోల్డ్‌కు చేరుకున్నప్పుడు, ట్రాఫిక్ తిరిగి ప్రాథమిక ఛానెల్‌కు మళ్లించబడుతుంది, కానరీ సున్నాకి స్కేల్ చేయబడుతుంది మరియు విస్తరణ విఫలమైనట్లు గుర్తించబడుతుంది.

కానరీ ఎర్రర్‌లు మరియు లేటెన్సీ స్పైక్‌లు కుబెర్నెట్స్ ఈవెంట్‌లుగా లాగ్ చేయబడ్డాయి మరియు JSON ఫార్మాట్‌లో Flagger ద్వారా లాగ్ చేయబడ్డాయి:

kubectl -n istio-system logs deployment/flagger -f | jq .msg

Starting canary deployment for podinfo.test
Advance podinfo.test canary weight 5
Advance podinfo.test canary weight 10
Advance podinfo.test canary weight 15
Halt podinfo.test advancement success rate 69.17% < 99%
Halt podinfo.test advancement success rate 61.39% < 99%
Halt podinfo.test advancement success rate 55.06% < 99%
Halt podinfo.test advancement success rate 47.00% < 99%
Halt podinfo.test advancement success rate 37.00% < 99%
Halt podinfo.test advancement request duration 1.515s > 500ms
Halt podinfo.test advancement request duration 1.600s > 500ms
Halt podinfo.test advancement request duration 1.915s > 500ms
Halt podinfo.test advancement request duration 2.050s > 500ms
Halt podinfo.test advancement request duration 2.515s > 500ms
Rolling back podinfo.test failed checks threshold reached 10
Canary failed! Scaling down podinfo.test

మీరు స్లాక్ నోటిఫికేషన్‌లను ప్రారంభించినట్లయితే, గడువు దాటిన తర్వాత లేదా విశ్లేషణలో విఫలమైన తనిఖీల గరిష్ట సంఖ్యను చేరుకున్నప్పుడు మీరు సందేశాన్ని అందుకుంటారు:

ఫ్లాగర్ మరియు ఇస్టియోతో ఆటోమేటిక్ కానరీ విస్తరణలు

ముగింపులో

కుబెర్నెటెస్‌తో పాటుగా ఇస్టియో వంటి సర్వీస్ మెష్‌ని అమలు చేయడం వలన ఆటోమేటిక్ మెట్రిక్‌లు, లాగ్‌లు మరియు ప్రోటోకాల్‌లు అందుతాయి, అయితే పనిభారం విస్తరణ ఇప్పటికీ బాహ్య సాధనాలపై ఆధారపడి ఉంటుంది. Flagger Istio సామర్థ్యాలను జోడించడం ద్వారా దీన్ని మార్చాలని లక్ష్యంగా పెట్టుకుంది ప్రగతిశీల సరఫరా.

Flagger ఏదైనా Kubernetes CI/CD సొల్యూషన్‌తో అనుకూలంగా ఉంటుంది మరియు కానరీ విశ్లేషణను దీనితో సులభంగా పొడిగించవచ్చు వెబ్‌హూక్స్ సిస్టమ్ ఇంటిగ్రేషన్/అంగీకార పరీక్షలు, లోడ్ పరీక్షలు లేదా ఏదైనా ఇతర అనుకూల తనిఖీలను నిర్వహించడానికి. ఫ్లాగర్ డిక్లరేటివ్ మరియు కుబెర్నెటీస్ ఈవెంట్‌లకు ప్రతిస్పందిస్తుంది కాబట్టి, దీనిని GitOps పైప్‌లైన్‌లలో ఉపయోగించవచ్చు నేత ఫ్లక్స్ లేదా జెంకిన్స్ ఎక్స్. మీరు JenkinsXని ఉపయోగిస్తుంటే jx addonsతో Flaggerని ఇన్‌స్టాల్ చేయవచ్చు.

ఫ్లాగర్ మద్దతు ఉంది వీవ్ వర్క్స్ మరియు లో కానరీ విస్తరణలను అందిస్తుంది నేత క్లౌడ్. ప్రాజెక్ట్ GKE, EKS మరియు kubeadmతో బేర్ మెటల్‌లో పరీక్షించబడుతోంది.

Flaggerని మెరుగుపరచడానికి మీకు సూచనలు ఉంటే, దయచేసి GitHubలో సమస్య లేదా PRని సమర్పించండి stefanprodan/ఫ్లాగర్. సహకారాలు స్వాగతం కంటే ఎక్కువ!

Спасибо రే త్సాంగ్.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి