рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐рдпрд╛рдБ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдиреАрд▓рд╛/рд╣рд░рд╛, рдХреИрдирд░реА, рдбрд╛рд░реНрдХ (рдП/рдмреА рдкрд░реАрдХреНрд╖рдг)

рдЯрд┐рдкреНрдкрдгреА рдЕрдиреБрд╡рд╛рдж: рд╡реАрд╡рд╡рд░реНрдХреНрд╕ рдХрд╛ рдпрд╣ рдЕрд╡рд▓реЛрдХрди рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд░реЛрд▓рдЖрдЙрдЯ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ рдФрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдлреНрд▓реИрдЧрд░ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдмрд╕реЗ рдЙрдиреНрдирдд рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рд░рд▓ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рджреГрд╢реНрдп рдЪрд┐рддреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдиреМрд╕рд┐рдЦрд┐рдП рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЛ рднреА рдореБрджреНрджреЗ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐рдпрд╛рдБ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдиреАрд▓рд╛/рд╣рд░рд╛, рдХреИрдирд░реА, рдбрд╛рд░реНрдХ (рдП/рдмреА рдкрд░реАрдХреНрд╖рдг)
рдЖрд░реЗрдЦ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдПрдХ рдФрд░ рд╕рдореАрдХреНрд╖рд╛ рдХрдВрдЯреЗрдирд░ рд╕реЙрд▓реНрдпреВрд╢рдВрд╕ рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рд░реЛрд▓рдЖрдЙрдЯ рд░рдгрдиреАрддрд┐рдпрд╛рдБ

рдЖрдЬ рдХреНрд▓рд╛рдЙрдб рдиреЗрдЯрд┐рд╡ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝реА рдЪреБрдиреМрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рддреИрдирд╛рддреА рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдирд╛ред рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЙрдбреНрдпреВрд▓рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЯреАрдореЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред

рдЫреЛрдЯреА рдФрд░ рдЕрдзрд┐рдХ рдмрд╛рд░ рддреИрдирд╛рддреА рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдн рд╣реИрдВ:

  • рдмрд╛рдЬрд╛рд░ рдореЗрдВ рдЖрдиреЗ рдХрд╛ рд╕рдордп рдХрдо рд╣реЛ рдЧрдпрд╛ рд╣реИред
  • рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рддрдХ рддреЗрдЬрд╝реА рд╕реЗ рдкрд╣реБрдБрдЪрддреА рд╣реИрдВред
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рддрдХ рддреЗрдЬреА рд╕реЗ рдкрд╣реБрдВрдЪрддреА рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЯреАрдо рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝ рд╕рдХрддреА рд╣реИ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЕрдзрд┐рдХ рддреЗрдЬрд╝реА рд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреА рд╣реИред
  • рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рдордиреЛрдмрд▓ рдмрдврд╝рддрд╛ рд╣реИ: рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдордЬреЗрджрд╛рд░ рд╣реЛрддрд╛ рд╣реИред


рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд░рд┐рд▓реАрдЬрд╝ рдХреА рдЖрд╡реГрддреНрддрд┐ рдмрдврд╝рддреА рд╣реИ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдкрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рднреА рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рдЗрд╕реАрд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рди рдФрд░ DevOps рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЙрддреНрдкрд╛рдж рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬреЛрдЦрд┐рдо рдХрдо рд╕реЗ рдХрдо рд╣реЛред (рдЖрдк рд╕реАрдЖрдИ/рд╕реАрдбреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣рд╛рдВ.)

рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рд╣рдо рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рддреИрдирд╛рддреА рд░рдгрдиреАрддрд┐рдпреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рд░реЛрд▓рд┐рдВрдЧ рддреИрдирд╛рддреА рдФрд░ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рддрд░реАрдХреЗ рдЬреИрд╕реЗ рдХреИрдирд░реА рд░реЛрд▓рдЖрдЙрдЯ рдФрд░ рдЙрдирдХреА рд╡рд┐рд╡рд┐рдзрддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐рдпрд╛рдБ

рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреА рддреИрдирд╛рддреА рд░рдгрдиреАрддрд┐рдпрд╛рдБ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдЕрдкрдиреЗ рд▓рдХреНрд╖реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрдЧреЗ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ/рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдПрдХ рдЙрдкрд╕рдореВрд╣ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдпрд╛ рдЖрдкрдХреЛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реАрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ.

рд░реЛрд▓рд┐рдВрдЧ (рдХреНрд░рдорд┐рдХ, "рд░реЛрд▓рд┐рдВрдЧ" рдкрд░рд┐рдирд┐рдпреЛрдЬрди)

рдпрд╣ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдорд╛рдирдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐ рд╣реИред рдпрд╣ рдзреАрд░реЗ-рдзреАрд░реЗ, рдПрдХ-рдПрдХ рдХрд░рдХреЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рд╡рд╛рд▓реЗ рдкреЙрдбреНрд╕ рдХреЛ рдирдП рд╕рдВрд╕реНрдХрд░рдг рд╡рд╛рд▓реЗ рдкреЙрдбреНрд╕ рд╕реЗ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ - рдмрд┐рдирд╛ рдХреНрд▓рд╕реНрдЯрд░ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЗред

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐рдпрд╛рдБ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдиреАрд▓рд╛/рд╣рд░рд╛, рдХреИрдирд░реА, рдбрд╛рд░реНрдХ (рдП/рдмреА рдкрд░реАрдХреНрд╖рдг)

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдирдП рдкреЙрдбреНрд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рди рд╣реЛ рдЬрд╛рдПрдВ (рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рдВрдЪ рдХрд░реЗрдВ)ред рддрддреНрдкрд░рддрд╛ рдкрд░реАрдХреНрд╖рдг), рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдкреБрд░рд╛рдиреЗ рдХреЛ рд░реЛрд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдпрджрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдЖрддреА рд╣реИ, рддреЛ рдкреВрд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рд░реЛрдХреЗ рдмрд┐рдирд╛ рдЗрд╕ рд░реЛрд▓рд┐рдВрдЧ рдЕрдкрдбреЗрдЯ рдХреЛ рдирд┐рд░рд╕реНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА YAML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдирдИ рдЫрд╡рд┐ рдкреБрд░рд╛рдиреА рдЫрд╡рд┐ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреА рд╣реИ:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: awesomeapp
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: awesomeapp
    spec:
      containers:
        - name: awesomeapp
          image: imagerepo-user/awesomeapp:new
          ports:
            - containerPort: 8080

рд░реЛрд▓рдУрд╡рд░ рдЕрджреНрдпрддрди рдкреИрд░рд╛рдореАрдЯрд░ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

spec:
  replicas: 3
  strategy:
    type: RollingUpdate
    rollingUpdate:
       maxSurge: 25%
       maxUnavailable: 25%  
  template:
  ...

рдмрд╣рд▓рд╛рдирд╛

рдЗрд╕ рд╕рд░рд▓рддрдо рдкреНрд░рдХрд╛рд░ рдХреА рддреИрдирд╛рддреА рдореЗрдВ, рдкреБрд░рд╛рдиреЗ рдкреЙрдбреНрд╕ рдХреЛ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдЦрддреНрдо рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рд╕реНрдерд╛рди рдкрд░ рдирдП рдкреЙрдбреНрд╕ рд▓рдЧрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ:

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐рдпрд╛рдБ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдиреАрд▓рд╛/рд╣рд░рд╛, рдХреИрдирд░реА, рдбрд╛рд░реНрдХ (рдП/рдмреА рдкрд░реАрдХреНрд╖рдг)

рд╕рдВрдмрдВрдзрд┐рдд рдореИрдирд┐рдлреЗрд╕реНрдЯ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

spec:
  replicas: 3
  strategy:
    type: Recreate
  template:
  ...

рдиреАрд▓рд╛/рд╣рд░рд╛ (рдиреАрд▓рд╛-рд╣рд░рд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди)

