Pavel Selivanov ααααΆαααααααααααααααΆα Southbridge αα·αααΆααααΌαααααα Slurm ααΆαααααΎαααααα αΆααα DevOpsConf 2019α ααΆααα·ααΆααααΆαααααΊααΆααααααα½ααααααααΆααααααααααα·ααααΆαααΈααααα ααΎ Kubernetes "Slurm Mega" α
ααΆααααααααΆαααΆααααΊααΆααααα·α αΆαα·ααααααΆαααΆαααα
α’αα»ααα½ααααΈαα·ααααα½αααΆαααΆα αα·αα’ααααααα’αΆαα·ααα½αααα ααααααααααα»αααΉααα·ααΆαα’αααΈαα»ααααα·ααΆαα
αααα»αβααΎαβααΆβααΆαβααααα·αα»αβα αααΎαβαα βαααα»αβααΆαβααααβααααα αααα»ααα»ααααα’αααααΆαα»α ααααα·αααΎαααα»αααααΎααΆαααααΈαα·αααα»ααααα·ααΆααα·ααα·αααααΆααααΌα αααααΆαααααααΆααα’αααα
ααΆααΆαααΎαα‘αΎαααΌα αααααααα ααααααΆααα½ααααα»ααααα»αααΆαααααααΆααα ααααα Kubernetes ααΆααΆααααα½αα ααΆααΆαααααΆααααααΆααΆαα ααα½α nth αα namespaces; αα αααα»α namespaces ααΆαααααααΆαα’αααααααΎααααΆααααΆα ααααα‘αααα αααα»α namespace αααααα½αααα α’αααααααΎααααΆααααΆααα’αααααααΆαααααα·αααα·αααααααα»αα αα»αααααααααααΆα ααΆααΆααααααΎαααΆαα, ααΆααααΌαααΆαααααααααααΆα αααααααααα½αααααααΌαααΆαααααΎααΆ CDN α αααααΊαα½ααααααααα±ααα’αααααΌαα ααααααα½α αα½ααααααααα±ααα’αααααΌαα’αααααααΎααααΆαααα ααΈααα α’ααααα ααΈααααα ααΆαα namespace ααααα’ααα ααΆαααααααΆααααααααΆααα»αααααα’αααα
αααα»αα αα»ααα»ααααααααα»αααΆαααααΆααΆααααααααΆααααααααααα α αΎαβαααα»αβααααΌαβααΆαβααβαα½αβα±ααβα α»α βα αααααβααΎααααΈβααΎαβααΆβααΎβαααααααααΆαβαααβααααααβα¬βα’ααα
αααα»αααΆααααααα»ααααα αααα»αβααααΌαβααΆαβαααααβαα·αααα·βααΆαβααααα α αααααβαααααβααΆαβαααααα αα»αααα ααΈααααααααΆαα»ααααα·ααΆαααΆα’αααΈα αα½αααααΆαα’αΆαα’αααΈααΆααααααααααααΆαα αΌαααααΎααααΆαααααααα’ααααΎαα½ααΆααΈ (RBAC) αα αααα»α Kubernetes α αΎααα½αααααΆαααααα·αααΆ ααΌα αααααααα»ααα·αα’αΆα ααΎαααααΎαααΆα pods ααΆα ααααα‘ααααΈααΆαααΆαααααααΆαααΆαααα αααα»αβαα·αβα αΆαβααΆβαααα αΆβαααβαααα»αβαααα»αβααααΆααΆαβαααααααΆαβαααβααΆαβααΎαβααααΎαααΆαβ pod αα½αβαααβαα·αβααΆαβααΆαβααΆααβαααααΆαβαααβαα ααα»ααααβαααα»αβαα·αβααΆβα ααβααΎαβααααΎαααΆαβααααΆααβααβ pod ααα»αααααα ααΎααααΈααααΆαααα’ αααα»αααΆααααααα α α·αααααΎαααΆααΎαααα»αααΆααα·αααα·α’αααΈαααααα αααα»αα ααααα α’αααΈααααααα»αα’αΆα ααααΎααΆα α’αααΈααααααα»ααα·αα’αΆα ααααΎααΆα αα·αα’αααΈααααα½αααααΆαααααΎαα ααΈαααα αααα»ααααααΆαα½αααααΆααα αααα»αααΉαααααΆααα’αααααΈα’αααΈααααα½αααααΆαααααααα ααΆαααααααααα·αααααΉαααααΌααα αααα»α RBACα
ααΆααΆαααΎαα‘αΎαααΌα ααααααΆαααα»αααααααααΈαααΆααΈαααα»αααΆαααα½αα’αααααααααααααα α ααααααααααα½ααα αααα‘ααααΎαααααααααΆααααααααα·αααΆαααΆααα’αα ααΆαααΎααα ααΈαααααΌααααααααα·αααααααααααα»αααααΎαααΆααααααα»αα αα»ααααααΆααα·αααααΆαααααα½α α αΎα αα·αααΆαααααααΆαα αααα»αααααΎααααα·αα’αΆα αααααααααα½αα―αααΈααΆαα αΌααα αα»αααααΆααααΆαα α αΎαααΆααααΆααααααααα½αα ααα½ααα ααΎαααααααα
αααα»αααΉαααααΆααα’αααααΆαα½αααΉαα§ααΆα αααα’αααΈααααααααααα»αααΆαααααΎααΏαααα αα·αααααααΆαααΆααααα½αα’αααααΈααΏααααα
ααα»ααααααΆααααΌααααα»αααΌαααααΆααααα½ααααα»αα ααααααααααααα»αααΊ Pavel Selivanov α αααα»αααΆααααΆαααααααα Southbridge α αααα»ααααα’αααΈ Kubernetes, DevOps αα·αααααααααΆααα’ααααααΏαααααα·αα αα·ααααα Southbridge αα·ααααα»ααααα»αααΆααααααΆααα’ααααα α αΎααααα»ααααα»αααααΉααααΆα
ααααααααΈααΎαααααααΆαααααΆαααααααααΎα ααααΈααααααΎαααΆαα αΆααααααΎααααααααααα α ααΆ Slurmsα ααΎααααα»αααααΆααΆαααΆααααααααααΆαααααααΎααααα»αααΆαααααΎααΆαααΆαα½α Kubernetes ααααα·α αα ααΆαααα αΆαα ααΎααααΈααααααααα»αααααααααααα±ααααααΎααΆαααΆαα½α K8s αααααα
ααΎααααααααααα»αααΉααα·ααΆαα’αααΈα’αααΈ? αααααΆααααααααΆαααΆαααααΊααΆααααααα - α’αααΈαα»ααααα·ααΆαααα ααααα Kubernetes α ααα»αααααααα»αα αααα·ααΆαααααΆααααΆαααααΆααααααααΆαααα αααααΆαα - ααΌα ααααα αΎααααα»αα αααααααΆααααααΆααααΌαα’αααΈααααααα»αααΉααα·ααα·ααΆαα’αααΈα αααα»αααΉααα·ααα·ααΆαα’αααΈααΆααα hackneyed αααααααΌαααΆαααααΎααααΆαααα½ααααααα ααΎα’ααΈαααΊαα·αααα ααααααααααααα RBAC αα·ααα·ααααΆααααααα
αααα»αααΉααα·ααΆαα’αααΈα’αααΈαααααααΎα±αααααα»α αα·ααα ααΆααΈαααααααα»αααΊα αΆααα’αααΈαα»ααααα·ααΆααα αααα»αα ααααα Kubernetes α ααΎαααΎααααα αΆααΆαααααααΆαααααα»αα ααααα’ααααααααααααΆααααααααα ααααα Kubernetes αα·ααααα»αα ααααα’αα·αα·αααααααααααΎαα α αΎαααΌααααΈααααΈα’αα·αα·αααααααααααΎαααΈαααα»αα αα»ααααααααααααΆαααααΉααααΆααααααααα αααααΊααα ααααααααΆααααααα·αααΆααααΆααα
ααΆαααΈα ααα»α ααααααα»αααΉααα·ααΆααα αααααααα
- αα·αααα·α’αααααααΎααααΆαααααααΉααα·αααα·ααα αα·αααα·α’αααααααΎααααΆαα αα·ααα·αααα·αα ααΊαα·αααΌα ααααΆααα
- ααΆααααααΌαααααααΆαα’αααΈα αααααα αααα»αααΉααααα αΆαααΆα’αααα’αΆα αααααΌαααααααΆαααΆααα’αααααα’αααααααΌαααΆαααΈα αααααααααα·αααΆααα·αααα·αα·ααααα αααα»αα ααααααααα
- ααΆαααΆααααα αΆα DoS ααΎα αααααα ααααα·αααΎααΎααα·αα’αΆα αααααΌαααααααΆαααΆααα ααΎαααΉαα’αΆα ααΆααα ααααααα αααα»αααααΈααΆαα½αα αααα»αααΉααα·ααΆαα’αααΈααΆαααΆααααα αΆα DoS ααΎααΆαα»αααααααααα αααααα
ααΏαααΌαα αα½ααααααααααα»αααΉαααΎαα‘αΎαααΊα’αααΈααααααα»αααΆαααΆαααααααΆααα’ααααααα ααΎααααααα»ααα·αααΆα’αΆα αα·ααΆαααΆαααΆααΆααααΎαααΆαααΆααα’ααα
ααΎαααααΆααΌαααααΆαααααΆαααα‘αΎαα ααααα Kubernetes αααααααΎ Kubespray α ααααα·αααΎααααΆααααΆαααα·αααΉα ααααα·αααΆαααα»ααααα½ααΆααΈαααααΆαα Ansible α ααΎαααααΎααΆααΆαα·α αα αα αααα»αααΆαααΆαααααααΎαα ααΏαααα’ααΊααΆα’αααα’αΆα ααααααΆαααααααΈαααααα - α’αααα’αΆα ααααααΆαα ααΎααααααααα¬α αΌααα αααα»αααααα ααααααααΆαα½αα αα·ααΈααΆαααααααα‘αΎααα½αααααΎαααΆαααΆαααααΆααααααααΆααα’αααΈααααααααΆαα
αα αααα»αα αααααααα αααα»αααΉαααΆα Kubernetes v1.14.5 α α ααααα Cube ααΆααααΌααααααΎαααΉααα·α αΆαααΆααααΌαααΆααααα αααα ααΆ namespaces ααΈαα½αα namespace ααΆαααααα·αααα·αααααααα»αααΆα ααααα‘αα α αΎααααΆαα·ααααααα»ααααααΆααα·αααα·α αΌααα ααΆαα namespace ααΈαα½ααα αα½ααααα·αα’αΆα αα ααααααααΆααααααααααααααααΆααΆαα‘αΎα ααΆααααα½αααααα»αααααα ααα»ααααααΆαααααΈαααααααααααΆααααΆαααα½ααααααΆααα·αααα·αααααΆααα αααααααΆααααΌαα
αααα»αβααΆαβαααααΆβααΆβααΏαβααααΌαβαααβααΎαβααΉαβααααΎβααΊβααΆαβααα½αβααΆαβαα·αααα·βαααααααααβα ααααβα αααααα ααΎαααααΌαααΆααααααααΆααααα ααααΆααα·ααααααααΉααααααα ααααα Kubernetes α α’αααΈαααααΎαααααΌαααααΎααΊα’αα»ααααααΆαα αααα»α Kubernetes α
kubectl apply -f pod.yaml
αααααααΉααα αααα α α αααΆαααΆαααααΆαααααααα»α Kubernetes α α αΎααααααΆααααΈααα α αααααααΉαααααααααααΎααα·ααααααΈαααΆαααΌαα―αααΆααα½ααααααΆααααααααΆ admin.conf α αα αααα»α Cube α―αααΆαααααααααΆαα»ααα·ααααΆααααααα’ααααααααααααααΆααα’αα α αΎααααα»αααααααα½αααααααα ααΆαααααααα API ααααα αααααα αααβααΆβαα·ααΈβααΆαβαααα½αβαααα»αβααΆαβααα½αβααΆαβααΆαβα αΌαβααααΎβααΆβα’αααβαααααααααβ αααα»αβαα·αβααΆ 98% ααβαααα»α Kubernetes α
αααα»ααα·ααΆαααααααα αααααααααΌαααΆαααααΎα‘αΎααααα’αααα’αα·ααααααααααΆαααα αααα»αα αααααααααα’ααααααααΆααα·αααα·ααααΎααααΆααααΎααααΈααΆαααααααΆαααααΎααααααΆαααα αααα»αααα αααααααΌα αα½α ααΆααααΌαααΆααα·αααα RBAC α ααΆααααααΆααα·αααα·ααα ααα»αααααααΆαααΆααααα αα·ααααΆααααααααααΌαααΆααααααααααα·αα
α αΎαα₯α‘αΌααααα’αααΈ pod ααΆααααα ααα·αααα ααΎαααααΎαααΆαααΆαα ααΎααΌαααΆαααΆαα½αα α αΌααα debian:jessie ααΆα§ααΆα αααα
ααΎαααΆααααααααα
tolerations:
- effect: NoSchedule
operator: Exists
nodeSelector:
node-role.kubernetes.io/master: ""
ααΎααΆαα’ααα±αααΆα’αααΈ? ααααΆααα’αα»ααααα·ααα αααα»αα ααααα Kubernetes ααΆααααααΆααααΌαααΆααααααΆαααααα’αααΈαααα α ααΆ taint α α αΎαααααΉαααΆααα "ααΆαααααααααα" αααααΊααΆααΆαα·ααΆαααΆ pods αα·αα’αΆα ααααΌαααΆαααααααα ααααΆααααα ααα»ααααααααΆαααααΆααααΆααααααΆααααα»αααΆαα ααα’α»ααααα αΆααα αααα»αααΎαααΆαα½αααΆααΆα’αααααααα αααα "ααΆαααααααααα" αααααα αααααα’ααα±αααααΆαααααα·ααΆαααΆααααα·αααΎααααΆαααα½αα ααα½αααΆα NoSchedule αααααααΆααααααααΎαααΊα’ααα±αα ααααααΆαααααααααααααααα - α αΎαααΆαα·αααΆααααα αΆα’αααΈααα
ααΎαααΈααα ααΎααα·ααΆαααΆ αααααααααααΎααα·αααααΉαααα’ααα’ααααα»ααααααα ααα»ααααααα αααααααααααα ααΆααααΆααα αααααααααααα αααααΆαααα α α αααΆαααΆαααΆαα’αααΈαααααααΆαααααα»ααααααΎαααααΌαααΆα - αα·ααααΆααααααααΆααα’ααα ααΌα ααααα αΎα ααΎααα·ααΆαααΆ nodeSelector - α αΎαααΎαααΆαααααΆααααααααΆααα ααΎα α α αααΆαααΆα αααα’αα»ααααΆαα±ααα’αααααααΎαααΎαααΈααααΆααααΆααα’αααα αααα»αα ααααααααΆααα·αααααΆααααααΆααααΆααααααααααΆα α α αααΆαααΆαα
ααΆαα½αααΉααααααααΆααααΈαααα ααΆααααααΆααααΆααΉαααααααα α αΎαααΆααααΉαααααΌαααΆαα’αα»ααααΆαα±ααααααα ααΈαααα
ααα»ααααβααααΆααβααβααβααβααβαα·αβαααααβααααΆααβαααααΆααβααΎαβααα αααααΉααα·ααααααα±ααααΎαααΌαα’αααΈααΆααα’ααα ααΌα αααααααααΆαα ααΎαααΆαααΏαααΈααααα
hostNetwork: true
hostPID: true
ααΎαβαααααΆααβααΆβααβααααβααΎαβαααβααΎαβααΎαβααααΎαααΆαβααΉαβαααβαα βαααα»αβα αααααβαααααβααΊααα αααα»αβα αααααβαααααβαααααΆα αα·αβαααα»αβα αααααβααααα PID α αα ααααααααααααΌαααΆαααΎαααααΎαααΆααα ααΎαα ααΆααΉαα’αΆα ααΎαααΎαα ααα»α αααααΆααααΆαααααααααΆααα’ααααααααααΆααααα ααααΆααα ααΆα αααααΆααα’αα αα·αααΎα PID ααααααΎαααΆαααΆααα’ααα
αααααΆααααααΆααΆααΏαααΌα ααΆα α αα etcd α αΎαα’αΆαα’αααΈαααα’αααα ααααΆαα
α’αααΈααααα½αα±ααα αΆααα’αΆαααααααααα»αααΊαααααααα·ααα Kubernetes αααααΆαααααααΆααα ααΈαααααΆαααααΆαααΎαα
volumeMounts:
- mountPath: /host
name: host
volumes:
- hostPath:
path: /
type: Directory
name: host
α αΎαααααΉαααΆαααααααΆααΊααΆααΎαα’αΆα αα·ααΆαααΆααα αααα»αααααΆ ααΎαααΎαααααΎαααΆα αααααΈααΆααααΆααα·αααα·α ααααα ααααααααααααα αααααΎαα αααααααΎαααα·ααΆααααααααα hostPath α αααααΆααααααΆααααααΌαααΈαααΆαααΈααααααΎαααΉαααΎαααααΎαααΆα α αΎαααααΆααΆααααα·αααα‘ααα α αΎααααααΆααααααΎαα α ααΆααΆααΆααα αΆααααααα ααΎαααααΆαα hostPath ααΆααααΌαααααα ααΆααααα»αααα αααα»αα§ααΆα αααααααα ααΆαα /host directory.
αααα»αααΉααα·ααΆααααααααα ααΎαααΆαααααΆαα pod α±αααααα αα hostNetwork αα·α hostPID αα ααΈααα α αΎαααααΆαα root ααΆααααΌααααα master αα ααΆααααα»α pod αααα
α’ααααααααΆαα αααα»α Debian ααΎαααΆα bash ααααΎαααΆα α αΎα bash αααααααΎαααΆααα ααααα root α αααβααΊβααΎαβααΎαβααβααα½αβααΆαβα«ααααβααΎβαα αααβαα·αβααΆαβαα·αααα·βαααα»αβα ααααα Kubernetes ααα
αααααΆααααααΆααα·α αα ααΆααααΌαααΊααααΌαα αΌααα ααΆαααααα /host /etc/kubernetes/pki ααααα·αααΎαααα»ααα·αα ααα‘ααα αααα·ααααΆααααααααααΆααα’ααααα ααααααα ααΈααα α αΎαααΆαααα ααααΆαααΆα’ααααααααααααα αααααα
ααααα·αααΎα’ααααααα‘ααααΎαααΆααΆααα·ααΈααα ααΆαααααααΊααΆαα·αααα·αααααααααααΆαααααα»ααα½αα
ααα½ααα
αααα»ααα - αα·αααΆα’αααααααΎααααΆααααΆααα·αααα·α’αααΈαααααα
ααααα·αααΎαααα»αααΆααα·αααα·ααααΎαααΆα pod αααα»α namespace αα½αα ααα½ααα cluster ααα pod αααααΆααα·αααα·ααΆαααααααΆαααααΆαααΎαα αααα»αα’αΆα ααααΎαααΆα pods αααααΆααα·αααα· α αΎαααΆααΌαα ααΆαααααααΊααΆαα·αααα·ααΆααα’αα α’αα»ααααααΆ root αα ααΎααααΆααα
αααααααααααααα»αααΊα’αααααααΎααααΆαα Root α α αΎα Kubernetes ααΆααααααΎα Run As Non-Root α αααααΊααΆααααααααααΆαααΆαααΆαααΈαα½α Hacker α ααΎα’αααααΉαααααΆ "αααααααα»αααΆααΈ" ααΆα’αααΈ? ααααα·αααΎααααΆααααα α’αααααΊααΆα’ααααα½α ααααΆαα α αΎαα αΌαααα ααααα Kubernetes αααααααα»α αααααΎααααααΆα’ααααααααααααααααΈααα αα½αααΆ βααΌαα ααα’α»ααααα αΆααα αααα»αααααααα’ααααααα’αααααΉα hack α ααααααααααααα»α ααααΎαααΆαααααα·ααααααΆ root α ααΎαα·αααΌα αααααα ααΆααΉαααΎαα‘αΎααααα’αααααααΎαααΆαααααΎαααΆααα αααα»α pod ααααα’ααααα ααααα root α αΎαααΆααΉαααΆαααΆαααΆααααα½ααααααΆααα’ααααααα»αααΆα hack αααα»αα ααΌαβααΆαααΆαβαααα½αβααΈβαααα½αβα―αΒ»α
ααΆααααα·ααααααααα»α ααα·ααΆαααααΌααααΆαααΈαααΊααΆαα·ααΈααΏααααα»αααΎααααΈααα½αααΆααααααααααα ααααΆαααΈαααα»α Kubernetes α
ααα»ααααα’αααΈαααααααΌαααααΎααΆαα½αααΆααα’ααααα?
αααα·αααααα½αααΎαααΆαα
ααααα’ααααααααααααααααααΆααααα½α Kubernetes ααΊα βααΆα αααα»αααΆαααααΆααα’αααααΆ Kubernetes αα·αααααΎαααΆαααα ααΆααααααα
αααα»αααΆα α αΎα Cube ααΆααααΌαααΊαααα½αα ααΆαβαα·αβααΆβααΆαβα―αααΆαβα’ααΈα
αΉαβα αΎα ααΎβααΎαβαα
βααΆαβααααα
αααααΊααΆααααα» yaml - ααΎαα’αΆα αααααΎαααΆαα αααα»αα ααααα Kubernetes - αααααααααααααα·αααααΆααα»ααααα·ααΆαααΆαα·ααααα αααα»αααΆααα·αααααΆαααα pods α αααααΆααΆααα·α ααΆααααααααααα·αααα·αααα»αααΆαααααΎααααΆαα hostNetwork ααΆαα½α hostPID ααααααααα·ααΆαααΆααααΆαααααααΆααα αααα»α pods αα αααα αΆααααααΎαα αααααΆααααα½αααΈ Pod Security Policy α’αααΈαααΆααα’αααααα’αΆα ααααΌαααΆααα·αααααΆα
α’αααΈααααα½αα±ααα αΆααα’αΆαααααααααα»αα’αααΈαααααΆααααα»ααααα·ααΆα Pod ααΊααΆαα αααα»αα ααααα Kubernetes αααααα·ααΈααα‘αΎα PSP ααΆααα’αααα·αααααΆαααααα·αααααΌαααΆααα·αααααΆααΆααα·ααΈααΆαα½αααααα αα½αααααααΌαααΆααα·αααΆααααααΆααΆαααααΆαααΎαα αααααΆααααα»ααααα·ααΆα Pod ααααΌαααΆαααΎααααααααΎαααααα·ααΈαααα½αααΆαα αΌαα
αα·αα’αΈαα α αΌαααΎαααΆαααααααΆααααααΆααααα»ααααα·ααΆα Pod αα αααα»αα ααααα α§αααΆααΆααΎαααΆααααααααααΆαααααα½αα ααα½ααα αααα»α namespace αααααΆαααα’ααααααααααααααα»ααααααααα’αΆα α αΌαααααΎααΆαα α αΌααα·ααΆαααΆαα αααα»αααααΈααααααααααΆααα’αα pods ααΆααα·αααα·ααΆαααααα·αα αααααΆαααα’αααα’αα·ααααααααΆαα αααΎααα·αα αΆαααΆα αααααΎαααΆαααααααααααΆααα·αααα·αα αααα»αα αααααααααα’αααααα
α αΎαα’αααΈαα αΆααααΌα ααΆααα’ααΆαα½αααΎαα α αΎαα ααααα Kubernetes ααααααΎααα·αα’αΆα ααααΌαααΆα hack αααα»αααααααααΈαααΆααΈα
ααΆαβαααα αΆβαα½αα ααΆαα αααΎαααααααΆααααα·αααΎα’αααααΆαα ααααα Kubernetes αααααΆααααα½ααα·αα·αααααααΌαααΆαααα‘αΎααα ααΎα αααααααααα’αααα αααα»ααααααΆααα’αΆα ααααααααΆαααΆαααΆ ααααα·αααΎα αααααααααα’αααααΆαααΆααααα½ααα·αα·ααα ααΆααΉαααααΌαααΆαααα α ααΆ Prometheus α
α’αααΈααααααα»αααΉαααααΆααα’αααααΉαααΆααα»ααααΆααααααΆααααΆααααααα·ααααα·αα Prometheus αα·α Prometheus αααααΆαα ααα αΆααααα»αααααααααααα·αα»αααααααααΆα αααα½αααΊααΆααααα·αααΎαααα»ααα·αα’αΆα ααα½αααΆαα’ααααααααααααα αΌααα αααα»αα αααααααΆαααΏααααααααΆααααααΆαααα»αααααΌαααααΎααααααααααα α αΎααααα»αα’αΆα ααααααααααααΆααααα½αααΈααΆααααα½ααα·αα·αααααααα’αααα
αααα ααααΆα’ααααααααααααΆααΆαα’αΆαα’αααααααΌα ααααΆαα ααΎ Habre α αΎαααΆααααα½ααα·αα·αααααΆαααΈααΆαααα αααα»αα αααααααααααααα½ααα·αα·αααα ααααΌαααΆα Helm ααααΌαααΆαααα α ααΆααΌα ααααΆαααααΆααααα»ααααααααααααΆα αααα»αααααΆαααΆααααα·αααΎα’αααααα‘αΎα helm αααααααΆα / prometheus α’αααααΉααααα ααααααααααααΌα ααααΆα α αΎαααΆαα αααΎααααα»ααααα ααααΆαα·αα αΆαααΆα αααΆαααααα DNS αα αααα»αα αααααααααα’αααααα αααααααΆααΆαααααααΆαα
αααααΆααααααΎαααΆα dev ns ααΆααααΆαααα½α αααα’αααα’αΆα ααααΎαααΆα pod ααΆααααΆαααα½αα α αΎααααααΆααααααΈ pod αααααΆααΆααααα½αααΆαααααα»αααΆαααααΎα’αααΈαα½αααΌα ααα:
$ curl http://prometheus-kube-state-metrics.monitoring
prometheus-kube-state-metrics ααΊααΆα’αααααΆαα αα Prometheus ααααααααΌαααααααααΈ Kubernetes API αααα½αααΆααααΆααα ααΆααα·ααααααααΆα αααΎααα ααΈααα α’αααΈααααααα»αααααΎαααΆααα αααα»αα αααααααααα’ααα ααΎααΆααΆα’αααΈ α’αααΈαααα’αααααΆααααα αΆααΆαα½αααΆα
ααΆα§ααΆα αααααΆααααα
kube_pod_container_info{namespace=βkube-systemβ,pod=βkube-apiserver-k8s- 1β³,container=βkube-apiserverβ,ααΌαααΆα=
"gcr.io/google-containers/kube-apiserver:v1.14.5"
,image_id=Β»docker-pullable://gcr.io/google-containers/kube- apiserver@sha256:e29561119a52adad9edc72bfe0e7fcab308501313b09bf99df4a96 38ee634989β³,container_id=Β»docker://7cbe7b1fea33f811fdd8f7e0e079191110268f2 853397d7daf08e72c22d3cf8bΒ»} 1
αααααααΎααΆαααααΎαα»α curl ααΆααααααΈ pod ααααα·αααΆααα·αααα· α’αααα’αΆα ααα½αααΆαααααααΆαααΆααααααα ααααα·αααΎα’ααααα·αααΉαααΆααΎ Kubernetes ααααΆααααΆαααα’ααααααα»αααααΎαααΆα ααΆααΉαααααΆααα’ααααααΆαααΆααααα½αα
α αΎαα’αααΈααααα½αα±ααα αΆααα’αΆαααααααααα»ααααααΊααΆ ααααααααΈααΎααΆαα αΌααα ααΆαα kube-state-metrics α’αααα’αΆα α αΌααα ααααΎααααΆαα Prometheus αααααααΆααααΆααααΆαααΆααααα½αα α’αααα’αΆα αααααΌαααααααααΈααΈαααα α’αααα’αΆα αααααΎαααααααααΈααΈαααα ααΌααααΈααααααΉααααΈααααα α’αααα’αΆα αααααΎααααα½αααααααααΈα ααααααα αααα»α Prometheus αααααΉααα·αααΆαααΆαααΆααααα α αΎαααΆααααα½ααα·αα·αααααααα’αααααΉααααααααΎαααΆαααΈα αααααααΆααα’ααααααΆα
α αΎααα ααΈααααααα½αααΎαα‘αΎαααΆααΎααΆααααα½ααα·αα·αααααΆααααα ααΆαα½ααααα½ααα·αα·αααααΆααααα½ααα·αα·αααααααα’αααα αααα»αααΎαααααα½αααΆαα±ααΆαααΎααααΈααααΎααααα·ααααα·ααΆααα αααα»αα ααααα Kubernetes αααααααΆααααα·ααΆααααααΆαααααα½ααααα»αααααΆααα α’αααβααΉαβαα·αβααΉαβααΆβαααα»αβαααα»αβααααα·ααααα·ααΆαβαα βααΈβαααβαα αααααβαααβααΆαβααΆαβαααα½αβαα·αα·αααβαααβα αΎαα
ααΌα αα ααΉα PSP ααα ααΆααΆαα’αΆααααααααΌα ααΆαααα αΆααΊααΆ αα αα αααα·ααααΆααααααα·αααΆααα’ααααα - Kubernetes, Prometheus - αα½αααααααΆαααααα·αααααΎαααΆα αα·ααααααααααααααα αα·αβααααΆααβααα
ααΆαααΏααααααα -
ααααα·αααΎα’αααααΆα’ααααααααααααααααααΆ αααααααααΆα’αααααΉαα’αααΈαααααΆααααααααΆα ααααααααααΆααααααΆ yaml αα½ααααααααα αααααΆααα½αααΆααΆα αααΎααα αααα»αα αααααα α αΎααααααΆααααααααΆααα½αα ααα½ααα·αααΆαα·αααααΌαααΆαααα α αΎααααααΈααΆα’αααα’αΆααααααΆααααααααΆαα’αααΈααααα ααΆααΆααΆαααααΆααααααΎα yaml αααα Kubernetes ααΆα’αα»ααααΆαα±ααα’αααααααααα·αααα·α αΌαααααΎαααΆα namespaces αααΆα pods αααααΆααααα’αααααααΆααααΆαααααα α α·αααααΆ firewall ααΆαααααα yaml αα αααα»α Kubernetes ααΊααα’ααααΎααΆααααααααααααΆααα ... ααβαα α ααααα·αααΆαα·αα αΆαααΆα αααα
αααααΈααΆα’ααααα·αααΆαααααΆααα’αααα―ααααααααααα»ααααα·ααΆαααααα’αααααΆ ααΆαααααΎααααΆαα Kubernetes ααααα’αααααααα α’αααα’αΆα αααααΎααααααΆααααααΎαααααΆααααα½α αα·αααΆαααααααα»α α αΎααααααΆααααΆααααααααααα’α·ααααααα ααααα·αααΎαα½ααααα·αααΆααααΉαααΏαααα α αΎααα·αααααΆαα’αααααα "αααα αΎα αααααα±αααααα»α αααααα±αααααα»α ... αααααααΆαααΆαα’αα»ααααΆαα
ααΌα αα αααα»αα§ααΆα αααααααααα»αααΆααααααα±αα α’αααα’αΆα ααΆααααααααααααα kube ααΈααα ααααααααΆαα½ααα αααα»αα ααααα Kubernetes ααααα·αααΆααα·αααα·ααααΎααΌα ααααααα αααααΆααααααααΆαααΆααα·αααΆαα αΌαααααΎααΈ namespaces ααααααααααΆααα’αααα ααΆαα namespace αααα½ααα·αα·ααα α αΎααααα αΎαααΆααΆα ααααΆαααΆαα αΌαααααΎ ααααΆααααα αΆααα αα αααα»αααααΌαααΆαααΆααα’αααααααΆα ααΆαα Prometheus αααααααΆα αα·α Prometheus αααααΆααα αααα»αααααα·ααααα·αα ααΆααααααΎααα½ααα αααα»αααααααα½α ααΎααααΈααΎααααααΆααααααααΆααααααΆαααα½αααα α’αααααααΆααααααααΌαααΎαααΆ α αΎααα½αααααΉαααααΎαααΆαα
αα·αααΆααΆααααα αΆαα½ααα ααΈαααα αααα»αααΆαααΆα’αααααααααααααααααΆααα»αα ααααΆαααααααΆ α’αααααααααΆααΆααααααα α α·αααααΆαα·αααααΌαααΆααααααΆααααααααΆαααα α αΎααααααΆααααΈα’αΆαα’ααααααααααααααααα’αααΈααααΆαααΌα ααΆ Habr α’αααααΆααααααα α α·αααααΆ flannel ααΆαα·αααααΆαα½α host-gateway mode ααΊααΆααΏαααααα’αααα»ααααα’αααα’αΆα ααααΎαααΎαααΆαα
ααΎαααα»ααα½αααααΎα’αααΈ?
α’αααα’αΆα ααααΆααΆαααααΎα‘αΎααα·αααΌααααααααααΆααααααΆααααα’αααααΆααα αααα»αα ααααα Kubernetes ααααα’ααα ααααΆααΆααααα½αααΆαααα’αααΈαααααΆααααααΆααα»αααΆαα α§ααΆα ααααααααΆαα Calico ααΌα ααααΆα ααα»αααααααα»αα αααα·ααΆαααααΆααααΆ ααΆααα·α αα ααααΆααααααΌααααααααααΆααααααΆααα αααα»αα αααααααΆαααΆα Kubernetes ααΊαα·αααΆαα·αααααΆααααα αααα»αααΆααααααααΆαααΆααΈααα (αααααΆαααΆαααΆ ααααΉααααΈααΆααααΈα) ααα»ααααααΎααααααΆαααααα αΆαααΈααααααααΎααΆαα Slurms αααααα αααααΆαααα·αααααααααΎα ααΎαααΆααααα αΆαααΈααααααααΆααααααΌααααααααααΆααααααΆααα αααα»αα ααααα Kubernetes α ααΆαααααΆαααα’αααα’αΆα ααααΆααΆαααααΎα±ααααααΆααααΆαα·αααΆααααααααΆααα αΆααα ααΎα αααααααα·αααααααα ααα»ααααα’ααααααα ααααΆαα·αααααααααα
α αΎααααα αΆααααΌαααΆααααααααΆααααΆαααΆααααα ααΆααα·ααααΆαααααααα αααα»αα ααααα α αΎαα’αααααΉαααΆαα·ααααΆααααααααααα’αααααΉααα»αααααααααα»ααα½αααααΆαα ααΆααΆααααααΎαααΆαα α αΎαααΆααααααΆαααααααααΆαααααααΆααΆαα½αααΉααα·ααααΆαααααααα αααα»αα ααααα - α ααα»α’αααΈααΆαααΆααΎααααα½αααΆαααα ααΎαααΉαααΎαα αααααααααΈαα αααααααα αα»αα±ααααααααα αΆααααα½α α αΎαααΆααα±ααααααΎααααΆααα‘αΎααα·αααΌαα’αααΈαααΆααα’ααα αα·αα αΎα αα ααααααααΆααα½α ααΎαααΉαααααΌαα’αααα»ααα½ααααα ααα»αααααααααΊααΆα αααααααααΈα
αα αααα’αααααΎαα αααααααααΈ αααα»ααααααΆαα½αααααΆαααα αΌα Calico αααα½αα±αα flannel α
α’αααΈαααααααΌαααααΎααααα·αααΎαα·ααααΆααααααααααα’αααααααΌαααΆαα αααααα»ααααααααα½αααααααΆαα αΎαα’αααααΉααα·αααααΎα αααααα‘αΎααα·ααα? ααΆαααΏαααΌα ααΆ Kube-RBAC-Proxy α αααβααΆβααΆαβα’αα·ααααβααβαααααΆααβααααΆαα ααΆβα’αα»ααααΆαβα±ααβα’αααβααααααβαααα½αβααΆβααΆβαα»αβα αα ααβαα βααΆααβααβαααα»αβα ααααα Kubernetesα α αΎαααΆαα·αααΆααααααααΆαα’αα»ααααΆααα pod αααααΆαααα RBAC αα Kubernetes αααα½αααΆααααΆααα
ααΆααααα αΆαα½αα ααΆαααΈαα»α αααααααααΆα Kube-RBAC-Proxy αααααααΌαααΆααααααΎαα‘αΎααα
αααα»α Prometheus ααααααααα·ααααα·ααα ααα»αααααααααΆααααααΆααααΆααα
α α₯α‘αΌααααααααααααΎαααΉαααα’ααααΎααΆααα·ααααααΆα’αααααΆααααααΆααααααααΆαα αΎααα·αααΆαααααααΎαα½αααΆα ααΌα
ααααα αΎα ααΎαααΉαααααΌααααααααΆααΆαα‘αΎααα·αααααα·α
α ααΆααα·ααα
ααΎα’ααααα
ααΆααααα αΆααΌα αα½ααααα Prometheus αα·αβαααβααΆβααα»αααβααβααααΆααβαααβααααααβααααααβααααβααΆβαα βα²ααβα’αααβααΆβααααΆααβααβααα»αααααα αααΆαααΆαα»α ααααα Kubernetes ααΆααα’ααααααααΎαααα’αΆα αααααααααα·αααΌααααααααααααα½ααααααααα
ααα»ααααααΌα ααααααα»αααΆααα·ααΆααα½α ααα αΎαααΆ ααααα·αααΎα’ααααα·αα’αΆα α αΌαααααΎα ααααα αα·ααααααΌαααααααΆαααΆααα ααααααΆαα αα ααΆααα’αααα’αΆα αααααααααααααΆααααααα
ααΌα αααααααα»αααΉααααα αΆααα·ααΈααΈααααΆααααΆαααΆαααα ααα’αααΈααααααααααα»α Kubernetes α’αΆα ααααΌαααΆαααααααΆαα
α’αααααΉαααΎα αα ααααααα»αααααΆααα’ααα αααααΆααααΈααΈαα·ααα·αααΈαα
αα·ααΈααΆααααααα½αα ααΆαααα α»αααααΆαα
αααααΎαααααα·ααααα½ααααα ααΆααΉαααΆααααααααΌα αααα
resources:
requests:
cpu: 4
memory: 4Gi
ααΌα αααα’αααααΉα ααααΎααΊααΆα ααα½ααα CPU αα·αα’αααα αα αΆααααααααΌαααΆαααααα»ααα»ααα ααΎαααΆαααΈααααααΆαα pods ααΆααααΆααααΆαα½αααΉαααααΎα ααααα·αααΎααΎαααΆααααΆαααΈα XNUMX-core αα αααα»αα ααααα Kubernetes α αΎααααααΈααΈααΌ XNUMX αααααααΈαααααΆαα½αααΉαααααΎ ααΆααΆααααααΆαααααΆααααααααΆαααααΎααΉαα’αΆα ααααααααΆαααΈαααααααα αΎαα
ααααα·αααΎαααα»αααααΎαααΆα pod αααααα αααα»αααΉαααααΎαααΆαααΆααααααααΆα
$ kubectl scale special-pod --replicas=...
αααααΆααααααααΆαααααΆααααΆααααΉαα’αΆα ααΆαααααααΆααα ααΆαααααα»α Kubernetes ααΆαααα αααααΆαααααααΆααααΆααα’ααααΉαα’ααααααΎα ααΌα ααααα αΎα αααα»αααΉαααααααα ααααα Kubernetes ααααα’αααα ααααα·αααΎαααα»αααααΎαααααααα αααααααΆα αααα»αα’αΆα ααααααααΆαααΆαααααααΆαααααααααΌαα
ααααα·αααΎααΎααααα‘ααααΎαα―αααΆα Kubernetes ααααααα ααΎαααΉαααΎαααααα»αααα α ααΆ Limit Rangeα ααΆαααααααααΆααααααΆααααααα»α αααααα α’αααα’αΆα αααααααααα» Limit Range αααα»α yaml α’αα»ααααααΆαα namespaces ααΆααααΆαα - α αΎααααααΆαααααα αααα»α namespace ααα α’αααα’αΆα αα·ααΆαααΆα’αααααΆαααααΆαααααΆαααΎα α’αα·ααααΆ αα·αα’αααααααΆαααααΆαα pods α
αααααΆααααα½αααΈααΏααααααα ααΎαα’αΆα ααΆααααααα·αα’αααααααΎααααΆαααα αααα»αα ααααααααααααα·αααααΆααααΆαααααααα»ααααα»ααααααααΆααααα»αααΆααααα αΆαααΈααααααααΆααα’ααααααΏααα·αααα’αα ααΎαααααααααα½αααα ααα»ααααααΆα’αα»αα ααΎαααααΈααΆα’αααααααΆααα’αααααααΎααααΆααααΆ αα½ααααα·αα’αΆα ααΎαααααΎαααΆα pods ααΆαα½αααΉαααααΎαααααΆαα CPU ααΎαααΈαα½α ααΆααΆαααΆααααααααΆααααΆαααα’ααα αΆααααααααα α¬αα½αααα’αΆα ααααΎααΆαααααααΆαααΆααααααααΆαααααααααααα
α αΎααααααΊααΆααααααααααα·ααΈααΆαααααααα 11 ααααΈα ααΎαααΎαααααΎαααΆα 111 pods α αααααΆααααα½αααΆααααΆαα αααβαα·ααααβααβααΈβαααα»αβα‘αΎαβαααβαααβαααβαα ααα»ααααβααβααΈβαααα»αβααΎαβααΆβαααβαααα½αβα―αα
ααΏααα·αα αααααααΆα αααα»αα ααααΉαα ααααΈααΆαα·ααΆαααα αααα»αααΎααααα»αα’αααα’αα·αααααααααα»αα’αααα»ααα αααα»αααααΆα αααα»αααααΎα’αααΈαα½αααΆαα½ααα»αααααΌααααα½ααααααααα½αααα αααα»αβααΎαβαα βααβαα»ααβααΆααβαααβαα½αβααΆ βααΎβα’αααβααΆαβααΏαβα’αααΈβααΎαβα‘αΎα?β
αα»ααααααααα·α αααα ααααααααααΆααα½αααααΆα α’αααα’αα·ααααααααααΆαααααα»ααααα ααααα½ααα ααααα α αΎαβαααα»αβααΆαβαααααα βα α·αααβααΆβα Β«βα₯α‘αΌαβαααβαααα»αβααΉαβααααΎβααΆαααααααΆαβααΆαααβαα»αβααααβαααα»αβα α»αβαααβαα½αβΒ»α αααα»αβα α»α βαα½α ααα»ααααβα’ααΈαααΊαα·αβααΊαβααααα·α α ααΆααααΆαα α»α αα½αααααααα ααΆααα α»α αα½α α αΎαα α»α Enter α αααα»αβααΆααβαααβαααααβαααΆαβαααβαααα»αβα’αΆα βααααΎβααΆαα αααααΆααααα’αα·αααΊαα·αααΆαααΈαα·α - α αΎαα’αααΈααααααααΆαααΆαα αΆααααααΎαααααΆααα α»ααααααααααα
αα·α ααΏαααααα·αααΆαααΎαα‘αΎααα ααΎ Kubernetes αα αα ααααααααΆααΆ Nomad α ααΆααΆααααα αααααααΆααα·ααααααΆαααααΆααααΈαα½αααααααααΆαααα»ααααααααααΎαααΎααααΈαααααα Nomad ααΈααΆαααααΆααΆαααααααααΎααΆαααααααΆα Nomad ααΆαααααΎαααααΆααΆααααΉααα·αααααααααΆαααααΎααΆαααααααΆαααα αΎαααΉααα·αααααΎα’αααΈααααααααααα "αααα»αα ααα αΎα αααα»αα αΆαα αα" α αΎαααΆααααΆααααα‘αΎαα
ααΆαααααααΆαα· αααα»αααΆαααααΆααΆαααααΎααΌα ααααΆαα ααΎ Kubernetesα Kubernetes αα·ααααααΆαα α·αααααΆαα½αααΉαααααα½αααΆααααΆα pods ααΆααααΆααα·ααΆαααΆ: "αααα»ααα·αα’αΆα α ααΎαααΈααΆαααΆαααΆαααΆααααΆααααα»αβ α ααα»αααα 1 pods α’αΆα α
ααΆααΆαααααΎααααα ααΉααα½αααΆααααΆα Cube αα·αααΆααααααα½αα ααααα ααΆαααα·αααΆα αΆααααααΎαααααΎααΆαααααααΆαα ααααΎαβααΆαβααΆααβααβααααβαα βααα ααΆβααααΌαβα αααΆαβαααβααΆααβααβα αααΎαβαααα»αβααΆαβαααααΎαβααααβααααΈα ααα»αααααα ααααααΎαααΆαααααα αααα αΆαααα½ααααααΊααΆ ααααα·αααΎαααα»αα’αΆα ααΎαααααΎαααΆα pods αααααααΆααααααααααααα»α namespace αααααααα»α ααααααααΈααΆααααΆαααααΎ αα·αααααααααααααα αααα»αα’αΆα ααΎαααααΎαααΆα pods ααΆα αααΎαααΆαα½αααΉααα·α αα ααΆααα½αα ααα½α ααααααααΆααααα½αααΈαα·α αα ααΆαααΆααααα ααααΆααααΉαα αΆααααααΎααααααααα αααα»α memory αα αααα»α CPU α αα αααααααααα»αααΎαααααΎαααΆα pods ααΆα αααΎα ααααααΆαααΈαα½αααΆαα½αααα αΌααα αααα»ααααααααααα»α αααααΊααΆααΎαα α αΎααα ααααααααααααΆαα αααΎαααααααααααΈααα ααΆααααα»αα αΆααααααΎααααα‘αααααα·αααΊαααα α αΎα Kubernetes α αΆααααααΎααα·αα
α αΎααααα αΆαα½αααα... ααΌα αααα’αααααΆαααΉαα αΎαααΆ ααΆαα»ααααααααα Kubernetes αα·ααααααΆααΏαααααΆαααα½αααααα ααα»ααααααΆαααΆαα»αααααα½αα ααα½ααααα ααΆαα·αααβααΆαβα’αααβαααααααααβα§αααααβαααααΆβα’αααβαααααβαααβααααΆβααΆααΎαα αα»ααααΆααα’αααααααΉαα αΆααααααΎαααααΎααΆαααΆαααααα·αα αΆαααΆα α αα·ααααααααααααα»αααααααα½α αααααΌαααα ααΉαα αΆααααααΎαα αααΆααααααΆααααα αααΎαα α’ααααααααααααα§ααααααααααΆααΉααααααΎαααααααααΈα α’ααααααα αααΆααα·ααΆαααΉαααααΆααΆααααααααααααΆααααααΈαααααΆαααα½αααα α’αααααααααΆααΉαα’ααααααΆααααααΈαα αααα»αα αααααααααα’ααααααα»ααααααΆααααααα α ααααα Kubernetes ααΉαα αΆααααααΎαααααΎαααΆαααΊα αα·αααΊαααΆααα»αα
ααα»ααααβαααα»αβααΆαβαααααα βα α·αααβαα βααΆααβααβααααΆαα ααΌα αααα’αααααΆαααΉαα αΎαααΆαα αααα»α Kubernetes ααΆαααααααααααα α ααΆααααΆααααα ααΆααΆααααααΎαααΆαα ααΆαααααΆαααΎααα αααα»αα αααααααααα’ααα ααΆαα αααΎαααααααΆααααΆαααααααΎαααΆααααααααΎααΆααΆα IP α
α§ααΆα ααα ααααα·αααΎα’αααααααΎαααΆααα½αααΆααααΆααα α αΎααααααΆααααααααΎααααααΈαααΎααααΈαααααα±αα Kubernetis αααααΎαααααΆααααααααΈα
for i in {1..1111111}; do
kubectl expose deployment test --port 80
--overrides="{"apiVersion": "v1",
"metadata": {"name": "nginx$i"}}";
done
αα ααΎααααΆααααΆααα’ααααα ααααα α αααΆαα iptables ααααΈααΆααααα αααΎαααΉαααααΌαααΆααααααΎααααα αααααα»ααααααααΆαααααΆα ααΎαααΈααααα ααα α αααΆαα iptables αα½αααΆααααΆαααΉαααααΌαααΆααααααΎαα‘αΎααααααΆααααααΆααααααΈαα½ααα
αααα»αβααΆαβαα·αα·αααβααΎαβααΏαβαααβααΆααβααΆααβαα αΌαβαααβαααα α αΎααααα αΆααΊααΆαα ααααα·ααααααΆααΆααααα αΆααΆαααααα»αααΆαααααΎ ssh αα node α αααααΆααααααα αααααααααααΆαααααααααααΆααααΆα αααΎαα αΆααααααΎαααΆαα’αΆαααααααα·αααα’α
α αΎααααα αΆαααααααααΌαααΆααααααααΆαααααα αααααΆααααα½αααΈ Kubernetes α ααΆαααααα»ααΌααΆααααΆαααααααα αααααα
ααα½αααααΆα αα·αααααα»αααααΆααααααΆααα
αααααααααααααα»αα
αααααα ααΎαα’αΆα
αααααΎαααααα» yaml αα
αααα»α namespace ααΈαα½αααααααα»α Kubernetes α αααααααΎααααα»ααα ααΎαα’αΆα
αα·ααΆαααΆαααΆ ααΎαααΆαααααΎαα½αα
ααα½α αα·αααααααααααΆααααΆαααααααΆααααα
αααααααΆαα namespace ααα α αΎααααααΆααααααΎαα’αΆα
αα·ααΆαααΆαααΆαα
αααα»α namespace ααα ααΆα’αΆα
αααααΎαααααΆ 10 αα·α 10 pods α α αΎαβα’αααβα’αα·ααααααβααβααααΆααβαααΆαβα αα
βααΆααβα’αΆα
βααΆααβαααα½αβα―αβαα
βαααβααααΆα
α Kubernetes ααΉαααααΆααααΆααααΆ "α’ααααα·αα’αΆα
ααααΎααΆαααααααΆαααααααα’ααααααα
ααα½ααααααΆααα ααΈαααααααααΆαααΎαααΈααΌααΆα" αααα αΎαααΆααΆαααα αΆααααΌαααΆααααααααΆαα
α ααα»α αααα αΆαα½αααΎαα‘αΎααααα»αααΏααααα α’αααααΆαα’αΆααααααααΆαα·ααΆααααααΎαααααααααΆααααααααα αααα»α Kubernetesα ααΎααααΈαααααΎαααΆ ααΎαααααΌαααααΏαααΆα αααΎααααα·α αΆαααΆα
ααΌααΆααααΆα + αα½ααααααααα + RBAC
β’ αααααΎαααα ααααα
β’ αααααΎααααααααααα½ααα
ααΆααααα»α
β’ αααααΎααα
ααΆααααα»αααΌααΆααααΆα
β’ αααααΎαααααΈααααΆαααααααααΆαα CI
β’ αααααΎααα½ααΆααΈα
ααααααΆαα CI αα·αα’αααααααΎααααΆαα
β’ ααΎαααααΎαααΆαααααΆααααα
αΆαααΆα
αααΆαααααΎα
ααΌα αααα αααα»αβααΌαβααβα±ααΆαβαααβααΎααααΈβα ααβαααααβααΆαβα’αα·ααααβααααβαααα»αα ααΆαααΏαααααααα α ααΆ ααααα·ααααα·αα SDK α αααααΊααΆαα·ααΈαα½ααααααΆααα ααααα Kubernetes ααΎααααΈαααααααααα·ααααα·αααααααΆααααΆα α’αααα’αΆα αααααααα ααααΈαααααααΆααααααααααΎ Ansible α
ααααΌαααΆααααΌαααΆαααααααα αααα»α Ansible α αΎααααααΆαααααααα»αααΎαααΆααΆαααααα·ααααα·αα SDK α αΎαααΆαααααααα½ααΆααΈ Ansible αα ααΆααααα·ααααα·ααα ααα ααααΈαααααααΆααααααα’αα»ααααΆαα±ααα’ααααααααΎαααααα»αα½ααα αααα»αα ααααα Kubernetes αααα α ααΆααΆααααααααΆα αα αααα»αααΆααααααααΆ ααΆα’αα»ααααΆαα±ααα’ααααααααΆααα·ααααΆααααααΆααααΆααααααααΆααααα αααα»α yaml α α αΎααα αααα»αααα·ααΆααΆααααα»α ααΆα’αα»ααααΆαα±ααααΎααα·αααααΆααΆααΎααααα»ααααα ααααααΆαααΆα αααΎαα
αα·α
αα½α
α αΎααα
αααα»αααΆαααααα·ααααΆαα α’αααΈαααααααΌαααααΎααΆαα½αααΆααα’ααααα?
ααΈαα½αα αααααΆααααα»ααααα·ααΆα Pod ααΊααα’α α αΎααααααΈααΆαα·αααΆααααααα·ααΈααα‘αΎα Kubernetes ααΆαα½αααααΎααΆαα αΌαααααααααααααααααααααα α’ααααα
ααααααΌαααααΎαα½αααΆαα
αααα»αα
αααααααααα’αααα
αααααΆααααααααΆααα·ααααααααΆααααααΆαα»αααΆαααααα·αα αΆαααΆα ααααααααααααααα αααααΊααΆα’αααΈααααα·αααΆααααΌαααΆααα αααα»αα αααααα
LimitRange/ResourceQuota - ααΆαααααααααααααΌαααααΎααΆα ααΎαα αΆααααααΎαααααΎααΆααΆααααΈααΌαααΆαααΆααααα αΎα α αΎααααα»αααΉαα αααΆααααΆαααααααααΆαααα»αααααΎααΆα ααΆααΆαααααααααΆαααΆαααααΊααααααΆααα
ααααααααΈααΎα’αααΈααααααα»αααΆαααΎαα‘αΎααααα»αα’αα‘α»αααααααΆαααΆααα ααΆααααααααα·αααααααα·αααΆαα―αααΆααααα’αα»ααααΆαα±ααα’αααααΆααααα αΆαα
αααααα α
ααααααΆαααααΈαααα
ααΏααααααα·αααΆααααα αα·αααΊα αΆααααΆααα ααΆα§ααΆα ααα αα αααααααααααααααΆααααΆαααα½α cubelets αα αααα»αα ααααα Kubernetes α’αΆα αααααααααΉαααΆααααααααΈααααα warlocks αααα’αααααααΎααααΆαααααααααΆαααΆαα’αα»ααααΆαα
α’ααα»αβαααβα’αααβααΆααα’ααααααΆα
ααααα: www.habr.com