เดนเต†เตฝเดฎเดฟเดจเตŠเดชเตเดชเด‚ เด•เดพเดจเดฑเดฟ เดตเดฟเดจเตเดฏเดพเดธเด™เตเด™เตพ เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฒเดณเดฟเดคเดตเตเด‚ เดธเตเดฐเด•เตเดทเดฟเดคเดตเตเดฎเดพเดฏ เดฎเดพเตผเด—เตเด—เด‚

เดนเต†เตฝเดฎเดฟเดจเตŠเดชเตเดชเด‚ เด•เดพเดจเดฑเดฟ เดตเดฟเดจเตเดฏเดพเดธเด™เตเด™เตพ เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฒเดณเดฟเดคเดตเตเด‚ เดธเตเดฐเด•เตเดทเดฟเดคเดตเตเดฎเดพเดฏ เดฎเดพเตผเด—เตเด—เด‚

เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเตเดŸเต† เด’เดฐเต เด‰เดชเดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดชเตเดคเดฟเดฏ เด•เต‹เดกเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดตเดณเดฐเต† เดซเดฒเดชเตเดฐเดฆเดฎเดพเดฏ เดฎเดพเตผเด—เดฎเดพเดฃเต เด•เดพเดจเดฑเดฟ เดตเดฟเดจเตเดฏเดพเดธเด‚. เดตเดฟเดจเตเดฏเดพเดธ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเตฝ เดชเตเดฐเดถเตโ€ŒเดจเดฎเตเดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจ เดŸเตเดฐเดพเดซเดฟเด•เต เดฒเต‹เดกเต เด‡เดคเต เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเต, เด•เดพเดฐเดฃเด‚ เด‡เดคเต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด‰เดชเดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เดธเด‚เดญเดตเดฟเด•เตเด•เต‚. เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเตเด‚ เดตเดฟเดจเตเดฏเดพเดธ เด“เดŸเตเดŸเต‹เดฎเต‡เดทเดจเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดตเดฟเดจเตเดฏเดพเดธเด‚ เดŽเด™เตเด™เดจเต† เดธเด‚เด˜เดŸเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚ เดŽเดจเตเดจเดคเดฟเดจเดพเดฃเต เดˆ เด•เตเดฑเดฟเดชเตเดชเต เดธเดฎเตผเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต. เดนเต†เตฝเดฎเดฟเดจเต†เดฏเตเด‚ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดตเดฟเดญเดตเด™เตเด™เดณเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดฑเดฟเดฏเดพเดฎเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด•เดฐเตเดคเตเดจเตเดจเต.

เดนเต†เตฝเดฎเดฟเดจเตŠเดชเตเดชเด‚ เด•เดพเดจเดฑเดฟ เดตเดฟเดจเตเดฏเดพเดธเด™เตเด™เตพ เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฒเดณเดฟเดคเดตเตเด‚ เดธเตเดฐเด•เตเดทเดฟเดคเดตเตเดฎเดพเดฏ เดฎเดพเตผเด—เตเด—เด‚

เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เด•เดพเดจเดฑเดฟ เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเตฝ เดฐเดฃเตเดŸเต เดชเตเดฐเดงเดพเดจ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต: เดธเต‡เดตเดจเดตเตเด‚ เดตเดฟเดจเตเดฏเดพเดธ เด‰เดชเด•เดฐเดฃเดตเตเด‚. เด…เดชเตเดกเต‡เดฑเตเดฑเต เดŸเตเดฐเดพเดซเดฟเด•เตเด•เดฟเดจเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจ เดฐเดฃเตเดŸเต เดตเตเดฏเดคเตเดฏเดธเตเดค เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดธเด‚เดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเตŠเดฑเตเดฑ เดธเต‡เดตเดจเดคเตเดคเดฟเดฒเต‚เดŸเต†เดฏเดพเดฃเต เด•เดพเดจเดฑเดฟ เดตเดฟเดจเตเดฏเดพเดธเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต. เดˆ เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเดฟเตฝ เด’เดจเตเดจเต "เด•เดพเดจเดฑเดฟ" เดชเดคเดฟเดชเตเดชเดฟเดจเตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณ เดชเดคเดฟเดชเตเดชเดฟเดจเตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดธเต‡เดตเดจเดคเตเดคเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŸเตเดฐเดพเดซเดฟเด•เตเด•เดฟเดจเตเดฑเต† เด…เดณเดตเต เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด•เดพเดจเดฑเดฟ เดชเดคเดฟเดชเตเดชเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดจเดฎเตเด•เตเด•เต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ Yaml เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเตฝ เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเด‚:

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.

