เดนเต เดนเดฌเตผ!
เดตเตเดจเตฝเดเตเดเดพเดฒเดคเตเดคเดฟเดจเตเดฑเต เด
เดตเดธเดพเดจเดคเตเดคเดฟเตฝ, เดเดเตเดเตพ เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเต เดคเตเดเดฐเตเดฎเตเดจเตเดจเต เดจเดฟเดเตเดเดณเต เดเตผเดฎเตเดฎเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต
เดธเดจเตเดคเตเดทเดเดฐเดฎเดพเดฏ เดตเดพเดฏเดจ!
เด เดฒเตเดเดจเด เดเดดเตเดคเตเดฎเตเดชเตเตพ, เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเดฟเดจเตเดฑเต เดชเตเดฐเดพเดฏเด เดเดเดฆเตเดถเด.
เดฒเดฟเดจเดเตเดธเดฟเตฝ เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพ เดตเตเตผเดชเตเดเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดฐเตเดชเดเดฒเตเดชเดจ เดเดจเตเดจ เดจเดฟเดฒเดฏเดฟเดฒเดพเดฃเต เดเดฃเตเดเตเดฏเตเดจเดฑเตเดเตพ เดเดฐเดเดญเดฟเดเตเดเดคเต; 2007 เดฎเตเดคเตฝ เดเดฃเตเดเตเดฏเตโเดจเดฑเตเดเตพ เดเตพเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต
เดเดจเตเดคเตเดเตเดฃเตเดเดพเดฃเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเดคเตเดฐเดฏเดงเดฟเดเด เดเดจเดชเตเดฐเดฟเดฏเดฎเดพเดฏเดคเตเดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเดเตเดเดพเตป, เดเตเดฑเดเตเดเต เดเตเดฆเตเดฏเดเตเดเตพเดเตเดเต เดเดคเตเดคเดฐเด เดจเตฝเดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเดพเด. เดชเตเดฐเตเดกเดเตเดทเดจเดฟเดฒเตเดเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดเดเตเดเดจเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดพเดฎเตเดจเตเดจเต เดกเตเดตเดฒเดชเตเดชเตผเดฎเดพเตผเดเตเดเต เด เดตเดธเดพเดจเดฎเดพเดฏเดฟ เด เดเดเตเดเดฐเดฟเดเตเดเดพเตป เดเดดเดฟเดเตเดเดคเต เดเดชเตเดชเตเดดเดพเดฃเต? เดฌเตเดเตโเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต เดจเตฝเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเตฝ เดเดชเดเดฐเดฃเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดเดคเตเดฐ เดกเตเดตเดฒเดชเตเดชเตผเดฎเดพเดฐเต เดจเดฟเดเตเดเตพเดเตเดเดฑเดฟเดฏเดพเด? เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดเดพเดคเตเดค เดเดคเตเดฐ เดเตเดฒเตเดกเต เด เดกเตเดฎเดฟเดจเดฟเดธเตเดเตเดฐเตเดฑเตเดฑเตผเดฎเดพเตผ เดเดจเตเดจเต เดเดฃเตเดเต? เด เดเตเดฆเตเดฏเดเตเดเตพเดเตเดเตเดณเตเดณ เดเดคเตเดคเดฐเดเตเดเตพ เด เดฒเตเดเดจเดคเตเดคเดฟเตฝ เดจเดฎเตเดฎเตพ เดจเตเดเตเดเตเด.
YAML เดเดฏเดฟ เดเตปเดซเตเดฐเดพเดธเตเดเตเดฐเดเตเดเตผ
เดชเดชเตเดชเดฑเตเดฑเต, เดทเตเดซเต เดเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเดฟเดฏ เดฒเตเดเดคเตเดคเต, เดเดฑเตเดฑเดตเตเด เดตเดฒเดฟเดฏ เดฎเดพเดฑเตเดฑเดเตเดเดณเดฟเดฒเตเดจเตเดจเต "เดเตเดกเดพเดฏเดฟ เดเตปเดซเตเดฐเดพเดธเตเดเตเดฐเดเตเดเตผ" เดเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต "เดเตปเดซเตเดฐเดพเดธเตเดเตเดฐเดเตเดเตผ เดกเดพเดฑเตเดฑ" เดเดจเตเดจเดคเดฟเดฒเตเดเตเดเตเดณเตเดณ เดจเตเดเตเดเดฎเดพเดฃเต-เดชเตเดฐเดคเตเดฏเตเดเดฟเดเตเดเต, YAML เดชเตเดฒเต. เดชเตเดกเตเดเตพ, เดเตเตบเดซเดฟเดเดฑเตเดทเดจเตเดเตพ, เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดธเดจเตเดฆเตผเดญเดเตเดเตพ, เดตเตเดณเตเดฏเดเตเดเตพ เดฎเตเดคเดฒเดพเดฏเดต เดเตพเดชเตเดชเตเดเตเดจเตเดจ เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเดฟเดฒเต เดเดฒเตเดฒเดพ เดเดฑเดตเดฟเดเดเตเดเดณเตเด เดเดฐเต YAML เดซเดฏเดฒเดฟเตฝ เดเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดตเดฟเดตเดฐเดฟเดเตเดเดพเดจเดพเดเตเด. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต:
apiVersion: v1
kind: Pod
metadata:
name: site
labels:
app: web
spec:
containers:
- name: front-end
image: nginx
ports:
- containerPort: 80
เดชเตเดคเตเดคเตบ เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดพเดตเดพเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเดฒเตเดณเตเดณ เดญเดพเดทเดเดณเดฟเตฝ เดเตเดกเต เดเดดเตเดคเดพเดคเต เดคเดจเตเดจเต DevOps เด เดฒเตเดฒเตเดเตเดเดฟเตฝ SRE เดชเตเดฐเตเดซเดทเดฃเดฒเตเดเตพเดเตเดเต เด เดตเดฐเตเดเต เดเตเดฒเดฟเดญเดพเดฐเด เดชเตเตผเดฃเตเดฃเดฎเดพเดฏเดฟ เดชเตเดฐเดเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเต เด เดเดพเดดเตเด เดเดณเตเดชเตเดชเดฎเดพเดเตเดเตเดจเตเดจเต.
เดเตปเดซเตเดฐเดพเดธเตเดเตเดฐเดเตเดเตผ เดกเดพเดฑเตเดฑเดฏเดพเดฏเดฟ เดธเดเดเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฑเต เดฎเดฑเตเดฑเต เดเตเดฃเดเตเดเดณเดฟเตฝ เดเดต เดเตพเดชเตเดชเตเดเตเดจเตเดจเต:
- GitOps เด เดฒเตเดฒเตเดเตเดเดฟเตฝ Git เดเดชเตเดชเดฑเตเดทเตปเดธเต เดชเดคเดฟเดชเตเดชเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด. เดเดฒเตเดฒเดพ Kubernetes YAML เดซเดฏเดฒเตเดเดณเตเด git เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟเดเดณเดฟเตฝ เดธเตเดเตเดทเดฟเดเตเดเดพเตป เด เดธเดฎเตเดชเดจเด เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต, เด เดคเดฟเดจเดพเตฝ เดเดฐเต เดฎเดพเดฑเตเดฑเด เดเดชเตเดชเตเตพ เดตเดฐเตเดคเตเดคเดฟ, เดเดฐเดพเดฃเต เด เดคเต เดตเดฐเตเดคเตเดคเดฟเดฏเดคเต, เดเดจเตเดคเดพเดฃเต เดเตเดคเตเดฏเดฎเดพเดฏเดฟ เดฎเดพเดฑเดฟเดฏเดคเต เดเดจเตเดจเดฟเดต เดเตเดคเตเดฏเดฎเดพเดฏเดฟ เดเตเดฐเดพเดเตเดเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด. เดเดคเต เดธเตเดฅเดพเดชเดจเดคเตเดคเดฟเดฒเตเดเดจเตเดณเดฎเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเดณเตเดเต เดธเตเดคเดพเดฐเตเดฏเดค เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เด เดตเตเดฏเดเตเดคเดค เดเดฒเตเดฒเดพเดคเดพเดเตเดเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดค เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต, เดชเตเดฐเดคเตเดฏเตเดเดฟเดเตเดเตเด เดเตเดตเดจเดเตเดเดพเตผ เด เดตเตผเดเตเดเต เดเดตเดถเตเดฏเดฎเดพเดฏ เดตเดฟเดญเดตเดเตเดเตพ เดคเตเดเตเดฃเตเด เดเดเดเตเดเดณเดฟเตฝ. เด เดคเต เดธเดฎเดฏเด, เดเดฐเต เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดฒเดฏเดฟเดชเตเดชเดฟเดเตเดเตเดเตเดฃเตเดเต เดเตเดฌเตผเดจเตเดฑเตเดฑเตเดธเต เดเดฑเดตเดฟเดเดเตเดเดณเดฟเตฝ เดธเตเดตเดฏเดฎเตเดต เดฎเดพเดฑเตเดฑเดเตเดเตพ เดตเดฐเตเดคเตเดคเตเดจเตเดจเดคเต เดเดณเตเดชเตเดชเดฎเดพเดเตเด.
- เดธเตเดเตเดฒเดฌเดฟเดณเดฟเดฑเตเดฑเดฟ. เดเดฑเดตเดฟเดเดเตเดเตพ YAML เดเดจเตเดจเต เดจเดฟเตผเดตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดเตเดฒเดธเตเดฑเตเดฑเตผ เดเดชเตเดชเดฑเตเดฑเตเดฑเตผเดฎเดพเตผเดเตเดเต เดเดฐเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดฑเดฟเดธเตเดดเตโเดธเดฟเตฝ เดเดจเตเดจเต เดฐเดฃเตเดเต เดจเดฎเตเดชเดฑเตเดเตพ เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเต เดตเดณเดฐเต เดเดณเตเดชเตเดชเดฎเดพเดฏเดฟเดคเตเดคเตเดฐเตเดจเตเดจเต, เด เดคเตเดตเดดเดฟ เด เดคเต เดธเตเดเตเดฏเดฟเตฝ เดเตเดฏเตเดฏเตเดจเตเดจ เดฐเตเดคเดฟ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต. เดชเตเดกเตเดเดณเตเดเต เดคเดฟเดฐเดถเตเดเตเดจเดฎเดพเดฏ เดเดเตเดเตเดธเตโเดเตเดฒเดฟเดเดเดฟเดจเตเดณเตเดณ เดเดฐเต เดธเดเดตเดฟเดงเดพเดจเด เดเตเดฌเตเตผเดจเตเดฑเตเดฑเดธเต เดจเตฝเดเตเดจเตเดจเต, เดคเดพเดดเตเดจเตเดจเดคเตเด เดเดฏเตผเดจเตเดจเดคเตเดฎเดพเดฏ เดเตเดฐเดพเดซเดฟเดเต เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดตเดฟเดจเตเดฏเดพเดธ เดเตเตบเดซเดฟเดเดฑเตเดทเดจเดฟเตฝ เดเดฑเตเดฑเดตเตเด เดเตเดฑเดเตเดเดคเตเด เดเตเดเดฟเดฏเดคเตเดฎเดพเดฏ เดชเตเดกเตเดเดณเตเดเต เดเดฃเตเดฃเด เดเดจเตเดคเดพเดฃเตเดจเตเดจเต เดธเตเดเดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏเดฟ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเดพเตป เดเดคเต เดเดชเดฏเตเดเดฟเดเตเดเดพเด. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเตเดฐเดพเดซเดฟเดเตเดเดฟเดฒเต เดชเตเดเตเดเตเดจเตเดจเตเดณเตเดณ เดตเตผเดฆเตเดงเดจเดตเต เดเดพเดฐเดฃเด เด เดงเดฟเด เดถเตเดทเดฟ เดเดตเดถเตเดฏเดฎเดพเดฏ เดเดฐเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดจเดฟเดเตเดเตพ เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเตเดเตเดเดฟเตฝ, maxReplicas 10 เตฝ เดจเดฟเดจเตเดจเต 20 เดเดฏเดฟ เดฎเดพเดฑเตเดฑเดพเด:
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: myapp
namespace: default
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: myapp-deployment
minReplicas: 1
maxReplicas: 20
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
- เดธเตเดฐเดเตเดทเดฏเตเด เดฎเดพเดจเตเดเตเดฎเตเดจเตเดฑเตเด. เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเดฟเตฝ เดเดพเดฐเตเดฏเดเตเดเตพ เดเดเตเดเดจเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต YAML เดฎเดฟเดเดเตเดเดคเดพเดฃเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเดเตเดเดณเตเดเต เดเตเดฒเดฟเดญเดพเดฐเด เดเดฐเต เดจเตเตบ-เด
เดกเตเดฎเดฟเตป เดเดชเดฏเตเดเตเดคเดพเดตเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเตเดฃเตเดเต เดเดจเตเดจเดคเต เดเดฐเต เดชเตเดฐเดงเดพเดจ เดธเตเดฐเดเตเดทเดพ เดเดถเดเตเดเดฏเดพเดฃเต. เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดเดเตเดเตพเดเตเดเต เด
เดคเตเดคเดฐเด เดเดชเดเดฐเดฃเดเตเดเตพ เดเดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดจเตเดจเตเดเตเดเดพเด
เดเดฑเตเดฑเตเดฎเตเดเตเดเตฝ , YAML/JSON เดตเดพเดฒเดฟเดกเตเดฑเตเดฑเตผ, เดชเตเดฒเดธเตเดชเตเดณเดฟเดธเดฟ เดเดเดจเตเดฑเต เดคเตเดฑเดเตเดเตเด , เดธเดจเตเดฆเตผเดญเด เดเดฑเดชเตเดชเดพเดเตเดเดพเตป เดเดฐเต เดชเตเดณเดฟเดธเดฟ เดตเดพเดฒเดฟเดกเตเดฑเตเดฑเตผเดธเตเดฐเดเตเดทเดพ เดธเดจเตเดฆเตผเดญเด เดจเดฟเดเตเดเดณเตเดเต เดเตเดฒเดฟเดญเดพเดฐเด เดเดฃเตเดเตเดฏเตโเดจเดฑเดฟเดจเต เด เดกเตเดฎเดฟเดจเดฟเดธเตเดเตเดฐเตเดฑเตเดฑเตผ เดชเตเดฐเดคเตเดฏเตเดเดพเดตเดเดพเดถเดเตเดเดณเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเตป เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดเดคเต เดเดตเดถเตเดฏเดฎเตเดเตเดเดฟเตฝ, เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพเดเตเดเต เดเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดจเดฏเด เดชเตเดฐเดฏเตเดเดฟเดเตเดเดพเดตเตเดจเตเดจเดคเดพเดฃเตเดฑเตเดเต , เดเดคเตเดชเตเดพเดฒเต:
package main
deny[msg] {
input.kind = "Deployment"
not input.spec.template.spec.securityContext.runAsNonRoot = true
msg = "Containers must not run as root"
}
- เดเดฐเต เดเตเดฒเตเดกเต เดฆเดพเดคเดพเดตเตเดฎเดพเดฏเตเดณเตเดณ เดธเดเดฏเตเดเดจเดคเตเดคเดฟเดจเตเดณเตเดณ เดเดชเตเดทเดจเตเดเตพ. เดเดจเตเดจเดคเตเดคเต เดนเต เดเตเดเตโเดจเตเดณเดเดฟเดฏเดฟเดฒเต เดเดฑเตเดฑเดตเตเด เดถเตเดฐเดฆเตเดงเตเดฏเดฎเดพเดฏ เดชเตเดฐเดตเดฃเดคเดเดณเดฟเดฒเตเดจเตเดจเต เดชเตเดคเต เดเตเดฒเตเดกเต เดฆเดพเดคเดพเดเตเดเดณเดฟเตฝ เดเตเดฒเดฟเดญเดพเดฐเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด เดเดจเตเดจเดคเดพเดฃเต. เดเดเดเด เดเดชเดฏเตเดเดฟเดเตเดเต
เดเตเดฒเตเดกเต-เดฆเดพเดคเดพเดตเต เดเดคเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเตเดฏเตเด เด เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดเตเดฒเตเดกเต เดชเตเดฐเตเดตเตเดกเดฑเตเดฎเดพเดฏเดฟ เดธเดเดฏเตเดเดฟเดชเตเดชเดฟเดเตเดเดพเตป Kubernetes เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดฐเต เดเดชเดฏเตเดเตเดคเดพเดตเต AWS-เตฝ Kubernetes-เตฝ เดเดฐเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เดเดฐเต เดธเตเดตเดจเดคเตเดคเดฟเดฒเตเดเต เด เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดตเตเดณเดฟเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเตเดตเตเดเตเดเดฟเตฝ, เดเตเดฒเตเดกเต เดฆเดพเดคเดพเดตเต เดธเตเดตเดจเด เดธเตเดตเดฏเดฎเตเดต เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดธเดนเดพเดฏเดฟเดเตเดเตเดจเตเดจเตLoadBalancer
เดเดคเต เดธเตเดตเดฏเดฎเตเดต เดฒเตเดกเต เดฌเดพเดฒเตปเดธเตผ เดจเตฝเดเตเดเดเดฎเดธเตเตบ เดเดฒเดพเดธเตเดฑเตเดฑเดฟเดเต เดฒเตเดกเต เดฌเดพเดฒเตปเดธเตผ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดกเตเดเดณเดฟเดฒเตเดเตเดเต เดเตเดฐเดพเดซเดฟเดเต เดฑเตเดกเดฏเดฑเดเตเดเต เดเตเดฏเตเดฏเดพเตป.
เดตเดฟเดชเตเดฒเตเดเดฐเดฃเดเตเดทเดฎเดค
เดเตเดฌเตเตผเดจเตเดฑเตเดฑเดธเต เดตเดณเดฐเต เดตเดฟเดชเตเดฒเตเดเดฐเดฟเดเตเดเดพเดตเตเดจเตเดจเดคเตเด เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดเดคเต เดเดทเตเดเดชเตเดชเตเดเตเดจเตเดจเดคเตเดฎเดพเดฃเต. เดชเตเดกเตเดเตพ, เดตเดฟเดจเตเดฏเดพเดธเดเตเดเตพ, เดเดจเตเดจเดฟเดเตเดเดจเต เดฒเดญเตเดฏเดฎเดพเดฏ เดเดฐเต เดเตเดเตเดเด เดเดฑเดตเดฟเดเดเตเดเดณเตเดฃเตเดเต. StatefulSets
, เดฐเดนเดธเตเดฏเดเตเดเตพ, ConfigMaps
, เดคเตเดเดเตเดเดฟเดฏเดต. เดถเดฐเดฟเดฏเดพเดฃเต, เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพเดเตเดเตเด เดกเตเดตเดฒเดชเตเดชเตผเดฎเดพเตผเดเตเดเตเด เดซเตเดฎเดฟเตฝ เดฎเดฑเตเดฑเต เดเดฑเดตเดฟเดเดเตเดเตพ เดเตเตผเดเตเดเดพเตป เดเดดเดฟเดฏเตเด
เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฎเตเดเตเดเต เดเดฐเต เดฑเดฟเดธเตเดดเตเดธเต เดจเดฟเตผเดตเดเดฟเดเตเดเดฃเดฎเตเดเตเดเดฟเตฝ CronTab
, เด
เดชเตเดชเตเตพ เดจเดฟเดเตเดเตพเดเตเดเต เดเดคเตเดชเตเดฒเตเดจเตเดจเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: crontabs.my.org
spec:
group: my.org
versions:
- name: v1
served: true
storage: true
Schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
cronSpec:
type: string
pattern: '^(d+|*)(/d+)?(s+(d+|*)(/d+)?){4}$'
replicas:
type: integer
minimum: 1
maximum: 10
scope: Namespaced
names:
plural: crontabs
singular: crontab
kind: CronTab
shortNames:
- ct
เดชเดฟเดจเตเดจเตเดเต เดจเดฎเตเดเตเดเต เดเดคเตเดชเตเดฒเตเดณเตเดณ เดเดฐเต CronTab เดฑเดฟเดธเตเดดเตเดธเต เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด:
apiVersion: "my.org/v1"
kind: CronTab
metadata:
name: my-cron-object
spec:
cronSpec: "* * * * */5"
image: my-cron-image
replicas: 5
เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเดฟเดฒเต เดตเดฟเดชเตเดฒเตเดเดฐเดฃเดคเตเดคเดฟเดจเตเดณเตเดณ เดฎเดฑเตเดฑเตเดฐเต เดเดชเตเดทเตป, เดกเดตเดฒเดชเตเดชเตผเดเตเดเต เดธเตเดตเดจเตเดคเด เดชเตเดฐเดธเตเดคเดพเดตเดจเดเตพ เดเดดเตเดคเดพเตป เดเดดเดฟเดฏเตเด เดเดจเตเดจเดคเดพเดฃเต.
เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผเดเตเดเต เด
เดตเดฐเตเดเต เดธเตเดตเดจเตเดคเด เดเดชเตเดชเดฑเตเดฑเตเดฑเตผเดฎเดพเดฐเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดเดณเตเดชเตเดชเดฎเดพเดเตเดเตเดจเตเดจ เดจเดฟเดฐเดตเดงเดฟ เดเตเดณเตเดเตพ เดเดฎเตเดฎเตเดฏเตเดฃเดฟเดฑเตเดฑเดฟเดฏเดฟเดฒเตเดฃเตเดเต. เด
เดตเตผเดเตเดเดฟเดเดฏเดฟเตฝ -
$ operator-sdk new my-operator --repo github.com/myuser/my-operator
YAML เดซเดฏเดฒเตเดเดณเตเด Golang เดเตเดกเตเด เดเตพเดชเตเดชเตเดเต เดจเดฟเดเตเดเดณเตเดเต เดเดชเตเดชเดฑเตเดฑเตเดฑเตผเดเตเดเตเดณเตเดณ เดเดฒเตเดฒเดพ เดฌเตเดฏเดฟเดฒเตผ เดชเตเดฒเตเดฑเตเดฑเต เดเตเดกเตเด เดเดคเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต:
.
|____cmd
| |____manager
| | |____main.go
|____go.mod
|____deploy
| |____role.yaml
| |____role_binding.yaml
| |____service_account.yaml
| |____operator.yaml
|____tools.go
|____go.sum
|____.gitignore
|____version
| |____version.go
|____build
| |____bin
| | |____user_setup
| | |____entrypoint
| |____Dockerfile
|____pkg
| |____apis
| | |____apis.go
| |____controller
| | |____controller.go
เดคเตเดเตผเดจเตเดจเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดตเดถเตเดฏเดฎเดพเดฏ API-เดเดณเตเด เดเตบเดเตเดฐเตเดณเดฑเตเด เดเดคเตเดชเตเดฒเต เดเตเตผเดเตเดเดพเตป เดเดดเดฟเดฏเตเด:
$ operator-sdk add api --api-version=myapp.com/v1alpha1 --kind=MyAppService
$ operator-sdk add controller --api-version=myapp.com/v1alpha1 --kind=MyAppService
เดคเตเดเตผเดจเตเดจเต, เดเดเตเดตเดฟเตฝ, เดเดชเตเดชเดฑเตเดฑเตเดฑเดฑเต เดเตเดเตเดเดฟเดเตเดเตเตผเดเตเดเตเดเดฏเตเด เดจเดฟเดเตเดเดณเตเดเต เดเดฃเตเดเตเดฏเตเดจเดฑเดฟเดจเตเดฑเต เดฐเดเดฟเดธเตเดเตเดฐเดฟเดฏเดฟเดฒเตเดเตเดเต เด เดฏเดฏเตเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด:
$ operator-sdk build your.container.registry/youruser/myapp-operator
เดกเดตเดฒเดชเตเดชเตผเดเตเดเต เดเตเดเตเดคเตฝ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด เดตเตเดฃเดฎเตเดเตเดเดฟเตฝ, Go เดซเดฏเดฒเตเดเดณเดฟเดฒเต เดฌเตเดฏเดฟเดฒเตผ เดชเตเดฒเตเดฑเตเดฑเต เดเตเดกเต เดฎเดพเดฑเตเดฑเดพเดตเตเดจเตเดจเดคเดพเดฃเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเตบเดเตเดฐเตเดณเดฑเดฟเดจเตเดฑเต เดชเตเดฐเดคเตเดฏเตเดเดคเดเตพ เดชเดฐเดฟเดทเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเดเตเดเตพเดเตเดเต เดซเดฏเดฒเดฟเตฝ เดฎเดพเดฑเตเดฑเดเตเดเตพ เดตเดฐเตเดคเตเดคเดพเด controller.go
.
เดฎเดฑเตเดฑเตเดฐเต เดชเดฆเตเดงเดคเดฟ
$ kubectl kudo install zookeeper
$ kubectl kudo install kafka
เดคเตเดเตผเดจเตเดจเต เดฎเดฑเตเดฑเตเดฐเต เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดคเต เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเตเด:
$ kubectl kudo install kafka --instance=my-kafka-name
-p ZOOKEEPER_URI=zk-zookeeper-0.zk-hs:2181
-p ZOOKEEPER_PATH=/my-path -p BROKER_CPUS=3000m
-p BROKER_COUNT=5 -p BROKER_MEM=4096m
-p DISK_SIZE=40Gi -p MIN_INSYNC_REPLICAS=3
-p NUM_NETWORK_THREADS=10 -p NUM_IO_THREADS=20
เดชเตเดคเตเดฎ
เดเดดเดฟเดเตเด เดเตเดฑเดเตเดเต เดตเตผเดทเดเตเดเดณเดพเดฏเดฟ, เดชเตเดฐเดงเดพเดจ เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดฑเดฟเดฒเตเดธเตเดเตพ เดเดคเดพเดจเตเด เดฎเดพเดธเดเตเดเตพ เดเตเดเตเดฎเตเดชเตเตพ เดชเตเดฑเดคเตเดคเตเดตเดฐเตเดจเตเดจเต - เด
เดคเดพเดฏเดคเต, เดชเตเดฐเดคเดฟเดตเตผเดทเด เดฎเตเดจเตเดจเต เดจเดพเดฒเต เดชเตเดฐเดงเดพเดจ เดฑเดฟเดฒเตเดธเตเดเตพ. เด
เดตเดฏเดฟเตฝ เดเดฐเตเดจเตเดจเดฟเดฒเตเด เด
เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจ เดชเตเดคเดฟเดฏ เดซเตเดเตเดเดฑเตเดเดณเตเดเต เดเดฃเตเดฃเด เดเตเดฑเดฏเตเดจเตเดจเดฟเดฒเตเดฒ. เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เด เดฆเตเดทเตโเดเดฐเดฎเดพเดฏ เดธเดฎเดฏเดเตเดเดณเดฟเดฒเตเด เดตเตเดเดค เดเตเดฑเดฏเตเดจเตเดจเดคเดฟเดจเตเดฑเต เดฒเดเตเดทเดฃเดฎเดฟเดฒเตเดฒ - เดเดชเตเดชเตเตพ เดธเตเดฅเดฟเดคเดฟ เดเดจเตเดคเดพเดฃเตเดจเตเดจเต เดจเตเดเตเดเต
เดตเตเดตเดฟเดงเตเดฏเดฎเดพเตผเดจเตเดจ เดเตเดฒเดฟเดญเดพเดฐเดเตเดเดณเดฟเดฒเตเดเดจเตเดณเด เดเตเดเตเดคเตฝ เด เดฏเดตเตเดณเตเดณ เดเตเดฒเดธเตเดฑเตเดฑเตผ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดจเดเดคเตเดคเดพเตป เดชเตเดคเดฟเดฏ เดเดดเดฟเดตเตเดเตพ เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต. เดเตเดเดพเดคเต, เดชเตเดฐเตเดกเดเตเดทเดจเดฟเดฒเตเดเตเดเต เดจเตเดฐเดฟเดเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดฎเตเดชเตเตพ เดชเตเดฐเตเดเตเดฐเดพเดฎเตผเดฎเดพเตผ เดเตเดเตเดคเตฝ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด เดเดธเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต.
เดเดฎเตเดฎเตเดฏเตเดฃเดฟเดฑเตเดฑเดฟ
เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเดฟเดจเตเดฑเต เดเดจเดชเตเดฐเตเดคเดฟเดฏเตเดเต เดฎเดฑเตเดฑเตเดฐเต เดชเตเดฐเดงเดพเดจ เดตเดถเด เด
เดคเดฟเดจเตเดฑเต เดธเดฎเตเดนเดคเตเดคเดฟเดจเตเดฑเต เดถเดเตเดคเดฟเดฏเดพเดฃเต. 2015-เตฝ, เดชเดคเดฟเดชเตเดชเต 1.0-เตฝ เดเดคเตเดคเดฟเดฏเดชเตเดชเตเตพ, เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดธเตเดชเตเตบเดธเตผ เดเตเดฏเตเดคเต
เดตเดฟเดตเดฟเดง เดธเดฎเตเดนเดเตเดเดณเตเดฎเตเดฃเตเดเต
เดเตเดฒเตเดกเต เดจเตเดฑเตเดฑเตเดตเต เดซเตเดฃเตเดเตเดทเตป CloudNativeCon/KubeCon เดนเตเดธเตเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเต, เดเดคเต เดเดดเตเดคเตเดจเตเดจ เดธเดฎเดฏเดคเตเดคเต, เดฒเตเดเดคเตเดคเดฟเดฒเต เดเดฑเตเดฑเดตเตเด เดตเดฒเดฟเดฏ เดเดชเตเดชเตบ เดธเตเดดเตโเดธเต เดเตเตบเดซเดฑเตปเดธเดพเดฃเต. เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดตเตผเดทเดคเตเดคเดฟเตฝ เดฎเตเดจเตเดจเต เดคเดตเดฃ เดจเดเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจเต, เดเดคเต เดเตเดฌเตผเดจเตเดฑเตเดฑเตเดเดณเตเด เด เดคเดฟเดจเตเดฑเต เดเดตเดพเดธเดตเตเดฏเดตเดธเตเดฅเดฏเตเด เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจ เดเดฏเดฟเดฐเดเตเดเดฃเดเตเดเดฟเดจเต เดชเตเดฐเตเดซเดทเดฃเดฒเตเดเดณเต เดเดฐเตเดฎเดฟเดเตเดเต เดเตเดฃเตเดเตเดตเดฐเตเดจเตเดจเต, เดเตเดเดพเดคเต เดเดฐเต เดฎเตเดจเตเดจเต เดฎเดพเดธเดคเตเดคเดฟเดฒเตเด เดฆเตเดถเตเดฏเดฎเดพเดเตเดจเตเดจ เดชเตเดคเดฟเดฏ เดธเดตเดฟเดถเตเดทเดคเดเตพ เดชเด เดฟเดเตเดเตเดจเตเดจเต.
เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดเตเดฒเตเดกเต เดจเตเดฑเตเดฑเตเดตเต เดซเตเดฃเตเดเตเดทเดจเต เดเดฃเตเดเต
เด เดตเดธเดพเดจเดฎเดพเดฏเดฟ, เดฎเตเดดเตเดตเตป เดธเดฎเตเดนเดคเตเดคเดฟเดจเตเดฑเตเดฏเตเด เดฌเตเดงเดชเตเตผเดตเดฎเดพเดฏ เดชเดฐเดฟเดถเตเดฐเดฎเดฎเดฟเดฒเตเดฒเดพเดคเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดตเดฟเดเดฏเดฟเดเตเดเดฟเดฒเตเดฒเตเดจเตเดจเต เดเดพเตป เดตเดฟเดถเตเดตเดธเดฟเดเตเดเตเดจเตเดจเต, เด เดตเดฟเดเต เดเดณเตเดเตพ เดเดฐเตเดฎเดฟเดเตเดเต เดจเดฟเตฝเดเตเดเตเดจเตเดจเต, เดเดจเตเดจเดพเตฝ เด เดคเต เดธเดฎเดฏเด เดชเตเดคเตเดฎเตเดเดเตเดเดณเต เดเตเดเตเดเดคเตเดคเดฟเดฒเตเดเตเดเต เดธเตเดตเดพเดเดคเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดญเดพเดตเดฟ
เดญเดพเดตเดฟเดฏเดฟเตฝ เดกเตเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เด
เดญเดฟเดฎเตเดเตเดเดฐเดฟเดเตเดเตเดฃเตเด เดชเตเดฐเดงเดพเดจ เดตเตเดฒเตเดฒเตเดตเดฟเดณเดฟเดเดณเดฟเดฒเตเดจเตเดจเต, เดเตเดกเดฟเดจเตเดฑเต เดตเดฟเดถเดฆเดพเดเดถเดเตเดเดณเดฟเตฝ เดคเดจเตเดจเต เดถเตเดฐเดฆเตเดง เดเตเดจเตเดฆเตเดฐเตเดเดฐเดฟเดเตเดเดพเดจเตเดณเตเดณ เดเดดเดฟเดตเดพเดฃเต, เด
เดฒเตเดฒเดพเดคเต เด
เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เด
เดเดฟเดธเตเดฅเดพเดจ เดธเตเดเดฐเตเดฏเดเตเดเดณเดฟเดฒเดฒเตเดฒ. เดเดคเต เด เดชเตเดฐเดตเดฃเดคเดเตพ เดชเดพเดฒเดฟเดเตเดเตเดจเตเดจเต
เด เดฒเตเดเดจเดคเตเดคเดฟเตฝ, เดเตเดฌเตเตผเดจเตเดฑเตเดฑเดธเดฟเดจเตเดฑเต เดจเดฟเดฒเดตเดฟเดฒเต เด
เดตเดธเตเดฅเดฏเตเดเต เดเดชเดฐเดฟเดคเดฒเด เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดเดเตเดเตพ เดธเตเดเตเดฐเดพเดเตเดเต เดเตเดฏเตเดคเดคเต-เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดเดคเต เดฎเดเตเดเตเดฎเดฒเดฏเตเดเต เด
เดเตเดฐเด เดฎเดพเดคเตเดฐเดฎเดพเดฃเต. Kubernetes เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพเดเตเดเต เดฎเดฑเตเดฑเต เดจเดฟเดฐเดตเดงเดฟ เดเดฑเดตเดฟเดเดเตเดเดณเตเด เดเดดเดฟเดตเตเดเดณเตเด เดเตเตบเดซเดฟเดเดฑเตเดทเดจเตเดเดณเตเด เดเดฃเตเดเต.
เด
เดตเดฒเดเดฌเด: www.habr.com