Hanya mai sauƙi kuma amintacciya don sarrafa ayyukan kanary ta amfani da Helm

Hanya mai sauƙi kuma amintacciya don sarrafa ayyukan kanary ta amfani da Helm

Aiwatar da Canary hanya ce mai inganci don gwada sabon lamba akan rukunin masu amfani. Yana da mahimmanci rage yawan nauyin zirga-zirga wanda zai iya zama matsala yayin aikin ƙaddamarwa, saboda yana faruwa ne kawai a cikin wani yanki na musamman. Wannan bayanin kula yana keɓance yadda ake tsara irin wannan turawa ta amfani da Kubernetes da sarrafa kayan aiki. Muna ɗauka kun san wani abu game da albarkatun Helm da Kubernetes.

Hanya mai sauƙi kuma amintacciya don sarrafa ayyukan kanary ta amfani da Helm

Sauƙaƙan tura canary zuwa Kubernetes ya haɗa da mahimman albarkatu guda biyu: sabis ɗin kanta da kayan aikin turawa. Aiwatar da Canary yana aiki ta hanyar sabis guda ɗaya wanda ke hulɗa tare da albarkatu daban-daban guda biyu waɗanda ke ba da sabunta zirga-zirga. Ɗaya daga cikin waɗannan albarkatun zai yi aiki tare da sigar "canary", kuma na biyu zai yi aiki tare da tsayayyen sigar. A cikin wannan yanayin, zamu iya tsara adadin nau'ikan canary don rage yawan zirga-zirgar da ake buƙata don hidima. Idan, alal misali, kun fi son amfani da Yaml, to zai yi kama da wannan a Kubernetes:

kind: Deployment
metadata:
  name: app-canary
  labels:
    app: app
spec:
  replicas: 1
  ...
    image: myapp:canary
---
kind: Deployment
metadata:
  name: app
  labels:
    app: app
spec:
  replicas: 5
  ...
    image: myapp:stable
---
kind: Service
selector:
  app: app # Selector will route traffic to both deployments.

Har ma ya fi sauƙi a yi tunanin wannan zaɓi ta amfani da kubectl, kuma a ciki Dokokin Kubernetes Akwai ma cikakken koyawa akan wannan yanayin. Amma babban tambayar wannan sakon shine ta yaya za mu sarrafa wannan tsari ta amfani da Helm.

Automation na tura canary

Da farko, muna buƙatar taswirar taswirar Helm, wanda ya riga ya haɗa da albarkatun da muka tattauna a sama. Ya kamata yayi kama da wani abu kamar haka:

~/charts/app
├── Chart.yaml
├── README.md
├── templates
│   ├── NOTES.txt
│   ├── _helpers.tpl
│   ├── deployment.yaml
│   └── service.yaml
└── values.yaml

Tushen ra'ayin Helm shine gudanar da sakin nau'ikan iri-iri. Sigar tsayayye shine babban reshen mu na tsarin aikin. Amma tare da Helm za mu iya tura sakin canary tare da lambar gwajin mu. Babban abu shine kula da musayar zirga-zirga tsakanin sigar barga da sakin canary. Za mu sarrafa duk waɗannan ta amfani da zaɓi na musamman:

selector:
  app.kubernetes.io/name: myapp

albarkatun mu na "canary" da kwanciyar hankali na tura kayan aiki zasu nuna wannan lakabin akan kayayyaki. Idan an daidaita komai daidai, to, yayin aiwatar da sigar canary na taswirar taswirar Helm ɗin mu za mu ga cewa za a tura zirga-zirga zuwa sabbin kayan aikin da aka tura. Tsayayyen sigar wannan umarni zai yi kama da haka:

helm upgrade
  --install myapp 
  --namespace default 
  --set app.name=myapp       # Goes into app.kubernetes.io/name
  --set app.version=v1       # Goes into app.kubernetes.io/version
  --set image.tag=stable 
  --set replicaCount=5

Yanzu bari mu duba mu Canary saki. Don tura sigar canary, muna buƙatar tuna abubuwa biyu. Dole ne sunan sakin ya bambanta don kada mu fitar da sabuntawa zuwa ga ingantaccen sigar yanzu. Dole ne sigar da tambarin su zama daban-daban domin mu iya tura wasu lambobi kuma mu gano bambance-bambance ta alamar albarkatu.

helm upgrade
  --install myapp-canary 
  --namespace default 
  --set app.name=myapp       # Goes into app.kubernetes.io/name
  --set app.version=v2       # Goes into app.kubernetes.io/version
  --set image.tag=canary 
  --set replicaCount=1

Shi ke nan! Idan kun yi ping ɗin sabis ɗin, zaku iya ganin cewa sabunta hanyoyin Canary yana tafiyar da zirga-zirga kawai wani ɓangare na lokaci.

Idan kuna neman tura kayan aikin atomatik waɗanda suka haɗa da dabarar da aka kwatanta, sannan kula da su Bayarwabot kuma a Helm kayan aikin atomatik akan GitHub. Taswirar Helm da aka yi amfani da su don aiwatar da hanyar da aka bayyana a sama suna kan Github, dama a nan. Gabaɗaya, wannan siffa ce ta ƙa'idar yadda ake aiwatar da aiki da kai na tura nau'ikan canary a aikace, tare da takamaiman dabaru da misalai.

source: www.habr.com

Add a comment