kubectl เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดˆ เด“เดชเตเดทเตป เดธเด™เตเด•เตฝเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เด‡เดคเดฟเดฒเตเด‚ เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เด’เดฐเต เดฎเตเดดเตเดตเตป เดŸเตเดฏเต‚เดŸเตเดŸเต‹เดฑเดฟเดฏเตฝ เดชเต‹เดฒเตเด‚ เด‰เดฃเตเดŸเต. เดŽเดจเตเดจเดพเตฝ เดˆ เดชเต‹เดธเตเดฑเตเดฑเดฟเดจเตเดฑเต† เดชเตเดฐเดงเดพเดจ เดšเต‹เดฆเตเดฏเด‚ เดนเต†เตฝเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดˆ เดชเตเดฐเด•เตเดฐเดฟเดฏ เดŽเด™เตเด™เดจเต† เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เดชเต‹เด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดพเดฃเต.

เด•เดพเดจเดฑเดฟ เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเตเดฑเต† เด“เดŸเตเดŸเต‹เดฎเต‡เดทเตป

เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดนเต†เตฝเด‚ เดšเดพเตผเดŸเตเดŸเต เดฎเดพเดชเตเดชเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เด…เดคเดฟเตฝ เดžเด™เตเด™เตพ เดฎเตเด•เดณเดฟเตฝ เดšเตผเดšเตเดš เดšเต†เดฏเตเดค เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต. เด‡เดคเต เด‡เดคเตเดชเต‹เดฒเต†เดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚:

~/charts/app
โ”œโ”€โ”€ Chart.yaml
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ templates
โ”‚   โ”œโ”€โ”€ NOTES.txt
โ”‚   โ”œโ”€โ”€ _helpers.tpl
โ”‚   โ”œโ”€โ”€ deployment.yaml
โ”‚   โ””โ”€โ”€ service.yaml
โ””โ”€โ”€ values.yaml

เดฎเตพเดŸเตเดŸเดฟ-เดชเดคเดฟเดชเตเดชเต เดฑเดฟเดฒเต€เดธเตเด•เดณเตเดŸเต† เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเดพเดฃเต เดนเต†เตฝเด‚ เด†เดถเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเด‚. เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด•เต‹เดกเดฟเดจเตเดฑเต† เดžเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเดงเดพเดจ เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณ เดถเดพเด–เดฏเดพเดฃเต เดธเตเดฑเตเดฑเต‡เดฌเดฟเตพ เดชเดคเดฟเดชเตเดชเต. เดŽเดจเตเดจเดพเตฝ เดนเต†เตฝเดฎเดฟเดจเตŠเดชเตเดชเด‚ เดžเด™เตเด™เดณเตเดŸเต† เดชเดฐเต€เด•เตเดทเดฃเดพเดคเตเดฎเด• เด•เต‹เดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เด•เดพเดจเดฑเดฟ เดฑเดฟเดฒเต€เดธเต เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณ เดชเดคเดฟเดชเตเดชเดฟเดจเตเด‚ เด•เดพเดจเดฑเดฟ เดฑเดฟเดฒเต€เดธเดฟเดจเตเด‚ เด‡เดŸเดฏเดฟเตฝ เดŸเตเดฐเดพเดซเดฟเด•เต เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเต เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดชเตเดฐเดงเดพเดจ เด•เดพเดฐเตเดฏเด‚. เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดธเต†เดฒเด•เตเดŸเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เด‡เดคเต†เดฒเตเดฒเดพเด‚ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเด‚:

selector:
  app.kubernetes.io/name: myapp

