рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрджрд░реНрдн рд╕рд╛рд╣рд┐рддреНрдп рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рд╕рдмрд╕реЗ рд╕рд░рд▓ рдпреБрдХреНрддрд┐рдпрд╛рдБ рд╕рдмрд╕реЗ рдореВрд▓реНрдпрд╡рд╛рди рдмрди рдЬрд╛рддреА рд╣реИрдВред Mail.ru рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдПрдПрд╕ рдЯреАрдо рдиреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рджрд╕ рд▓реЗрдЦреЛрдВ рдФрд░ рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЪрдпрди рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рд╣реИ ред рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЛ рдорд╣рддреНрд╡ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЕрдкрдиреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдкрд╛рдПрдЧрд╛редрдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдЯреАрдо
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдХреНрд░рд┐рдпрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрджреЗрд╢ kubectl
рдмреИрд╢ рд╢реЗрд▓ рдореЗрдВ рдХрдорд╛рдВрдб рдХреЗ рд╕реНрд╡рддрдГ рдкреВрд░реНрдгреАрдХрд░рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ :echo "source <(kubectl completion bash)" >> ~/.bashrc
рд╕реНрд╡рддрдГ рдкреВрд░реНрдг kubectl
рдХреЛ .bashrc рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╢реЗрд▓ рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд▓рдВрдмреЗ рдХрдорд╛рдВрдб рдФрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ all-namespaces
ред рджреЗрдЦреЗрдВ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП Kubernetes рдмреИрд╢ рдорджрдж редрдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдореЗрдореЛрд░реА рдФрд░ рд╕реАрдкреАрдпреВ рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рддрд┐рдмрдВрдз
рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд░ рд╕реЗрдХрдВрдб рдпрд╣ рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХрднреА рдмрдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдореЗрдореЛрд░реА рд░рд┐рд╕рд╛рд╡ рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдпрджрд┐ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рджреМрд░рд╛рди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрдореГрддрд┐ рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдиреЛрдб рд╡рд┐рдлрд▓рддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИредрдЗрд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рддрд┐рдмрдВрдз рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рдо рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП yaml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:apiVersion: v1
kind: LimitRange
metadata:
name: mem-limit-range
spec:
limits:
- default:
memory: 512Mi
defaultRequest:
memory: 256Mi
type: Container
рдРрд╕рд╛ рдпрдо рдмрдирд╛рдПрдБ рдФрд░ рдХрд┐рд╕реА рднреА рдирд╛рдорд╕реНрдерд╛рди рдкрд░ рд▓рд╛рдЧреВ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд╛рдо рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП limit-example
ред рдЕрдм, рдЗрд╕ рдирд╛рдо рд╕реНрдерд╛рди рдкрд░ рддреИрдирд╛рдд рдХрд┐рд╕реА рднреА рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП, 512Mi рд╕реАрдорд╛ рд▓рд╛рдЧреВ рд╣реЛрдЧреА, рдЬрдм рддрдХ рдХрд┐ рдЗрд╕ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реАрдорд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рд╕реЗрдЯ рди рд╣реЛредрдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреНрдпреВрдмрд▓реЗрдЯ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдЬрдм var / lib / docker рдЙрдкрд▓рдмреНрдз рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХрд╛ 90% рд╣рд┐рд╕реНрд╕рд╛ рд▓реЗрддрд╛ рд╣реИред рдпрд╣ рдареАрдХ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ 1.7 рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЗрдиреЛрдбреНрд╕ (рдЗрдиреЛрдбреНрд╕) рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдХреЛрдИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реАрдорд╛ рдирд╣реАрдВ рдереА, рдЬреЛ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИредрд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ, рдЖрдкрдХреЗ var / lib / docker рдХрдВрдЯреЗрдирд░ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХрд╛ рдХреЗрд╡рд▓ 50% рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрдиреЛрдб рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдПрдБ рдЙрддреНрдкрдиреНрди рд╣реЛрдВрдЧреАред1.4 рд╕реЗ 1.6 рддрдХ рдХреЗ рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рдирд┐рдореНрди рдзреНрд╡рдЬ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:--eviction-hard
=memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%
1.7 рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдпрд╣ рдзреНрд╡рдЬ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдЗрдиреЛрдбреНрд╕ рдХреА рд╕реАрдорд╛ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВредрдорд┐рдирд┐рдХреНрдпреВрдм ... рдПрдХ рдЫреЛрдЯрд╛ рд▓реЗрдХрд┐рди рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕реНрдерд╛рдиреАрдп рдХреБрдмреЗрд░рдиреЗрдЯ
рдорд┐рдирд┐рдХреНрдпреВрдм рдПрдХ рд╕реНрдерд╛рдиреАрдп рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрдорд╛рдВрдб рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:minikube start
рдЗрд╕ рдЖрджреЗрд╢ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИредрдЪрд┐рддреНрд░рдг рдХрд╛ рд╕реНрд░реЛрдд рдпрд╣рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕реЗ рдЗрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПред рдЬрдм рддрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдбреЙрдХрд░ рдЫрд╡рд┐ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдмрдиреЗрдЧреА, рди рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВредрдбреЙрдХрд░ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЫрд╡рд┐ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЙрдХрдЯрд░ рдорд╢реАрди рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рджреА рдЧрдИ рд╣реИ:eval $(minikube docker-env)
рдЕрдм рд╣рдо рд╕реНрдерд╛рдиреАрдп рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдЖрд╡реЗрджрди рдкрддреНрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВредрд╣рд░ рдХрд┐рд╕реА рдХреЛ рдХреБрдмреЗрдЯрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рджреЗрдВ
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХрдИ рдЯреАрдореЗрдВ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВ (рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛), рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рднреА рдХреЛ рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП kubectl
ред рдЯреАрдореЛрдВ рдХреЛ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЕрдкрдиреЗ рдирд╛рдорд╕реНрдерд╛рди рдФрд░ рдЖрд░рдмреАрдПрд╕реА рдиреАрддрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдВрдЪ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИредрдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдкреЛрдб рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХрд░рдг рдХрд░рдиреЗ, рдкрдврд╝рдиреЗ, рдмрдирд╛рдиреЗ, рд╣рдЯрд╛рдиреЗ рдФрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рдХреЗ рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдмрд╛рдд рд░рд╣рд╕реНрдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдкреНрд░рд╢рд╛рд╕рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЬреЛ рдХреЗрд╡рд▓ рдЗрд╕рдореЗрдВ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрдЪреВрд▓реНрд╣рд╛ рдмрдЬрдЯ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ
рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреА рдЧрд╛рд░рдВрдЯреА рдХреИрд╕реЗ рдХрд░реЗрдВ? PodDisruptionBudget рдФрд░ рдлрд┐рд░ рд╕реЗ PodDisruptionBudgetредрдХреНрд▓рд╕реНрдЯрд░ рд╕рдордп-рд╕рдордп рдкрд░ рдЕрджреНрдпрддрди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдиреЛрдбреНрд╕ рдЦрд╛рд▓реА рдХрд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдХреБрдЫ рднреА рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реИ, рдРрд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рд╣реИред рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╣рд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдореЗрдВ, рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ PDB (рдкреЛрдбрдбрд┐рд╕реНрдкрд┐рд░реЗрд╢рдирдмреНрдпреВрдб) рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ PDB рдХрд╛ рдХрд╡рд░реЗрдЬ рдХреНрд╖реЗрддреНрд░ рд▓реЗрдмрд▓ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредрдиреЛрдЯ: рдкреАрдбреАрдмреА рдмрдЬрдЯ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрд╡реИрдЪреНрдЫрд┐рдХ рд╡реНрдпрд╡рдзрд╛рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рдлрд▓рддрд╛ рдЬреИрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдкреАрдбреАрдмреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛редPDB рдЙрджрд╛рд╣рд░рдг:apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: app-a-pdb
spec:
minAvailable: 2
selector:
matchLabels:
app: app-a
рджреЛ рдореБрдЦреНрдп рдорд╛рдкрджрдВрдб рд╣реИрдВ matchLabels
рдФрд░ minAvailable
ред рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдмрдЬрдЯ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ app: app-a
рдФрд░ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рддреИрдирд╛рддреА рд╣реИ app: app-b
, рддреЛ рдпрд╣ рдкреАрдбреАрдмреА рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛ред рдпреВрдирд┐рдЯ рдХреЛ рдЦрд╛рд▓реА (рд╕рдлрд╛рдИ) рдХрд░рддреЗ рд╕рдордпрдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ minAvailable
рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рддрдмрд╛рд╣реА рдХреЗ рджреМрд░рд╛рди рд╕рднреА app: app-a
рд▓реЗрдХрд┐рди рджреЛ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ редрдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рд╕рдордп рдЖрд╡реЗрджрди рдХреЗ рдХрд┐рддрдиреЗ рдЙрджрд╛рд╣рд░рдг рдЪрд▓ рд░рд╣реЗ рд╣реИрдВредрдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдирд┐рдЧрд░рд╛рдиреА
рдЗрд╕ рддрд░рд╣ рдХреА рдирд┐рдЧрд░рд╛рдиреА рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ: рд░реЗрдбреАрдиреЗрд╕ рдпрд╛ рд▓реАрдирд┐рд╡ рдирдореВрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛редрдкрд╣рд▓рд╛ рддрддреНрдкрд░рддрд╛ рдкрд░реАрдХреНрд╖рдг рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдпрд╛рддрд╛рдпрд╛рдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ рдпрд╛ рдирд╣реАрдВредрджреВрд╕рд░рд╛ (рд▓реАрдирд┐рдпрд░) рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИредрдЙрдкрдпреБрдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗрд╡рд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП yaml рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред рд╡рд╣рд╛рдВ рдЖрдк рдЯрд╛рдЗрдордЖрдЙрдЯ, рд╡рд┐рд▓рдВрдм рд╕рдордп рдФрд░ рд░рд┐рдЯреНрд░реАрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯ рджрд╕реНрддрд╛рд╡реЗрдЬ рджреЗрдЦреЗрдВ редрд╣рд░ рдЬрдЧрд╣ рдЯреИрдЧ
рдЯреИрдЧ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдореВрд▓рднреВрдд рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВред рд╡реЗ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд▓реЗрдмрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рд╢реНрди рднреА рдмрдирд╛рддреЗ рд╣реИрдВред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ, рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рднреА рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреИрдЧ рджреНрд╡рд╛рд░рд╛ рдИрд╡реЗрдВрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВредрд▓реЗрдмрд▓ рдХреА рдорджрдж рд╕реЗ, рдЖрдк рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛редрдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдк dev
рдФрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ qa
ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдЖрдк рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЖрд╡реЗрджрди app-a
рджреЛрдиреЛрдВ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдореЗрдВ рдПрдХ рд╕рд╛рде рдЪрд▓ qa
рдФрд░ dev
ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЙрдкрдпреБрдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЗрдВрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ environment
ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, app: app-a
рдФрд░ environment: dev
рдПрдХрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП, app: app-a
рдФрд░environment: qa
рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдПредрдпрд╣ рдЖрдкрдХреЛ рдЖрд╡реЗрджрди рдХреЗ рджреЛрдиреЛрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПредрдХреНрд░рдо рд╕реЗ рд░рдЦрдирд╛
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдХ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкреНрд░рдгрд╛рд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдкреНрд░рдгрд╛рд▓реА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреА рд╣реИред рдХреНрдпреВрдмрд▓реЗрдЯ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдЬрд╛рдВрдЪреЛрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рднреАредрдмреЗрд╢рдХ, рдПрдХ рдЕрдирд╛рде рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдзреАрдорд╛ рдирд╣реАрдВ рдХрд░реЗрдЧреА, рдФрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд▓рд╛рдЦ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреНрдпреВрдмрд▓реЗрдЯ рдЪреЛрдХ рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реИредрдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдк рддреИрдирд╛рддреА рдХреЛ рд╣рдЯрд╛ рд░рд╣реЗ рд╣реИрдВ (рдХрдВрдЯреЗрдирд░, рдЫрд╡рд┐, рдЬреЛ рднреА рд╣реЛ), рдмрд╕ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдл рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВредрдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдУ
рд╣рдордиреЗ рдЕрдВрдд рдореЗрдВ рдореБрдЦреНрдп рд╕рд▓рд╛рд╣ рдХреЛ рдмрдЪрд╛рдпрд╛ред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╕реАрдЦреЗрдВредрдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЧреЛ рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рднреА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЧреЛ рдкрд░ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ-рдЧреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рднреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИредрдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рддреЛ, рдЖрдк рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рдиреЗ, рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдпрд╛ рдмрд╕ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрдЧреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╕реАрдЦрдирд╛ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ-рдЧреЛ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЯрд┐рдк рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдиреМрд╕рд┐рдЦрд┐рдП рдХреБрдмреЗрд░реЗрдЯреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВредMail.ru Cloud Solutions рдХреЗ рд╕рдорд░реНрдерди рд╕реЗ рдЕрдиреБрд╡рд╛рджрд┐рдд