αα½ααααΈ αααα»αααααα Dmitry Krasnov α α’ααααααααααΆαααααΆαααααΆαα αΎαααααααα»αααΆαααααααααααααα»α Kubernetes αα·αααΆααααααααΆααααααααααΈααααΌααααΆαααααααα»αααααΆαα αα ααΎαααααΆαααα ααΎαααΆαααΎαααααΎαααΆαααααΆαααααααααΆαααααααααααα ααααα Kubernetes αααααα’ααααΎ Containerum α ααααααααα»αα±ααΆαααα αααα»αααΉαααααΆααα’αααααΈα’αααΈααα Kubernetes αα·ααααααααααΆααα½ααααα αΌαααΆαα½αα’αααααααα»αααΈαααααααΎαα αα α
ααΎααααΈα
αΆααααααΎαααΆαα½αααΉαα’αααΈαααααΆα’αααΈ
ααααααααααα»ααα½αα ααα½ααα
α₯α‘αΌαααα α αΌαααΎαααααααααααΆααΎαα»αααΆαααααααΆααααααα’αααΈα αααααΊααΆαααααα·ααΈαααααΆαααα·ααααΆαααΆααααΌαααααααΆ - ααΆα αααααααααΆαααααααααααα·ααΈα’αΆαααααα ααΆααα’αααααααααΌαααΆαααα αααααα»αααααααΆα αα·ααααα αΆαααΆααααααααΌαααΆααααα’αΆα ααααΎαααΆαααααα·ααα·αααΈααααααααααααα·ααααα·ααΆα ααΆααααα αα·αα αααΎααααα ααα»ααααααΆααααα αΆαα½α - ααΆαααααααααααα»ααα ααΎαααΆαααΈααα½αα ααα½αααααΊαα·ααΆαααΆααα αααα αΎαααΆααΌαα ααα»ααα Kubernetes ααααΌαααΆααααααΎαα‘αΎαα
ααΌαααΆααα»αααΊαααααααΆαα±αααααααα·ααΈααΌαααΉαααΆαα’αΆαααααααααααΆα αααααα·ααΈ ααΆαα’αΆαααααααααααΆ αα·αααΌαααΆαααααααααα―αααΆα OS ααΆαααΈααΆαααα αααααααααααααααΌαααΆα αααα α ααΆαααααΆααα αααααΆααα’αΆα ααααΌαααΆαααααΎα‘αΎααα·ααααααΆαααα»ααααααααααΆα α§ααΆα ααα αααααα·ααΈααΆααα’αααα αααα»ααααα»αα αα»ααα½αα’αΆα ααααΎαααααΆααααΌαααααΆα Ubuntu α αα αααααααΎαααΆααα»αααΊααα αα·αα αΆαααΆα ααααααΆαα»αα αααΆααα ααααα αααΎααααααααΆααααΌαααααΆααααα½ααα ααΎαααΆαααΈααααααα αααα’αα»ααααΆαα±ααα’ααααααααΎαααααα·αααααΆαααΆααααα»αααΌαααΆα αα·αααΆαα ααα αΆαα
αα ααααααααΎαα ααααααΎαααΆααααααα·ααΈααΈαα»αααΊααα αααααΆααα αΆαααΆα αααααΌαααΆαααΆααααΎααααΆαα αα·ααα αα α αΎαααααααααα―αααΆααααα½αααααΆααααΌαααΆααααααΎαα‘αΎαα αααααΆααααααααΌαααΆαααΆαααα ααΎααααΌααααααααΌαααΆαααα αααα αααααααα»αααΊααααααα αααααΆααΆααΆαα αααααααα»αααΊαααααααΎαααΆα αααααα·ααΈααΉααααααααΆαααα·ααααΆαααΌα ααααΆ ααααα·αα’αΆα ααααΆααααααΌαααΆαα αααααΆααΆααΌαααααααΆαααα·αα‘αΎααα·αααααα·ααααΆααα ααΎαααΆαααΈα OSes ααααααααααΆα αα·αααΆααΆααΆα’ααΌααα»αααΌ α¬ CentOS ααααα ααα·ααααΆαααΉααα ααααα ααΎαααΈαααααααα»αααΊαααααααΌαααΆααααααΆα αααΈαααΆαααΈααααααααΎααααααΆααααααΆααααααΎαα‘αΎααα αααα»αααΊαααααΈαα»α α αααααα·ααΈαα αααα»ααα»αααΊααααα·αααΎαα―αααΆα ααααΎαααΆααααααααΆαααΈα αα·ααα»αααΊααααα·αααΆαααα ααΆαα―αααααααααα·ααΈααΈ host OS αααααααΌααααααΆαααα»ααααα·ααΆαααααααα
ααΆαα§αααααααΆα αααΎααααα’αΆα ααααΎααΆαααΎααααΈααααααααααα»αααΊααααα ααΎαααΆαααΈαα ααΆαααααα·αααααα»ααααα»αα αααααα½αααααΊ Docker α ααΆα’αα»ααααΆαα±ααα’ααααααααααΌαααααααΈαα·ααααααααααα»αα ααααααΆαααΆααααα ααΆααααΎαααΆαααααΎαααΆαααΈααα½αααα»αααααα ααααα·αααΎα’αααααααΌαααΆαααααααααααα»αααΊαααααααααΆαααααΆαααΈαααΆα αααΎα Docker α’αΆα ααααΎα±αααα·αααααααΈαα·αααααΆαααΆααΆααααα αααα αΎαααΆααΌαα ααα»ααα Kubernetes ααααΌαααΆααααααΎαα‘αΎαα
αααααΌαααΆααααααΆαα Kubernetes ααΊααΆααααΆαααααααΆααααααααααΆααααα»αααΆαααααααααααααα»ααααα»αααΊααααα ααΎαααΆαααΈαα αααΎαααΆααααααααα’αααααΆααααα½αα ααΆαααααα·αααααααααααααααααα±ααΆααααα»αααΆααααααΎα DevOps α¬ Development Operations ααααααα»αααα Kubernetes ααααΌαααΆαααααΎααΎααααΈααααΎαααΆαααααΎαααΆααα DevOps αααα
ααΌαααΆαααΈ 1. ααααΆααααααααΆαααααααααααα Kubernetes ααααΎαααΆα
ααααααααααααα·αααααααααα
DevOps ααΊααΆααΌαααααΆαααααααααααααα·ααααααααααΎαααΆαα’αα·ααααααα αα·ααΆαααααααααα α’αααα’αα·αααααααααααααΌααααααααΌαααΆααααα»αα‘αΎααα αααα»αααααΆααα αααααΆαααααααααΌααααα’αΆα ααααΌαααΆααααααΌααααααααααααααααα·ααααΆαααα αααα»ααα»αααΊααααααααΆααααααΆαααααΆααα’αα ααΆααααα αα·α "ααΆααα αα" αα ααααΆααααΆααααααΆαα - ααααΆααααΆα α αΎααααααΆααααααααΆαααα ααΆααααα·αααααα
αα½αααααΆααΆαα½α Kubernetes DevOps α’αα»ααααΆαα±ααα’αααααααΎααααααααααααα·ααααααααΎαααΆαααα ααΌα ααααααΆααΎαα‘αΎααααααααΎαααααααΆαααΆαα αΌααα½αααΈα’αααα’αα·αααααααααα½αα―αα αααααΆαααααα ααΆαααααΆαααΆααΊααΏαααΆααα»α αααααΆαα’αααα’αα·αααααααα·αα αΆαααΆα αααααΎααΆαα ααΎαα»αααααΌαααααααααΆαα - ααΆααααααΆαααααααααααΌααα½α αα»αααΌααα ααααΆαα αααααΆααααΈαααααααααααα αΌααααααααααΌαααΆαααΆααα±ααααααΎαααΆα αααα’αΆα αα½ααααα αΌαααααΎαααΆαα ααααΆαααΆαααα ααΆαααΆααααα αα·αααΆαααΎαααααΎαααΆαα α αΎαααΏααααααΎαα‘αΎαααΆαα½αααΆααααΆαααααααααΆα α·ααα ααΌα ααααααΆαααααΎαααααααΎαα‘αΎαααΆαααααααααΆααα
αααα»ααααααΆαα½αααααΆααα ααΆαααααΎααααΆαααα»αααΊαααα’αα»ααααΆαα±ααα’αααααααΆααααΆααα·ααΆααΆαααΆααααΌααααααααα·ααΈαααααΉαααααΌαααΆααααα αααα αααα»αααα·ααααααααΆααα·αααααΆαααααα»ααααααααααααΆααααΌαααΆαααΆαααααα αααααΊααΆααΉααα·αααΆααααα αΆααΌα ααΆ "ααΆααααααα½αα ααα½ααα αααα»αααΆαααααΎααααα ααααααααα αααα»αααα·ααααα ααα»αααααα ααααααααΎαααα‘αΎααα½αααΆ α’αααΈαααΆααα’ααααΆαααααΆααα α»α"α α αΎαα αΆααααΆααααΈαααααααααΎαααΆααα·ααααΆααΆαααααααα ααααααΆααααααααααΈααααΌααααΆαααα αα αααααααααα½αα±αααααααα·ααΈαααααα½αααΆααααααα·ααΈααΌα αααΆαααα ααΎααααΈαααααααααααΆααααα αα»ααααα·αααααααΉαααααΌαααΆαααΆαααΆαα αααα αΎαααΆααΌαα ααα»αααααΎαααααΎ Kubernetes α
αααα»α, αααα»α, αααα»α
ααααα·αααΎααΎααα·ααΆαα’αααΈαα»ααααααααα·αααα Kubernetes ααΆαααα·ααΆαα½α αααααΆααΆααα»ααααααααα·αααΆαααααΆααααΈααααααααααΆααααααααααααααΆααααααααααΈααααΌααααΆααααα
- ααΆααααααααααααΆαα ααααααΆα αααΎαα α’αααΈαααααααΆαααααα»αααΊααΆαααααααααααα»αααΊαααααααααΆαααααΆαααΈαααΆα αααΎαα ααααΆααααΆαααααα ααα αααααααααααΆαα αααααααααα·ααΈααΆα αααΎααα αααα»ααα»αααΊαααααΆα’αααααΆααααα½αα α’ααα»αα αααααααα αΆααα αα·ααααααα·αα αΆαααΆα ααααα½αααΆααααα’αααΈαα»αααΈαα½αααααααα ααααα·αααΎαα»αααΆαα½αααΆαα Kubernetes ααΉαααΎαααΆ α αΎαα αΆααααααΎαααΆαααααααα
- αααααΆαα αααααα Kubernetes ααααΆαα’αααΈαααα α ααΆαααααΆαα ααααα ααΆαα½αααΉαααα αα’αΆααααααΆαααααΆαααααα½αααααααΆα α’ααα»αα αααααααα αΆααα ααααΈαα½ααααΆαα’αΆααααααΆαααααΆαααααα½αα subpod ααααΌαααΆααααααΆααΆα―αααΆαα ααΆααααααααα’αααααααΆααα αααααααααα»αααΊαααααααΌαααΆαααΆααα±ααααααΎαααΆααααααααΆααα ααΎαααΈααα Kubernetes ααΆααα»αααΆαααααα½ααααα αΌαααααΆααΌααααα»ααααααα»α αα·αααααΆαααα Discovery α ααΆα’αα»ααααΆαα±ααα’ααααααα αΆααααΆααααααααααα’αΆααααααΆα IP ααααα αα·ααααααααΆααα·α αα ααααα Kubernetes α α αΎαααΆααααα½ααα·αα·ααααα»αααΆααααααααααααααααα·ααΉααα½αααα±ααααΎααααα αΆ αα·αααααΌααα·αα ααΆα ααααα ααΆααααααααααααα»αααααΎααΆαα
- ααΆααααααααααααΆαααααααα ααΆααααααααα αα αααααααααααααααααα·ααΈαα½αα ααα½ααα ααΆαα·ααΆααααα»αααΆααααααααααααΆαααααααα ααΆαααααααααααααα·ααΈα α αααααααααααααα Kubernetes ααΆαααααΆα ConfigMap αα·αααα αα½αααα’αα»ααααΆαα±ααα’ααααααααΆαα»αααΆαααααααα ααΆαααααααααααααΆα αα·ααααα αΆααα½αααΆαα αααα αααααααΎαααΆααααααα·ααΈα ααααααΆααααα’αα»ααααΆαα±ααααΎαααΆααΆααΌαααΆααααΈαααααΆααααααΆααααΆαααααααα ααΆαααααααααααΆαα αα ααΆααααα α¬αα½ααααααααα·ααΈα ααααα
- ααα·ααΆαααΆααααΆααα αα»αααΊααααα·αα’αΆα ααααΆααααααΌαααΆαα‘αΎα α αΎααα αααααααα»αααΊαααααααΌαααΆααααααα αα·ααααααααΆααα’αααααααααΌαααΆαααααααα ααααααααα―αααΆαααΉαααααΌαααΆαααααααΆαα ααα»αααααααααα·ααΈαα½αα ααα½ααααααΆαα»ααα·αααααααααααααΆαααα ααΎααΆαα ααΎααααΈαααααααΆααααα αΆααα Kubernetes ααΆααα»αααΆααααααααααααΆααααα»αααΆα - ααα·ααΆαααΆααααΆααα ααααααΆααααααααΎααΆααααα»αααΆααααα αααααΆαααα·αααααα αα·αα’αΆα αααααααΆααααα»αααΆααααΆαα αααα»α α¬α―αααΆααα αααα»ααα»αααΊαααα αααααααααΆααααα’αα»ααααΆαα±ααα’ααααααααΆαα»ααα·ααααααααΆα ααααα‘ααααΈαααααα ααααααααΆαα»ααα½ααα ααααα·αααΎααααααααΌα ααααΆααΆαααααααΌα α
- αααα»ααα»αααααΆαα αααααΈααΆαα αααα»α Kubernetes ααΎααααααααααα’αααααΆαα’ααΌααΈααΌα ααΆ Deployment, StatefulSet ααΆααΎαα ααΈαααα»ααα»αααΊαααααααΎαααΆαααΎαααΆαααΈααα·αααα·αααααααΆ α¬αααΆαααΈααααααααααΉαα αα½αααΆαα·αααα’α₯αααα αααα α αΎαα’αΆα ααααΆαααα αααααΆααααΆαα Kubernetes ααΉαααΎαααΆ α αΎαααααΌααα·αα ααΆα αααααΆααααα»ααα ααΆααααΆαα ααααααααααααα ααα»ααααα’αααΈαααααααΌαααααΎααΆαα½αα ααΆα ααααααααααΈααΆααααα ? ααααα·αααΎα’αααααααΆααααααααΆαα ααΆα ααααα ααΆααααααααααααΆαα ααααα·αααΎααΆααΆαα ααααΆααααααΉααααααΆαα ααΎααααΈαααααααΆααααα αΆααα Kubernetes ααΆαααααΆααααααΌα ααΆ Load Balancer ααΆααΎαα αα½αααΆααααΌαααΆααα ααΆα‘αΎαααΎααααΈααααααα ααΆαααααααααα»αααααΆααααααΆααααα αααααααααααααααα·αααααΆααααααααααΆααα’αααα αααα»αα αααααα αα»αααααΆαααΆααααα αααααΉαααΆαα ααΆα αααΆααααα αα ααΆαααααααα αα·ααααα½ααα·αα·αααααααΆαααΆααααααα½αααααααΆααα ααααα·αααΎααααααααααΆαα α¬α αααΎαααΆαααα·αα’αΆα ααααΎααΆα α ααΆα αααααααΌαααΆααααααΌααααααα α’ααααααα αααα’αα»ααααΆαα±ααα’ααααααααΎαααααΆαααααααααΆαααααα·αααααααααααααΎ Kubernetes α
Kubernetes ααααΎαααΆαααα’αααα»ααα αααααααΎαααΆαααααΆααααααααααΈααααΌααααΆααααα ααΆα’αΆα αα αα½α αααα»αααΆαα’αα»αααααααααααααα ααΆααααΆαααααααααα»ααΆαααα»ααααααΆααααΆααααααα ααααα·αααΎαααααα·ααΈαα·αα’αΆα ααααΎαααΆαααΎααΆαα ααααα αααΎαααα ααΎααΆααΆαααΆααα»αααααΆαααΆαααΆααα - αα αααα»α Kubernetes α¬α’αα?
αααααααΎαα αα Kubernetes
αααααααΎαα
αα Kubernetes ααΊααΆααΏαααα’ααα
αΆααααα½αα αααα»αααΆαααα‘αΎαααΆα αΎαααΆααααΎαααΆαα α’αααα’αΆα
ααΆαααααααΆαααΆαα
ααΎαααΆαααΈααααααααααΉαααααΆαααααα½αααααα’ααα ααΎα αααααΆαα
ααΆααααααααααααΆαααααα½αααααα’ααα ααα‘αΎαα
α
α αααΆαααΆα αα·αααααααααααααααα·ααΈααΆααα’ααααΉαααααΎαααΆαα α αΎαααααΆαααααα»α, ααΆααα’αααααααΊα₯ααα·αααααα ααααααΆαααΆαααααααΆα nuances α
- ααΈαα½αααΊαααααΌαααΆαα ααααααΉα αα·ααααα·αααααααααα’αααααααααααα αα·ααα·ααααααααααΉαααΆαααααααΆα αα·αααΆααααα’αααΈαααΆααα’αααααα αααααΆαα’αα·αα·ααααα½αααΆαααααΈααΆααααααααααααααααΆααα αααα»αα ααααα ααΆααααααΌαααα½ααα»αααααΌαα ααααααΆαα’αα»ααααααα ααααααααα½αα―αα α αΎαααΆααΆααααα½αααΆαααααα»αααΆααααααα’αααΈααααααααΆααα ααΈαααα
- ααΈααΈαααΊαααααααΆααα½ααααα αΌαα ααααα·αααΎα’αααααααΎαααΆα Kubernetes αααααααΆααααα·ααΆαα·αααα·αααααααα·αα α’αααααΉααα·αα’αΆα ααα½αααΆαα’αααααααααααααΆααα’ααααΈαααααα·ααΈαααααα ααΌα ααΆααΆαααααΎααααΆααααααα·αααα‘ααααΆααααΆαα αα·αααααΆαααααα»αααααΆααααα»αα
ααΌαααΆαααΈ 2. ααααΆαααααααα k8s
Kubernetes ααΈα’αααααα
ααΆααα½ααααα
αΌαααΆαα½αα’ααααααααααααΆααααααααααΌααααααΎαααΈαα
- ααΆααααΌα ααα»αααααααΆααα’αΆα ααααΆααααα α»α ααΎαααΌαα»α "αααααΎαα ααααα" α αΎαααα½αααΆαα ααααααααααΆαααααααα ααΆαααααααααα½α α αΎα αα·ααα½α ααΆαααααααΆααααΆαααααΎααααΆααα
- ααΈααΈα α’αααααααααα½αα―αααα‘αΎαα ααααα α αΎααααα αααΆααα½ααααα αΌαααΆαα½ααααα
αααααααααΆααΎαα‘αΎααα ααΈαααα αα·ααααααααα αΆααααααΎαα ααααααααααα ααα½ααααααααααααΆααααααΌαααΆα αα·αααΆαα½αααΉααααΆαααΆααααααα’αααΈαααα (α§ααΆα ααα αααααα 5 ααΆαα ααααΆαααααΆααααΈααΈααΌ 10 α’αααα αα αΆα 16 ααΈααΆαα αα·ααα·ααΆαααΆ ααΆα 100 ααΈααΆαα) α αααααΆααααΈαααααΆααα½αααΆααα·αααα·α αΌαααααΎα ααααααααααΆααααααΎααα½α α αΎαα αααα»αααααΈααααααααααααααααα»αααααΌαααΆαααΆααα±ααααααΎαααΆαααααΌαααΆααααααααΆαααααα»ααα α±ααα’αα·αα·ααααα»ααααααααα αααααααααααααΆααααΌααα αααααα·ααααααααΆαααα½ααα»αααααΌαααααα’αααααα (ααααα·αααΎααααΆααααααααΌαααΆααααααα±ααααααααΆαααααΌααααΆαααααααααΆαααααααααα) α
αααααΆαααΆαααΆααααααααααααΆααααααααΆααα»ααα·ααααα·ααααααΆα αααααΆαααααααα ααααααααααααα ααααΆαα½αα’αααααα α’αααααααα·αααααααα·αααα·αααααααααα’αα·αα·αααα α αΎααααααΆαααααααααΆααααααααααα»αααΆαααααΎααΆαααΆαα½α Kubernetes α αααααααααΆααΎαα‘αΎαααααααΆαααΈααααααα αααααααααα»αααΆαααΆααααΆαααα½αα ααα½ααα Kubernetes α§ααΆα ααα ααΆααααααααααΆααααΆαααα LDAP ααα»ααααααΆαααααααα ααΆααααααααααααα ααααααααααααα·αα’αα»ααααΆαααα
ααΌαααΆαααΈ 3. α§ααΆα αααααα
ααααα Kubernetes ααΈα’ααααααααααααΆααα
α’αααΈαααααααΌαααααΎαααΎαα αααααααΎαα αα α¬α’αααααα
ααΌα
αααα ααΎ Kubernetes ααΆαααααααΎαα
αα α¬α’ααααααααΆααααΆαααα? ααααα·αααΎααΎααααααααααΎαα
αα Kubernetes αααα’αααααααΎααααΆααααΉαααααΎα’αααΈαααααΆααα
ααααΆαα ααα»ααααααΆαα±ααΆαααα’ααα
αΆααααααα»αααΆαααΆαααααα½αα―ααααααΎαα ααΆαα½αααΉαα’ααααααααΆααΆαααααα·ααΆα αααααα’αααΈαααααΌαααΆααα·α αα·αααααααα
ααΆαααααααααααααΆαααααα»αα αα»αα αα»ααα·ααααα·αααααααα»ααααααααααΎαα
αα Kubernetes ααΊααΆαααααΌαααΆααααααΆααα’αααα―ααααα ααΆαα½αααΉααααααΎαα’αααααα αααα»αα αα»αααΉααα½α
αα»αααΈααΆαααΊααααΆαααα ααα»ααααααΆααΉαααααΌααααααα
α
α·αααααΆααΎααααΌααααααααΆααα±ααα’αααα―αααααααααααα½α α¬α’ααααααα
ααΆααΆααααααΎαααΆαα, αα»ααααααααα·ααΊααΆααααααα, αα»ααα·ααααα·ααααΌαααΆαααααααΆαααααααα ααΏααα½αααΊαααα Kubernetes αααααααΆααααα αΆααΆα
αααΎααααααααααααααααα·ααααααΆαααααααααααα»αααΆα
αααΎαα α αΎααα½αααΆαααααααΌαααααΎαααΎα αααααααΎαα
αα α¬α’αααααα - α’ααααααααααααΆααααΎααΆααααααα
α
α·αααααααΆαααααα½αα
α’ααααααααααααΌαααΆααααα
αααα Dmitry Krasnov αααααΆααααΆααααααααΆααα»αααααααααΆαααα Containerum ααααα’ααααααααααααΆ #CloudMTS
ααααα: www.habr.com