ืชืืืื ืืฉืืจืื ืขืืืจ ืืฉืืื Kubernetes ืฉืื
ืืฉืื ืืกืืื, ืืขืช ืฉืืืืฉ ืืืฉืืื Kubernetes, ืืฉ ืฆืืจื ืืขืืื ืฆืืชืื ืคืืขืืื. ืื ืขืฉืื ืืืืื ืขืืืื ื ืืืืื, ืขืืืื ื ืืืื ืื ืคืจืืกื ืฉื ืชืืื ืืช ืืืฉืืช ืฉื ืืืฉื ืืืจืืืืื. ืืืจืืื ืืืืืื ืฉื Kubernetes ืงืืจืืื ืืื
ืคืืกื ืื ืืื ืืืง ืืกืืจื ืืช 4 ืคืืกืืื:
- ืืคืืกื ืืื.
- ืืืืื ื ืืื ืฉื ืชืจืืืืื ืืืฉืืื Kubernetes
- ืกืืื ืืืฉืื ืฉื ืคืื ืืืฉืจ ืืื ื ืืืง
- ืืืฆื ืืืืื ืข ืืืื ืืฉืืชื ืืืฉืืื Kubernetes ืืืืฆืขืืช PodDisruptionBudgets
(ื. ืฆืคื ืืชืจืืืืื ืฉื ืฉืืจ ืืืืืจืื ืืกืืจื ืืืื ืืงืจืื)
ืืืืืจ ืื ื ืชืืจ ืืช ืื ืืืืื ืฉ-Kubernetes ืืกืคืงืช ืืื ืืืฉืื ืืคืก ืืื ืืฉืืชื ืขืืืจ ืืฆืืชืื ืืคืืขืืื ืืืฉืืื ืฉืื.
ืืืืจืช ืืืขืื
ื ื ืงืื ืืืืฉื ื ืืืืืช ืืืชืืื, ื ืืื ืืขืืืช ืื ืขืจืื ืืช ืืกืืืื ืื ืืคืืื ืฆืืืืืื ืฉื ืืืฉื ืื, ืื ืื ื ืืืข ืืคืชืจืื ืื ืืืช ืืืืขืืืช ืฉืื ื ื ืชืงืืื ืืื ืืืืจื ืืืืืืจ. ืืชืืฆืื ืืื ืชืฆืืจื ืืืฉืชืืฉืช ืืืื ืืืืืจ ืืืื, ืืืืงืืช ืืืื ืืช ืืชืงืฆืืื ืฉืืืืฉืื ื-Pod ืืื ืืืฉืื ืืช ืืขื ืืคืก ืืื ืืืฉืืชื ืฉืื ื.
ืืื ืืืชืืื ืืช ืืืกืข ืฉืื ื, ื ืืงื ืืืืื ืงืื ืงืจืืืช. ื ื ืื ืฉืืฉ ืื ื ืืฉืืื Kubernetes ืฉื ืฉื ื ืฆืืชืื, ืฉืื ืืคืืืงืฆืื ืคืืขืืช ืขื ืฉื ื ืคืืืื ืืืืืงืืื ืืืืืจ. Service
:
ื ืชืืื ืขื ืฉื ื ืคืืืื ืขื Nginx ื-Service ืฉืคืืขืืื ืืฉื ื ืฆืืชื ืืืฉืืื ืฉืื ื ืฉื Kubernetes.
ืื ื ืจืืฆืื ืืขืืื ืืช ืืจืกืช ืืืืื ืฉื ืฉื ื ืฆืืชื ืขืืืื ืืืฉืืื ืฉืื ื. ืืื ืื ืื ื ืขืืฉืื ืืช ืื? ืคืชืจืื ืคืฉืื ืืืื ืืืชืื ืฆืืชืื ืืืฉืื ืขื ืืชืฆืืจื ืืืขืืืื ืช ืืืืืจ ืืื ืืืืืช ืืช ืืฆืืชืื ืืืฉื ืื ืชืื ืืื ืืคืขืืช ืืฆืืชืื ืืืืฉืื. ืืืจืืช ืฉืื ืืขืืื, ืืืื ืืื ืืขืืืช ืืืืฉื ืื:
- ืืืฉืจ ืืชื ืืืื ืฆืืชืื ืืฉื ืื, ืื ืืคืืืื ืืคืืขืืื ืขืืืื ืืืืื. ืื ืื ืฆืจืื ืืคื ืืช ืืช ืืชืจืืืืื ืืืืืื ืืื ื ื? ืืืชืื ืฉืืขืจืืช ืืืืืจืืืืืืืฆืื ืฉืื ืืชื ืืฉืชืืฉ ืื ืชืืื ืืกืืื ืชืืืื ืื ืืงืื.
- ืื ืื ืชืืื ืืช ืื ืืฆืืชืื ืื ืืื ืืช? ืชืงืื ืืื ืืฉืืชื ืืืื ืืืื ืฉืืคืืืื ืขืืืจืื ืืฆืืชืื ืืืฉืื.
ืื ื ืืงืืงืื ืืืจื ืืืขืืจื ืืื ืฉื ืชืจืืืืื ืืฆืืชืื ืืฉื ืื ืชืื ืืืืื ืฉืืฃ ืืื ืืชืืืืื ืืขืืืื ืฉืื ื ืืื ื ืคืืขื ืืืื ืฉืื ื ืืืฆืขืื ืฉืื ืืืื ืืฆืืืช. ืื ืืฉืื ืื ื ืขืืฉืื ืืืืคื ืืืื ืฉื ืืืฉืืื, ืืื ืืืืืื (ืืืืืจ, ืื ืื ื ืืืืืคืื ืชืืื ืืช VM), ืื ืื ื ืจืืฆืื ืืืขืืืจ ืืคืืืงืฆืืืช ืคืืขืืืช ืืฆืืชืื ืืฉื ืื ืืืืฉืื. ืืฉื ื ืืืงืจืื, ืื ื ืจืืฆืื ืืื ืืข ืืชืจืืืืื ืืืฉืื ืืชืืื ืขื ืฆืืชืื ืืฉื ืื, ืืืืืจ ืืื ืืืจืฉ ืืื ืืช ืื ืืคืืืื ืืคืืขืืื. ืืื ืืืฉืื ืืืจืืช ืืื ื ืืื ืืืฉืชืืฉ ืืคืงืืื kubectl drain
.
ืืคืฆื ืืืืฉ ืฉื ืื ืืชืจืืืืื ืืฆืืืช
ืคืขืืืช ืื ืืงืื ืืืคืฉืจืช ืื ืืืคืืฅ ืืืืฉ ืืช ืื ืืชืจืืืืื ืืฆืืืช. ืืืืื ืืืฆืืข ื ืืงืื, ืืฆืืืช ืืกืืื ืืืืชื ื ืืชื ืืชืืืื (ืืื NoSchedule
). ืื ืืื ืข ืืืืืคืืข ืื ืชืจืืืืื ืืืฉืื. ืืื ืื ืืงืื ืืชืืื ืืืจืฉ ืชืจืืืืื ืืืฆืืืช, ืืืื ืืช ืืืืืืื ืฉืคืืขืืื ืืขืช ืขื ืืฆืืืช, ืฉืืื ืืืช TERM
ืืืืืื ืืชืจืืื.
ืืืจืืช kubectl drain
ืืขืฉื ืขืืืื ืืฆืืื ืช ืืคืื ืื ืชืจืืืืื, ืืฉื ื ืฉื ื ืืืจืืื ื ืืกืคืื ืฉืขืืืืื ืืืจืื ืืืฉื ืืคืขืืืช ืื ืืงืื:
- ืืืงืฉื ืฉืื ืืืืืช ืืืืืช ืืกืืืืช ืืืกืชืืื ืืื ืขื ืืืฉืชื
TERM
ืืึนืช. ืืืฉืจ ืชืจืืืืื ืืคืื ืื, Kubernetes ืฉืืื ืืืชTERM
ืืืืืืช ืืืืื ืืขืฆืืจืชื ืืืฉื ืคืจืง ืืื ืืืืืจ, ืืืืืจ ืืื, ืื ืื ืื ืขืฆืจื, ืืื ืืคืกืืงื ืืืชื ืืืื. ืืื ืืงืจื, ืื ืืงืื ืืืื ืจ ืฉืื ืื ืชืืคืก ืืช ืืืืช ืืฆืืจื ื ืืื ื, ืืชื ืขืืืื ืืืื ืืืืืช ืคืืืื ืืฆืืจื ืฉืืืื ืื ืื ืคืืขืืื ืืขืช (ืืืืืื, ืืชืืฆืขืช ืขืกืงืช ืืกื ื ืชืื ืื). - ืืชื ืืืื ืืช ืื ืืชืจืืืืื ืืืืืืื ืืช ืืืืฉืื ืฉืื. ืืืชืื ืฉืืื ืื ืืืื ืืืฉืจ ืงืื ืืืื ืจืื ืืืฉืื ืืืฉืงื ืืฆืืชืื ืืืฉืื, ืื ืื ืืคืืืื ืฉืื ื ืคืจืกืื ืืื ืืงืจืื, ืืืชืื ืฉืื ืื ืืืคืขืื ืืืืฉ ืืื.
ืืืื ืขืืช ืืืื ืืฉืืชื
ืืื ืืืืขืจ ืืื ืืฉืืชื ืืชืืฆืื ืืืคืจืขื ืืจืฆืื, ืืืื ืืคืขืืืช ื ืืงืื ืืฆืืืช, Kubernetes ืืกืคืงืช ืืช ืืืคืฉืจืืืืช ืืืืืช ืืืืคืื ืืืฉืืื:
ืืฉืืจ ืืกืืจื, ื ืฉืชืืฉ ืืชืืื ืืช Kubernetes ืืื ืืื ืืืคืืืช ืืช ืืืฉืคืขื ืฉื ืืขืืจืช ืชืจืืืืื. ืืื ืืืงื ืขื ืืืฆืืข ืืจืขืืื ืืืจืืื, ื ืฉืชืืฉ ืืืืืื ืฉืื ื ืืืขืื ืขื ืชืฆืืจืช ืืืฉืื ืืืื:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.15
ports:
- containerPort: 80
---
kind: Service
apiVersion: v1
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
targetPort: 80
port: 80
ืชืฆืืจื ืื ืืื ืืืืื ืืื ืืืืืช Deployment
, ืืื ืืืช nginx pods ืืืฉืืื. ืื ืืกืฃ, ืืชืฆืืจื ืืชืืจืช โโืืช ืืืฉืื Service
, ืฉืื ื ืืชื ืืืฉืชืืฉ ืืื ืืืฉืช ืืชืจืื nginx ืืืฉืืื.
ืืืืจื ืืืืืืจ, ื ืจืืื ืืืืคื ืืืืจืืืื ืืช ืืชืฆืืจื ืืื ืื ืฉืืื ืชืืืื ืืกืืคื ืฉื ืืืจ ืืช ืื ืืืืืืืช ืฉืืกืคืงืช Kubernetes ืืืคืืชืช ืืื ืืืฉืืชื.
ืืืจืกื ืืืืฉืืช ืืืืืงื ืืืืืื ืฉื ืขืืืื ื ืืฉืืื Kubernetes ืืืคืก ืืื ืืฉืืชื ื-AWS ืืืขืืจ ืืื, ืืงืจ ืืืชืืืช
ืงืจื ืื ืืืืจืื ืืืจืื ืืืืื ืฉืื ื:
ืืคืก ืคืจืืกืช ืืื ืืฉืืชื ืืืกืื ื ืชืื ืื Kubernetes: ืืืืข ืื ืื ืืฉืื ืืืืืืจ ืืช ื ืืืื ืืฉืืื ืืืขืจืืช? Tekton Pipeline - ืฆืื ืืจืืช ืืงืืจืืื ืฉื Kubernetes ืื ืืืช ืืืืืืื ืืื ืืืื ืขืืืจ Nginx ืืืืจืืช ืขื ืืจืฉืืช Kubernetes ืฉื Hashicorp Consult ืืื ืืืืืื ืืืืืจื ื-ClickHouse ืืื ืืจืฉืื ื-ClickHouse ืขื ืืจืฉืื?
ืืงืืจ: www.habr.com