He huarahi ngawari me te haumaru ki te whakaaunoa i nga whakatakotoranga kanari me te Helm

He huarahi ngawari me te haumaru ki te whakaaunoa i nga whakatakotoranga kanari me te Helm

Ko te tuku Canary he huarahi tino whai hua ki te whakamatautau i nga waehere hou i runga i te waahanga o nga kaiwhakamahi. Ka tino whakaitihia te uta o nga waka ka raru pea i te wa e tukuna ana, na te mea ka puta noa i roto i tetahi waahanga motuhake. E whakatapua ana tenei tuhipoka me pehea te whakarite i taua tukunga ma te whakamahi i nga Kubernetes me te aunoatanga tuku. Ki ta matou whakaaro kei te mohio koe mo nga rauemi a Helm me Kubernetes.

He huarahi ngawari me te haumaru ki te whakaaunoa i nga whakatakotoranga kanari me te Helm

E rua nga rauemi matua i roto i te tukunga canary ki Kubernetes: ko te ratonga ake me te taputapu tuku. Ko te tuku Canary e mahi ana ma te ratonga kotahi e mahi tahi ana me nga rauemi rereke e rua e mahi ana i nga waka whakahou. Ko tetahi o enei rauemi ka mahi me te putanga "canary", me te tuarua ka mahi me te putanga pumau. I roto i tenei ahuatanga, ka taea e taatau te whakarite i te maha o nga putanga canary hei whakaiti i te nui o nga waka e hiahiatia ana hei mahi. Mena, hei tauira, he pai ki a koe te whakamahi i a Yaml, ka penei te ahua ki 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.

He maamaa ake te whakaaro ki tenei whiringa ma te whakamahi i te kubectl, me roto Nga tuhinga Kubernetes He akoranga katoa mo tenei ahuatanga. Engari ko te patai matua mo tenei pou me pehea e whakaaunoa ai i tenei mahi ma te whakamahi i te Helm.

Aunoatanga o te tohatoha canary

Tuatahi, me hiahia he mahere mahere Helm, kei roto kee nga rauemi i korerohia i runga ake nei. Me penei te ahua:

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

Ko te putake o te kaupapa Helm ko te whakahaeretanga o nga putanga maha. Ko te putanga pumau ko to maatau peka matua o te waehere kaupapa. Engari ma te Helm ka taea e matou te tuku i te tuku canary me o taatau waehere whakamatautau. Ko te mea nui ko te pupuri i nga whakawhitinga waka i waenga i te putanga pumau me te tuku canary. Ka whakahaerehia e matou enei mea katoa ma te whakamahi i tetahi kaiwhiringa motuhake:

selector:
  app.kubernetes.io/name: myapp

Ma a maatau "canary" me nga rauemi tohatoha pumau ka tohu tenei tapanga ki nga waahanga. Mena kua whirihora tika nga mea katoa, na i te wa e horahia ana te putanga canary o to maatau mahere mahere Helm ka kite tatou ka tukuna nga waka ki nga waahanga hou kua tukuna. Ko te putanga pumau o tenei tono ka penei te ahua:

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

Inaianei ka tirohia ta tatou tukunga kanari. Hei tuku i te putanga canary, me mahara tatou ki nga mea e rua. Me rereke te ingoa tuku kia kore ai e tukuna he whakahou ki te putanga pumau o naianei. Me rereke ano te putanga me te tohu kia taea ai e tatou te tuku i etahi atu waehere me te tautuhi i nga rereketanga ma nga tohu rauemi.

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

Heoi ano! Mena ka ping koe i te ratonga, ka kite koe ko te whakahōu canary e arai ana i nga waka i tetahi waahanga o te waa.

Mena kei te rapu koe mo nga taputapu miihini whakaurunga kei roto i te arorau kua whakaahuahia, katahi ka aro ki Deliverybot me te Utauta whakaaunoa kaarai i GitHub. Ko nga tūtohi Helm i whakamahia ki te whakatinana i te tikanga kua whakaahuatia i runga ake nei kei runga i a Github, tika i konei. I te nuinga o te waa, he tirohanga aria noa tenei mo te whakatinana aunoatanga o te whakatakotoranga o nga momo momo canary i roto i nga mahi, me nga ariā me nga tauira motuhake.

Source: will.com

Tāpiri i te kōrero