рдиреАрд▓реА-рд╣рд░реА рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐ (рдЬрд┐рд╕реЗ рдХрднреА-рдХрднреА рд▓рд╛рд▓/рдХрд╛рд▓рд╛ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреБрд░рд╛рдиреЗ (рд╣рд░рд╛) рдФрд░ рдирдП (рдиреАрд▓рд╛) рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╕рд╛рде рддреИрдирд╛рддреА рд╢рд╛рдорд┐рд▓ рд╣реИред рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рд╣рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИ, рдЬрдмрдХрд┐ рдиреАрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреНрдпреВрдП рдЯреАрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕реЗрд╡рд╛ рдпрд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рдкреЛрд░реНрдЯ рдЕрдЧреНрд░реЗрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрддрд╛ рд╣реИ:

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐рдпрд╛рдБ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдиреАрд▓рд╛/рд╣рд░рд╛, рдХреИрдирд░реА, рдбрд╛рд░реНрдХ (рдП/рдмреА рдкрд░реАрдХреНрд╖рдг)

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: awesomeapp-02
spec:
  template:
    metadata:
      labels:
        app: awesomeapp
        version: "02"

рдиреАрд▓реЗ (рдирдП) рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдФрд░ рдЙрд╕рдХреА рд░рд┐рд▓реАрдЬ рдХреЛ рдордВрдЬреВрд░реА рдорд┐рд▓рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реЗрд╡рд╛ рдЙрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдФрд░ рд╣рд░рд╛ (рдкреБрд░рд╛рдирд╛) рд╕рдВрд╕реНрдХрд░рдг рдлреЛрд▓реНрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:

apiVersion: v1
kind: Service
metadata:
  name: awesomeapp
spec:
  selector:
    app: awesomeapp
    version: "02"
...

рдХреИрдирд░реА (рдХреИрдирд░реА рддреИрдирд╛рддреА)

рдХреИрдирд░реА рд░реЛрд▓рдЖрдЙрдЯ рдиреАрд▓реЗ-рд╣рд░реЗ рд░реЛрд▓рдЖрдЙрдЯ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХрд╛ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рдЙрдкрдпреЛрдЧ рдмреЗрд╣рддрд░ рд╣реИ рдкреНрд░рдЧрддрд┐рд╢реАрд▓ рдЪрд░рдг-рджрд░-рдЪрд░рдг рджреГрд╖реНрдЯрд┐рдХреЛрдг. рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдгрдиреАрддрд┐рдпрд╛рдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ "рдЪреБрдкрдХреЗ" рд▓реЙрдиреНрдЪ рдФрд░ рдП/рдмреА рдкрд░реАрдХреНрд╖рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдЗрд╕ рд░рдгрдиреАрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдХреБрдЫ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмреИрдХрдПрдВрдб рдореЗрдВред рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд╕рд╛рд░ рджреЛ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╕рд░реНрд╡рд░ рдмрдирд╛рдирд╛ рд╣реИ: рдПрдХ рд▓рдЧрднрдЧ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛, рдирдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯреЗ рдЙрдкрд╕рдореВрд╣ рдХреЛ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЙрдирдХреЗ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рд╕рдм рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдзреАрд░реЗ-рдзреАрд░реЗ рд╕рдВрдкреВрд░реНрдг рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕ рд░рдгрдиреАрддрд┐ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкреБрд░рд╛рдиреЗ рдкреЙрдбреНрд╕ рдХреЛ рдирдП рдХреЗ рд╕рд╛рде рдмрджрд▓рдХрд░, рдЗрд╕реНрддрд┐рдпреЛ рдЬреИрд╕реЗ рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рд░рд▓ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ Git рдореЗрдВ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: 0.1.0 рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдпрдорд┐рдд рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдФрд░ 0.2.0 рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдХреИрдирд░реА рдореЗрдирд┐рдлреЗрд╕реНрдЯред рдЗрд╕реНрддрд┐рдпреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдЧреЗрдЯрд╡реЗ рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдореЗрдВ рд╡рдЬрд╝рди рдмрджрд▓рдХрд░, рдЖрдк рдЗрди рджреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрдиреЛрдВ рдХреЗ рдмреАрдЪ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд╡рд┐рддрд░рдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐рдпрд╛рдБ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдиреАрд▓рд╛/рд╣рд░рд╛, рдХреИрдирд░реА, рдбрд╛рд░реНрдХ (рдП/рдмреА рдкрд░реАрдХреНрд╖рдг)

рдЗрд╕реНрддрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреИрдирд░реА рддреИрдирд╛рддреА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдг-рджрд░-рдЪрд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ рдЗрд╕реНрддрд┐рдпреЛ рдХреЗ рд╕рд╛рде GitOps рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝. (рдЯрд┐рдкреНрдкрдгреАред рдЕрдиреБрд╡рд╛рджред: рд╣рдордиреЗ рдХреИрдирд░реА рд░реЛрд▓рдЖрдЙрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЗрд╕реНрддрд┐рдпреЛ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рднреА рдХрд┐рдпрд╛ рдпрд╣рд╛рдВ.)

рд╡реАрд╡рд╡рд░реНрдХреНрд╕ рдлрд╝реНрд▓реИрдЧрд░ рдХреЗ рд╕рд╛рде рдХреИрдирд░реА рдкрд░рд┐рдирд┐рдпреЛрдЬрди

рд╡реАрд╡рд╡рд░реНрдХреНрд╕ рдлрд╝реНрд▓реИрдЧрд░ рдЖрдкрдХреЛ рдХреИрдирд░реА рд░реЛрд▓рдЖрдЙрдЯ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдлрд╝реНрд▓реИрдЧрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд░реВрдЯ рдХрд░рдиреЗ рдФрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддрд┐рдпреЛ рдпрд╛ AWS рдРрдк рдореЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрд╡реАрдХреГрддрд┐ рдкрд░реАрдХреНрд╖рдг, рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдирд░реА рддреИрдирд╛рддреА рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рд╡реЗрдмрд╣реБрдХ рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдФрд░, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдкреЙрдбреНрд╕ рдХреА рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ (рдПрдЪрдкреАрдП) рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдлреНрд▓реИрдЧрд░ рдХреИрдирд░реА рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕реЗрдЯ (рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд░рд┐рдирд┐рдпреЛрдЬрди, рдХреНрд▓рд╕реНрдЯрд░рдЖрдИрдкреА рд╕реЗрд╡рд╛рдПрдВ рдФрд░ рдЗрд╕реНрддрд┐рдпреЛ рдпрд╛ рдРрдк рдореЗрд╖ рд╡рд░реНрдЪреБрдЕрд▓ рд╕реЗрд╡рд╛рдПрдВ) рдмрдирд╛рддрд╛ рд╣реИ:

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐рдпрд╛рдБ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдиреАрд▓рд╛/рд╣рд░рд╛, рдХреИрдирд░реА, рдбрд╛рд░реНрдХ (рдП/рдмреА рдкрд░реАрдХреНрд╖рдг)

рдирд┐рдпрдВрддреНрд░рдг рдкрд╛рд╢ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдирд┐рдпрдВрддреНрд░рдг рдкрд╛рд╢),рдлреНрд▓реИрдЧрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдХреИрдирд░реА рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рдлрд▓ HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рд╢рдд, рдФрд╕рдд рдЕрдиреБрд░реЛрдз рдЕрд╡рдзрд┐ рдФрд░ рдкреЙрдб рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬреИрд╕реЗ рдкреНрд░рдореБрдЦ рдкреНрд░рджрд░реНрд╢рди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдорд╛рдкрддрд╛ рд╣реИред KPI (рдореБрдЦреНрдп рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдХреЗрддрдХ) рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдХреИрдирд░реА рдпрд╛ рддреЛ рдмрдврд╝рддреА рд╣реИ рдпрд╛ рдврд╣ рдЬрд╛рддреА рд╣реИ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╕реНрд▓реИрдХ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рдФрд░ рдкреНрд░рджрд░реНрд╢рди рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдРрдк рдореЗрд╢ рдХреЗ рд▓рд┐рдП рдкреНрд░рдЧрддрд┐рд╢реАрд▓ рдбрд┐рд▓реАрд╡рд░реА.

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐рдпрд╛рдБ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдиреАрд▓рд╛/рд╣рд░рд╛, рдХреИрдирд░реА, рдбрд╛рд░реНрдХ (рдП/рдмреА рдкрд░реАрдХреНрд╖рдг)