เดžเด™เตเด™เดณเตเดŸเต† "เด•เดพเดจเดฑเดฟ", เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดตเดฟเดจเตเดฏเดพเดธ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เดณเดฟเตฝ เดˆ เดฒเต‡เดฌเตฝ เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚. เดŽเดฒเตเดฒเดพเด‚ เดถเดฐเดฟเดฏเดพเดฏเดฟ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดžเด™เตเด™เดณเตเดŸเต† เดนเต†เตฝเด‚ เดšเดพเตผเดŸเตเดŸเต เดฎเดพเดชเตเดชเดฟเดจเตเดฑเต† เด•เดพเดจเดฑเดฟ เดชเดคเดฟเดชเตเดชเต เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดชเตเดคเตเดคเดพเดฏเดฟ เดตเดฟเดจเตเดฏเดธเดฟเดšเตเดš เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดŸเตเดฐเดพเดซเดฟเด•เตเด•เต เดจเดฏเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดฎเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด•เดพเดฃเตเด‚. เดˆ เด•เดฎเดพเตปเดกเดฟเดจเตเดฑเต† เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดชเดคเดฟเดชเตเดชเต เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเด‚:

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

เด‡เดจเดฟ เดจเดฎเตเด•เตเด•เต เดจเดฎเตเดฎเตเดŸเต† เด•เดพเดจเดฑเดฟ เดฑเดฟเดฒเต€เดธเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเด‚. เด•เดพเดจเดฑเดฟ เดชเดคเดฟเดชเตเดชเต เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเตป, เดจเดฎเตเดฎเตพ เดฐเดฃเตเดŸเต เด•เดพเดฐเตเดฏเด™เตเด™เตพ เด“เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดจเดฟเดฒเดตเดฟเดฒเต† เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณ เดชเดคเดฟเดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เดžเด™เตเด™เตพ เด’เดฐเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดชเตเดฑเดคเตเดคเดฟเดฑเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เดฑเดฟเดฒเต€เดธเต เดจเดพเดฎเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เดชเดคเดฟเดชเตเดชเตเด‚ เดŸเดพเด—เตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚, เด…เดคเดฟเดจเดพเตฝ เดจเดฎเตเด•เตเด•เต เดฎเดฑเตเดฑเต เด•เต‹เดกเตเด•เตพ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเดจเตเด‚ เดฑเดฟเดธเต‹เดดเตเดธเต เดŸเดพเด—เตเด•เตพ เดตเดดเดฟ เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เตพ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

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

เด…เดคเตเดฐเดฏเต‡เดฏเตเดณเตเดณเต‚! เดจเดฟเด™เตเด™เตพ เดธเต‡เดตเดจเด‚ เดชเดฟเด‚เด—เต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด•เดพเดจเดฑเดฟ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดธเดฎเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดญเดพเด—เด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เดŸเตเดฐเดพเดซเดฟเด•เตเด•เต เดฑเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚.

เดตเดฟเดตเดฐเดฟเดšเตเดš เดฒเต‹เดœเดฟเด•เต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจ เดตเดฟเดจเตเดฏเดพเดธ เด“เดŸเตเดŸเต‹เดฎเต‡เดทเตป เดŸเต‚เดณเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เดคเดฟเดฐเดฏเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด• เดกเต†เดฒเดฟเดตเดฑเดฟเดฌเต‹เดŸเตเดŸเต เดชเดฟเดจเตเดจเต† GitHub-เดฒเต† เดนเต†เตฝเด‚ เด“เดŸเตเดŸเต‹เดฎเต‡เดทเตป เดŸเต‚เดณเตเด•เตพ. เดฎเตเด•เดณเดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดš เดฐเต€เดคเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดนเต†เตฝเด‚ เดšเดพเตผเดŸเตเดŸเตเด•เตพ Github-เดฒเดพเดฃเต, เด‡เดตเดฟเดŸเต† เด‡เดคเดพ. เดชเตŠเดคเตเดตเต‡, เดชเตเดฐเดคเตเดฏเต‡เด• เด†เดถเดฏเด™เตเด™เดณเตเด‚ เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ เด•เดพเดจเดฑเดฟ เดชเดคเดฟเดชเตเดชเตเด•เดณเตเดŸเต† เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเตเดฑเต† เด“เดŸเตเดŸเต‹เดฎเต‡เดทเตป เดŽเด™เตเด™เดจเต† เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเด‚ เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เดธเตˆเดฆเตเดงเดพเดจเตเดคเดฟเด• เด…เดตเดฒเต‹เด•เดจเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต เด‡เดคเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•