ืึทืคึผืืจืืื ืคึผืจืึธืฆืขืก ืคึฟืึทืจ ืืืื Kubernetes ืงื ืืื
ืืื ืขืืืขืืข ืคืื ื, ืืืขื ื ืืฆื ืึท Kubernetes ืงื ืืื, ืขืก ืืื ืึท ื ืืื ืฆื ืืขืจืืืึทื ืืืงื ืคืืืกื ืืืง ื ืึธืืื. ืืึธืก ืงืขื ืึทืจืืึทื ื ืขืืขื ืคึผืขืงื ืืขืจืืืึทื ืืืงืื ืืขื, ืงืขืจื ืืขืจืืืึทื ืืืงืื ืืขื ืึธืืขืจ ืืืคึผืืืืืึทื ื ืคืื ื ืืึทืข ืืืืจืืืึทื ืืึทืฉืื ืืืืืขืจ. ืืื Kubernetes ืืขืจืืื ืึธืืึธืืืข ืืื ืืึธืก ืืขืจืืคื
ืืขื ืคึผืึธืกืื ืืื ืืืื ืคืื ืึท 4-ืคึผืึธืกื ืกืขืจืืข:
- ืืขื ืคึผืึธืกืื.
- ืจืืืืืง ืฉืึทืืืึทืื ืคืื ืคึผืึธืืก ืืื ืึท ืงืืืขืจื ืขืืขืก ืงื ืืื
- ืืืืืื ืงืึทืืคึผืืืฉืึทื ืคืื ืึท ืคึผืึธื ืืืขื ืขืก ืืื ืืืืกืืขืืขืงื
- ืืื ืฆื ืืืกืืืืื ืงืืืขืจื ืขืืขืก ืงื ืืื ืืึทืื ืืืื ื ืืฆื ืคึผืึธืืืืกืจืืคึผืืืึธื ืืึทืืืฉืืฅ
(ืืขืขืจืขื ืขืจืืืืจื ืืืืขืจืืขืฆืื ืืขื ืคืื ืื ืืืืขืจืืืข ืืจืืืงืืขื ืืื ืืขืจ ืกืขืจืืข ืืื ืืขืจ ื ืื ืืขืจ ืฆืืงืื ืคื)
ืืื ืืขื ืึทืจืืืงื, ืืืจ ืืืขืื ืืึทืฉืจืืึทืื ืึทืืข ืื ืืืฉืืจืื ืืืึธืก Kubernetes ืืื ืฆื ืืขืจืืจืืืื ื ืื ืืึทืื ืืืื ืคึฟืึทืจ ืื ื ืึธืืื ืืืึธืก ืืืืคื ืืื ืืืื ืงื ืืื.
ืืขืคืื ืื ื ืื ืคึผืจืึธืืืขื
ืืืจ ืืืขืื ื ืขืืขื ืึท ื ืึทืืื ืฆืืืึทื ื ืืื ืขืจืฉืืขืจ, ืืืขื ืืืคืืฆืืจื ืคึผืจืึธืืืขืืก ืืื ืึทืกืกืขืกืก ืื ืคึผืึธืืขื ืฆืืขื ืจืืกืงืก ืคืื ืืขื ืฆืืืึทื ื, ืืื ืืืืขื ืืืืกื ืฆื ืกืึธืืืืข ืืขืืขืจ ืคืื ืื ืคืจืืืืขืืขื ืืืึธืก ืืืจ ืืจืขืคื ืืืืขืจ ืื ืฆืืงื. ืืขืจ ืจืขืืืืืึทื ืืื ืึท ืงืึทื ืคืืืืขืจืืืฉืึทื ืืืึธืก ื ืืฆื ืืืคืขืกืืงืืข ืืืงืก, ืืจืืืืงืืึทื ืคึผืจืึธืืขืก ืืื ืคึผืึธื ืืืกืจืึทืคึผืฉืึทื ืืึทืืืฉืืฅ ืฆื ืืขืจืืจืืืื ืืื ืืืขืจ ื ืื ืืึทืื ืืืื ืฆืื.
ืฆื ืึธื ืืืืื ืืื ืืืขืจ ื ืกืืขื, ืืึธืื ืืื ืื ื ืขืืขื ืึท ืืึทืืึธื ืขื ืืืึทืฉืคึผืื. ืืื ืก ืืึธืื ืืืจ ืืึธืื ืึท ืงืืืขืจื ืขืืขืก ืงื ืืื ืคืื ืฆืืืื ื ืึธืืื, ืืื ืืืึธืก ืึท ืึทืคึผืืึทืงืืืฉืึทื ืืื ืคืืืกื ืืืง ืืื ืฆืืืื ืคึผืึธืืก ืืืื ืืื ืืขืจ Service
:
ืืึธืืืจ ืึธื ืืืืื ืืื ืฆืืืื ืคึผืึธืืก ืืื Nginx ืืื ืกืขืจืืืืก ืคืืืกื ืืืง ืืืืฃ ืืื ืืืขืจ ืฆืืืื 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
, ืืืึธืก ืืึทื ืืืืฉืื ื ืืื ืงืก ืคึผืึธืืก ืืื ืืขื ืงื ืืื. ืืื ืืขืจืฆื, ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืืฉืจืืืื ืื ืืืื Service
, ืืืึธืก ืงืขื ืขื ืืืื ืืขืืืืื ื ืฆื ืึทืงืกืขืก ื ืืื ืงืก ืคึผืึธืืก ืืื ืึท ืงื ืืื.
ืืืืขืจ ืืขื ืฆืืงื, ืืืจ ืืืขืื ืืืขืจืึทืืืืืื ืืงืกืคึผืึทื ื ืืขื ืงืึทื ืคืืืืขืจืืืฉืึทื ืึทืืื ืึทื ืขืก ืืืืขื ืืฉืึทืืืึทืื ืื ืงืืืื ืึทืืข ืื ืงืืืคึผืึทืืืืึทืืื ืคืื Kubernetes ืฆื ืจืขืืืฆืืจื ืืึทืื ืืืื.
ืคึฟืึทืจ ืึท ืืึธืจ ืืืคึผืืึทืืขื ืึทื ืืื ืืขืกืืขื ืืืขืจืกืืข ืคืื โโืงืืืขืจื ืขืืขืก ืงื ืืื ืืขืจืืืึทื ืืืงืื ืืขื ืคึฟืึทืจ ื ืื ืืึทืื ืืืื ืืืืฃ AWS ืืื ืืืืึทืืขืจ, ืืึทืืืื
ืืืืขื ืขื ืืืื ืื ืืขืจืข ืึทืจืืืงืืขื ืืืืฃ ืืื ืืืขืจ ืืืึธื:
ื ืื ืืึทืื ืืืื ืืืคึผืืืืืึทื ื ืืื ืืึทืืึทืืืืกืื Kubernetes: ืืืึธืก ืืื ืขืก ืึทืืื ืืืืืืืง ืฆื ืื ืกืืึทืืืจื ืกืืกืืขื ืจืืกืึธืจืก ืคืึทืจืืืึทืืืื ื? Tekton Pipeline - ืงืืืขืจื ืขืืขืก-ืืขืืืืจื ืคึผืืืคึผืืืื ื ืืืืขื ืืื ืึทืืืฉ ืืึทืืืฉืืื ืคึฟืึทืจ Nginx ืืงืืื ืฆื Hashicorp Consul's Kubernetes Authorization ืืืึธืก ืืื ืื ืืืืืจืืืฉืึทื ืคืื ืงืืืงืงืืึทืืก ืึธื ืืขืจืืืืืขื ืืฉ ืฆื ืงืืืงืืึธืืกืข ืืื ืืขืจืืืืืขื ืืฉ ืคืืจื ืฆื?
ืืงืืจ: www.habr.com