рдбрд╛рд░реНрдХ (рдЫрд┐рдкрд╛ рд╣реБрдЖ) рдпрд╛ рдП/рдмреА рдкрд░рд┐рдирд┐рдпреЛрдЬрди

рдЧреБрдкреНрдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреИрдирд░реА рд░рдгрдиреАрддрд┐ рдХрд╛ рдПрдХ рдФрд░ рд░реВрдк рд╣реИ (рд╡реИрд╕реЗ, рдлрд╝реНрд▓реИрдЧрд░ рднреА рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред рд╕реНрдЯреАрд▓реНрде рдФрд░ рдХреИрдирд░реА рддреИрдирд╛рддреА рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдЯреАрд▓реНрде рддреИрдирд╛рддреА рдХреИрдирд░реА рддреИрдирд╛рддреА рдХреА рддрд░рд╣ рдмреИрдХрдПрдВрдб рдХреЗ рдмрдЬрд╛рдп рдлреНрд░рдВрдЯрдПрдВрдб рд╕реЗ рдирд┐рдкрдЯрддреА рд╣реИред

рдЗрди рдкрд░рд┐рдирд┐рдпреЛрдЬрдиреЛрдВ рдХрд╛ рджреВрд╕рд░рд╛ рдирд╛рдо рдП/рдмреА рдкрд░реАрдХреНрд╖рдг рд╣реИред рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЙрдирдХреЗ рдПрдХ рд╕реАрдорд┐рдд рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдпреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдЕрдирдЬрд╛рди рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЕрдЧреНрд░рдгреА рдкрд░реАрдХреНрд╖рдХ рд╣реИрдВ (рдЗрд╕рд▓рд┐рдП рд╢рдмреНрдж "рдЪреБрдкрдХреЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди")ред

рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реНрд╡рд┐рдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рдлрд╝реАрдЪрд░ рдЯреЙрдЧрд▓) рдФрд░ рдЕрдиреНрдп рдЯреВрд▓ рд╕реЗ, рдЖрдк рдирд┐рдЧрд░рд╛рдиреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпрд╛ рд╡реЗ рдЗрд╕рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рдпрд╛ рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ред

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐рдпрд╛рдБ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдиреАрд▓рд╛/рд╣рд░рд╛, рдХреИрдирд░реА, рдбрд╛рд░реНрдХ (рдП/рдмреА рдкрд░реАрдХреНрд╖рдг)

рдлрд╝реНрд▓реИрдЧрд░ рдФрд░ рдП/рдмреА рдкрд░рд┐рдирд┐рдпреЛрдЬрди

рд╡рдЬрд╝рди-рдЖрдзрд╛рд░рд┐рдд рд░реВрдЯрд┐рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╝реНрд▓реИрдЧрд░ HTTP рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдХреИрдирд░реА рд╕рд░реНрд╡рд░ рдкрд░ рднреА рд░реВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдП/рдмреА рдкрд░реАрдХреНрд╖рдг рдореЗрдВ, рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд░реНрдЧ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HTTP рд╣реЗрдбрд░ рдпрд╛ рдХреБрдХреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЙрди рдлреНрд░рдВрдЯрдПрдВрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╣реИ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ рд╕рддреНрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рд╕рддреНрд░ рдЖрддреНрдореАрдпрддрд╛). рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдлрд╝реНрд▓реИрдЧрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред

рд▓реЗрдЦрдХ рдХреГрддрдЬреНрдЮ рд╣реИ рд╕реНрдЯреАрдлрд╝рди рдкреНрд░реЛрдбрд╛рдирдЗрди рд╕рднреА рдЕрджреНрднреБрдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкреИрдЯрд░реНрди рдХреЗ рд▓рд┐рдП, рд╡реАрд╡рд╡рд░реНрдХреНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░ (рдФрд░ рдлрд╝реНрд▓реИрдЧрд░ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛)ред

рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ рдкреА.рдПрд╕

рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдкрд░ рднреА рдкрдврд╝реЗрдВ:

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