Kubernetes: рдмреИрдЪ рдиреМрдХрд░рд┐рдпреЛрдВ рдореЗрдВ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕рдорд░реНрдерди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рдордИ 2016  ┬╖  116рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: kubernetes/kubernetes

рдЗрд╕рдореЗрдВ рджреЛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдиреМрдХрд░реА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ - рдПрдХ рдЬреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд▓реЙрдЧ рдпрд╛ рдореАрдЯреНрд░рд┐рдХ рд╕рдВрдЧреНрд░рд╣ рдЬреИрд╕реА рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╡рд┐рдХрд▓реНрдк рдореМрдЬреВрдж рд╣реИрдВ? рдХреНрдпрд╛ рд╡рд┐рдХрд▓реНрдк рдореМрдЬреВрдж рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП?

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

рдпрд╣ рдкреНрд░рд╢реНрди рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ

@kubernetes/goog-control-plane @erictune

arebatch areworkload-apjob kinfeature lifecyclfrozen prioritimportant-longterm siapps sinode

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

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

containers:
  - name: main
    image: gcr.io/some/image:latest
    command: ["/bin/bash", "-c"]
    args:
      - |
        trap "touch /tmp/pod/main-terminated" EXIT
        /my-batch-job/bin/main --config=/config/my-job-config.yaml
    volumeMounts:
      - mountPath: /tmp/pod
        name: tmp-pod
  - name: envoy
    image: gcr.io/our-envoy-plus-bash-image:latest
    command: ["/bin/bash", "-c"]
    args:
      - |
        /usr/local/bin/envoy --config-path=/my-batch-job/etc/envoy.json &
        CHILD_PID=$!
        (while true; do if [[ -f "/tmp/pod/main-terminated" ]]; then kill $CHILD_PID; fi; sleep 1; done) &
        wait $CHILD_PID
        if [[ -f "/tmp/pod/main-terminated" ]]; then exit 0; fi
    volumeMounts:
      - mountPath: /tmp/pod
        name: tmp-pod
        readOnly: true
volumes:
  - name: tmp-pod
    emptyDir: {}

рд╕рднреА 116 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

/рд╡рд┐рд╖рдп

рдпрд╣рд╛рдВ рд╕реБрдЭрд╛рдП рдЧрдП рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдЬреАрд╡рдВрддрддрд╛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ http://stackoverflow.com/questions/36208211/sidecar-containers-in-kubernetes-jobs рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреЙрдб рдХреЛ рд╡рд┐рдлрд▓ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╕рдордЧреНрд░ рдХрд╛рд░реНрдп рдХреЛ рд╕рдлрд▓ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред

рдХреИрд╕реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдиреМрдХрд░реА рдХреА рд╕рдлрд▓рддрд╛ рдЬрд╛рдВрдЪ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рддрд╛рдХрд┐ рдиреМрдХрд░реА рдлрд▓реА рдХреЗ рд▓реМрдЯрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рдлрд▓рддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХреЗред
рдПрдХ рдмрд╛рд░ рдЬрдм рдЬрд╛рдВрдЪ рд╕рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдкреЙрдб рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╣реА рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЪреБрдХрд╛ рд╣реИ, рдпрд╛ рд╡рд╣рд╛рдВ рд╣реЛрдЧрд╛
рдПрдХ рдРрд╕реА рджреМрдбрд╝ рдмрдиреЛ рдЬрд╣рд╛рдБ рдЗрд╕реЗ рддреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдХреБрдЫ рдирд┐рдХрд╛рд╕ рдХреЛрдбреЛрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖ рдЕрд░реНрде рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реИред

рджреЛрдиреЛрдВ "рдкреВрд░реЗ рдкреЙрдб рдХреЗ рд▓рд┐рдП рд╕рдлрд▓рддрд╛" рдпрд╛ "рдкреВрд░реЗ рдкреЙрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рдлрд▓рддрд╛" рджреЛрдиреЛрдВ рд╣реИрдВ
рдЙрдкрдпреЛрдЧреАред

рдЗрд╕реЗ рдкреЙрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдПрдкреАрдЖрдИ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛред

рдЧреБрд░реБ, 22 рд╕рд┐рддрдВрдмрд░, 2016 рдХреЛ рджреЛрдкрд╣рд░ 1:41 рдмрдЬреЗ, рдорд┐рдВрдЧ рдлреЗрдВрдЧ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдХреИрд╕реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдиреМрдХрд░реА рдХреА рд╕рдлрд▓рддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рддрд╛рдХрд┐ рдиреМрдХрд░реА рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХреЗ
рдкреЙрдб рдХреЗ 0 рдкрд░ рд▓реМрдЯрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рдлрд▓рддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВред

рдПрдХ рдмрд╛рд░ рдЬрдм рдЬрд╛рдВрдЪ рд╕рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдкреЙрдб рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/kubernetes/kubernetes/issues/25908#issuecomment -249021627,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AHuudjrpVtef6U35RWRlZr3mDKcCRo7oks5qsugRgaJpZM4IiqQH
.

@erictune рдЕрдЪреНрдЫрд╛ рдмрд┐рдВрджреБ; рд╣рдо рдПрдХ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗ рдХрдВрдЯреЗрдирд░ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдХреНрдпрд╛ рд╣рдо рдкреЙрдб рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХрдВрдЯреЗрдирд░ рдХреЛ "рдкреВрд░реНрдг" рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЬрдм рд╡рд╣ рдХрдВрдЯреЗрдирд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗ рддреЛ рд╣рдо рдХрд╣ рд╕рдХреЗрдВ рдХрд┐ рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ?

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

рдХреНрдпрд╛ рд╣рдо рдкреЙрдб рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХрдВрдЯреЗрдирд░ рдХреЛ "рдкреВрд░реНрдг" рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЬрдм рд╡рд╣ рдХрдВрдЯреЗрдирд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗ рддреЛ рд╣рдо рдХрд╣ рд╕рдХреЗрдВ рдХрд┐ рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ?

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрд┐рдВрджреБ 3 рдХреЛ рджреЗрдЦрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдк рдореВрд▓ рд░реВрдк рд╕реЗ .spec.completions рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬреИрд╕реЗ рд╣реА рдкрд╣рд▓рд╛ рдХрдВрдЯреЗрдирд░ 0 рдирд┐рдХрд╛рд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

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

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдпреЗ рдореБрдЭреЗ рдиреМрдХрд░реА рдХреЗ рдмрдЬрд╛рдп RS рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд▓рдЧрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдХрд╛ рдкреВрд░рд╛ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рдкрддрд╛ рд╣реИред

рдЖрдо рддреМрд░ рдкрд░, https://github.com/kubernetes/kubernetes/issues/17244 рдФрд░ https://github.com/kubernetes/kubernetes/issues/30243 рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░реНрдЪрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рднреА рдЫреВ рд░рд╣реА рд╣реИрдВред

@soltysh рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдКрдкрд░ рднреЗрдЬрд╛ рдЧрдпрд╛ рд▓рд┐рдВрдХ, рдмрд┐рдВрджреБ 3 рд╕рдВрджрд░реНрдн рдкреЙрдб рдкреВрд░реНрдгрддрд╛ рдФрд░ рдХрдВрдЯреЗрдирд░ рдкреВрд░реНрдгрддрд╛ рдирд╣реАрдВред

рджреЛ рдХрдВрдЯреЗрдирд░ рдПрдХ рдЦрд╛рд▓реА рдбреАрдЖрдИрдЖрд░, рдФрд░ рдкрд╣рд▓рд╛ рдХрдВрдЯреЗрдирд░ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ "рдореИрдВ рдЕрднреА рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд░рд╣рд╛ рд╣реВрдВ" рд╕рдВрджреЗрд╢ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рджреВрд╕рд░рд╛ рдЙрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рджреЗрдЦрдиреЗ рдкрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддрд╛ рд╣реИред

@erictune рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмрд╛рд▓реНрдЯреА рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдк рдореБрдЭреЗ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред

рдореИрдВ рдиреАрдЪреЗ рд╕рдм рдХреБрдЫ рдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ-рдЧреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

рддреЛ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рдо рд╣реИ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдХрдВрдЯреЗрдирд░ рдкреЙрдб рдореЗрдВ рдПрдХ рдЙрдкрдХрд░рдг рдЪрд▓рд╛рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдЙрдкрдХрд░рдг рдЪрд▓рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдлрд╝рд╛рдЗрд▓ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдкрд░рд┐рдгрд╛рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреИрдкреНрдЪрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЬреИрд╕реЗ рд╣реА рдЯреВрд▓ рдЪрд▓рдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдкреЙрдб рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдкрд░рд┐рдгрд╛рдо рдлрд╝рд╛рдЗрд▓ рдЦреЛ рджреЗрддрд╛ рд╣реВрдВред

рдореИрдВ рдЗрд╕ рдкрд░рд┐рдгрд╛рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдпрджрд┐ рдореИрдВрдиреЗ рд╡реЙрд▓реНрдпреВрдо рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ HostPath рдХрд┐рдпрд╛ рдФрд░ рдЪреВрдВрдХрд┐ рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдорд┐рдиреАрдХреНрдпреВрдм рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ, рдкрд░рд┐рдгрд╛рдо рдлрд╝рд╛рдЗрд▓ рдореЗрд░реЗ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдкрд░ рд╕рд╣реЗрдЬреА рдЬрд╛рддреА рд╣реИред

рд▓реЗрдХрд┐рди, рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдЙрддреНрдкрд╛рджрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ EmptyDir рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди, рдлрд┐рд░ рд╕реЗ, рдЕрдЧрд░ рдореИрдВ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдХреИрдкреНрдЪрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреЙрдб рдХреЗ рд╕рд╛рде рд╣реА рдбрд┐рд▓реАрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рддреЛ, рдХреНрдпрд╛ рдореБрдЭреЗ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореВрд▓ рд░реВрдк рд╕реЗ, рд╡рд╣реА рдХрд░реЗрдВ рдЬреЛ рдЖрдкрдиреЗ рдКрдкрд░ рд╕реБрдЭрд╛рдпрд╛ рдерд╛ред рдХрд╛рдо рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдкреЙрдб рдореЗрдВ 2 рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░реЗрдВред 1 рдХрдВрдЯреЗрдирд░ рдХрд╛рдо рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдЬреИрд╕реЗ рд╣реА рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рд╕рдВрджреЗрд╢ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдЬреЛ рджреВрд╕рд░реЗ рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдХрдбрд╝ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрд╣реАрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ?

рдореИрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдЕрд╕рдлрд▓ рд░рд╣рд╛ рдХрд┐ рд╣рдореЗрдВ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ 2 рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛрдЧреАред рдЬреЙрдм рдХрдВрдЯреЗрдирд░ рдпрд╣ рд╕рдм рдЕрдкрдиреЗ рдЖрдк рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛? рдпрд╛рдиреА рдХрд╛рдо рдЦрддреНрдо рдХрд░реЗрдВ, рд░рд┐рдЬрд▓реНрдЯ рдлрд╛рдЗрд▓ рдХреЛ рдХрд╣реАрдВ рд╕реЗрд╡ рдХрд░реЗрдВ, рдЙрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░реЗрдВ/рдкрдврд╝реЗрдВ рдФрд░ рдХрд╣реАрдВ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред

@anshumanbh рдореИрдВ рдЖрдкрдХреЛ рд╕реБрдЭрд╛рд╡

  1. рдПрдХ рд╕рддрдд рднрдВрдбрд╛рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЖрдк рдкрд░рд┐рдгрд╛рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ
  2. hostPath рдорд╛рдЙрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рд▓рдЧрднрдЧ 1 рдЬреИрд╕рд╛ рд╣реА рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдЖрдЬрд╝рдорд╛ рдЪреБрдХреЗ рд╣реИрдВ
  3. рдкрд░рд┐рдгрд╛рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрд┐рд╕реА рдЬреНрдЮрд╛рдд рджреВрд░рд╕реНрде рд╕реНрдерд╛рди (s3, google рдбреНрд░рд╛рдЗрд╡, рдбреНрд░реЙрдкрдмреЙрдХреНрд╕) рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ, рдЖрдорддреМрд░ рдкрд░ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд╛рдЭрд╛ рдбреНрд░рд╛рдЗрд╡

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

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

@soltysh рдЗрд╕рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдореИрдВ рдКрдкрд░ рджреА рдЧрдИ рд╕реВрдЪреА рд╕реЗ рд╡рд┐рдХрд▓реНрдк 3 рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореИрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ

рдореБрдЭреЗ рдЬрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЬреИрд╕реЗ рд╣реА рдХрд╛рдо рдЦрддреНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХрдВрдЯреЗрдирд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдлрд╛рдЗрд▓ рдЦреЛ рджреЗрддрд╛ рд╣реВрдВред рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ S3/Google рдбреНрд░рд╛рдЗрд╡/рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рдЬреИрд╕реА рд╕рд╛рдЭрд╛ рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдХреИрд╕реЗ рдЕрдкрд▓реЛрдб рдХрд░реВрдВ? рдореИрдВ рдиреМрдХрд░реА рдХреЗ рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдХрд╣реАрдВ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЗрд╕рд▓рд┐рдП рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореБрдЭреЗ рдкрд╣рд▓реЗ рдиреМрдХрд░реА рдЪрд▓рд╛рдиреА рд╣реЛрдЧреА рдФрд░ рдлрд┐рд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрд╣реАрдВ рд╕рд╣реЗрдЬрдирд╛ рд╣реЛрдЧрд╛ ..

рдпрджрд┐ рдЖрдк рдиреМрдХрд░реА рдХреЗ рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рдкреЗрдЯрдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдПрдХ рдЫрд╡рд┐ рд╣реИ рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЙрдкреА рдХреЛрдб рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@soltysh рд╣рд╛рдБ, рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдореИрдВ рд╡рд╣ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдЧрд▓рд╛ рдкреНрд░рд╢реНрди рд╣реИ - рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдореБрдЭреЗ рдХрдИ рдиреМрдХрд░рд┐рдпрд╛рдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ (рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЯреВрд▓реНрд╕ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ) рдФрд░ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рдЯреВрд▓ рдореЗрдВ рдЕрдкрд▓реЛрдбрд┐рдВрдЧ рдкрд╛рд░реНрдЯ рдирд╣реАрдВ рд╣реИред рддреЛ, рдЕрдм, рдореБрдЭреЗ рдЙрд╕ рд░реИрдкрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЯреВрд▓ рдХреЛ рдЕрдкрд▓реЛрдбрд┐рдВрдЧ рднрд╛рдЧ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХреНрдпрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рдмрд╛рд░ рд░реИрдкрд░/рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рд╕рднреА рдЯреВрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рдХреНрдпрд╛ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд╛рдЗрдб рдХрд╛рд░ рдкреИрдЯрд░реНрди рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛?

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

рдХреЛрдорд▓ рдкрд┐рдВрдЧ - рд╕рд╛рдЗрдбрдХрд╛рд░ рдЬрд╛рдЧрд░реВрдХрддрд╛ Envoy рдЬреИрд╕реЗ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдЦрдж рдмрдирд╛ рджреЗрдЧреАред рдХреНрдпрд╛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рд╣реИ?

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

рдкрд╣рд▓реЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рдерд╛ рдХрд┐ рдХреБрдЫ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ "рдкреВрд░реНрдг" рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореИрдВ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ - рдХреБрдЫ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ "рд╕рд╛рдЗрдбрдХрд╛рд░реНрд╕" рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдорд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЬрдм рдкреЙрдб рдореЗрдВ рдЕрдВрддрд┐рдо рдЧреИрд░-рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреЙрдб рдХреЛ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХреЛ TERM рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХрдИ рдереНрд░реЗрдбрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдкрд╛рдИ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА "рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдереНрд░реЗрдб" рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдХрд╛ Thread.daemon ред

рдЙрджрд╛рд╣рд░рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдЬрдм рдХрдВрдЯреЗрдирд░ main рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпреВрдмрд▓реЗрдЯ envoy рдХреЛ рдорд╛рд░ рджреЗрдЧрд╛:

containers:
  - name: main
    image: gcr.io/some/image:latest
    command: ["/my-batch-job/bin/main", "--config=/config/my-job-config.yaml"]
  - name: envoy
    image: lyft/envoy:latest
    sidecar: true
    command: ["/usr/local/bin/envoy", "--config-path=/my-batch-job/etc/envoy.json"]

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

containers:
  - name: main
    image: gcr.io/some/image:latest
    command: ["/bin/bash", "-c"]
    args:
      - |
        trap "touch /tmp/pod/main-terminated" EXIT
        /my-batch-job/bin/main --config=/config/my-job-config.yaml
    volumeMounts:
      - mountPath: /tmp/pod
        name: tmp-pod
  - name: envoy
    image: gcr.io/our-envoy-plus-bash-image:latest
    command: ["/bin/bash", "-c"]
    args:
      - |
        /usr/local/bin/envoy --config-path=/my-batch-job/etc/envoy.json &
        CHILD_PID=$!
        (while true; do if [[ -f "/tmp/pod/main-terminated" ]]; then kill $CHILD_PID; fi; sleep 1; done) &
        wait $CHILD_PID
        if [[ -f "/tmp/pod/main-terminated" ]]; then exit 0; fi
    volumeMounts:
      - mountPath: /tmp/pod
        name: tmp-pod
        readOnly: true
volumes:
  - name: tmp-pod
    emptyDir: {}

рдореИрдВ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ - рдХреБрдЫ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ "рд╕рд╛рдЗрдбрдХрд╛рд░реНрд╕" рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдорд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЬрдм рдкреЙрдб рдореЗрдВ рдЕрдВрддрд┐рдо рдЧреИрд░-рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреЙрдб рдХреЛ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХреЛ TERM рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред

@ jmillikin-stripe рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдкреЙрдб рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдпрд╛ рдЙрдирдХреЗ рдмреАрдЪ рдирд┐рд░реНрднрд░рддрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЕрдВрддрд┐рдо рдХреЙрд▓ рдХреЗ рд▓рд┐рдП @erictune рдХреЛ рдЯрд╛рд▓

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреНрдпрд╛ рдЖрдкрдиреЗ #17244 рдХреА рдЬрд╛рдБрдЪ рдХреА рд╣реИ, рдХреНрдпрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдЧрд╛? рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ @erictune рдиреЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛:

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдХреБрдЫ рдирд┐рдХрд╛рд╕ рдХреЛрдбреЛрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖ рдЕрд░реНрде рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реИред

@ jmillikin-stripe рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдкреЙрдб рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдпрд╛ рдЙрдирдХреЗ рдмреАрдЪ рдирд┐рд░реНрднрд░рддрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЕрдВрддрд┐рдо рдХреЙрд▓ рдХреЗ рд▓рд┐рдП @erictune рдХреЛ рдЯрд╛рд▓

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

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреНрдпрд╛ рдЖрдкрдиреЗ #17244 рдХреА рдЬрд╛рдБрдЪ рдХреА рд╣реИ, рдХреНрдпрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдЧрд╛? рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ @erictune рдиреЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛:

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдХреБрдЫ рдирд┐рдХрд╛рд╕ рдХреЛрдбреЛрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖ рдЕрд░реНрде рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реИред

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

рд╢рд╛рдпрдж рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдВрдЧреЗ?

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

  • рдкреЛрд╕реНрдЯрд╕реНрдЯреЙрдк: рдкреЙрдб рдореЗрдВ рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдкрд░ рдЬреАрд╡рдирдЪрдХреНрд░ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рдзрди рдХреЗ рд╕рд╛рде (рдпрд╛рдиреА рдЯреНрд░рд┐рдЧрд░ рд╕реНрдЯреЙрдк)
  • рдкреАрдпрд░рд╕реНрдЯреЙрдкреНрдб: рд╕рдВрдХреЗрдд рд╣реИ рдХрд┐ рдкреЙрдб рдореЗрдВ рдПрдХ "рдкреАрдпрд░" рдХрдВрдЯреЗрдирд░ рдорд░ рдЧрдпрд╛ рд╣реИ - рд╕рдВрднрд╡рддрдГ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдХрд╛рд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде

рдпрд╣ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрди рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рдХрдВрдЯреЗрдирд░ рднреА рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЬрдм рдХрдВрдЯреЗрдирд░ рдЦрддреНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░реЗрдВ рдмреА)

рдпрд╣ рднреА рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИред рд╣рдо рд╣рд░ 30 рдорд┐рдирдЯ рдореЗрдВ рдПрдХ рдиреМрдХрд░реА рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреЗ рд▓рд┐рдП рд╡реАрдкреАрдПрди рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕реЗ рдмрд╣реБрдд рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рди рдЬрд┐рд╕реЗ рдХреБрдмреЗрдХреНрдЯрд▓ рдкреНрд░реЙрдХреНрд╕реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ)ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореИрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ jobSpec.concurrencyPolicy: Replace рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм a.) рдЖрдк рд╕рдорд╛рдирд╛рдВрддрд░ рдЬреЙрдм рд░рди рдХреЗ рдмрд┐рдирд╛ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ b.) рдЬреЙрдм рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рдЕрдВрддрд░рд╛рд▓ рд╕реЗ рдХрдо рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╕рдорд╛рдкреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреМрдХрд░реА рдХреА рдХрд▓реНрдкрдирд╛ рдореЗрдВ рдХреБрдЫ рд╕рдВрдкрддреНрддрд┐ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ рдФрд░ рдиреМрдХрд░реА рдХреА рдирд┐рдЧрд░рд╛рдиреА рд╣реЛрдЧреА рдХрд┐ рдПрдХ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдФрд░ рд╢реЗрд╖ рдХреЛ рдорд╛рд░ рджреЗрдВред

рдореБрдЭреЗ рднреА рдЗрд╕рдХреА рдЬрд░реВрд░рдд рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдПрдХ рдРрд╕рд╛ рдХрд╛рдо рд╣реИ рдЬреЛ рдПрдХ рд╕рд╛рдЗрдбрдХрд╛рд░ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓рд╛рдЙрдбрд╕реНрдХреНрд▓-рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдПрдиреЛрдЯреЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдкреЙрдб рдореЗрдВ 'рдкреНрд░рд╛рдердорд┐рдХ' рдХрдВрдЯреЗрдирд░ рдХреЗ рдирд╛рдо рдкрд░ рдореИрдк рдХрд░рддрд╛ рд╣реИ? рдЗрд╕ рддрд░рд╣ рдкреЙрдб рд╕реНрдкреЗрдХ рдХреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдкреЙрдбреНрд╕ рдХреЛ рдХреИрд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреА рдкреНрд░рдХреГрддрд┐ рд╕реЗ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред @soltysh @erictune рдЗрд╕ рдкрд░ рдЬрд▓реНрдж рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ? рдЬрд╣рд╛рдВ рд╕рдВрднрд╡ рд╣реЛ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реБрдИ :)

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рднреА рдЬрд░реВрд░рдд рд╣реИред рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП :
рдкреЙрдб рдП рдХреЛ рдХрдВрдЯреЗрдирд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ

  • рдХрдВрдЯреЗрдирд░ A1 : рдПрдХ рд░рди-рдЯреВ-рдХрдВрдкреНрд▓реАрдЯ рдХрдВрдЯреЗрдирд░ рдЬреЛ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд▓реЙрдЧ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ
  • рдХрдВрдЯреЗрдирд░ A2 : рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░, рдЬреЛ рдлрд╝рд╛рдЗрд▓ рд╕реЗ stdout рдореЗрдВ рд▓реЙрдЧ рдХреЛ рдХреЗрд╡рд▓ рдЯреЗрд▓ рдХрд░рддрд╛ рд╣реИ

рдореБрдЭреЗ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП : рдЬрдм рдХрдВрдЯреЗрдирд░ A1 рд╕рдлрд▓рддрд╛ рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдкреЙрдб A рд╕рдлрд▓рддрд╛ рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИред рдХреНрдпрд╛ рд╣рдо рдХрдВрдЯреЗрдирд░ A1 рдХреЛ рдореБрдЦреНрдп рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдмрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рдореБрдЦреНрдп рдХрдВрдЯреЗрдирд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ, рдкреЙрдб рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ? @erictune (рдпрд╣ рд╡рд┐рдЪрд╛рд░ @mingfang рджреНрд╡рд╛рд░рд╛ рднреА рд╡рд░реНрдгрд┐рдд рд╣реИ)

рд╣реЗ рджреЛрд╕реНрддреЛрдВ, рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдПрдХ рдорд╣реАрдиреЗ рд╕реЗ рдЦреБрд▓рд╛ рд╣реИред рдЗрд╕ рдкрд░ рдирд╡реАрдирддрдо рдХреНрдпрд╛ рд╣реИ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдо рдиреМрдХрд░реА рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдиреМрдХрд░реА рдХреБрдЫ рд╕рд╛рдЗрдб-рдХрд╛рд░ containers рд╕рд╛рде main рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рддреА рд╣реИред рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ main рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдкрд░ рдЬреЙрдм рдирд┐рдХрд▓ рдЬрд╛рдПред рдХреНрдпрд╛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмреАрдЪ signal рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП file рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд▓рд╛ рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИ?

рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдХреБрдЫ рдХрд╛рдо рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА, рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдЖрдЧрд╛рдореА рдкреАрдЖрд░ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдореИрдВ рдХрд░рддрд╛ рд╣реВрдВ (рд╢рд╛рдпрдж рдХреНрдпреВрдмрдХреЙрди рдХреЗ рдмрд╛рдж)ред

cc @erictune @a-robinson @soltysh

@andrewsykim рдЖрдк рдХреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдкрдирд╛рдПрдВрдЧреЗред рд╕рд╛рде рд╣реА, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдВ, рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рд▓рдЧреЗрдЧрд╛ред рдЬреИрд╕реЗ main рдХрдВрдЯреЗрдирд░ рддрдм рддрдХ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ рд╕рд╛рдЗрдбрдХрд╛рд░реНрд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреЗ

рдореБрдЦреНрдп рдХрдВрдЯреЗрдирд░ рдХреА рддрд░рд╣ рддрдм рддрдХ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ рд╕рд╛рдЗрдбрдХрд╛рд░ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреЗ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ main рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдм рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╛ рдПрдХ рддрддреНрдкрд░рддрд╛ рдЬрд╛рдВрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ)ред рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ main рдирд┐рдХрд▓ рдЧрдпрд╛ рд╣реЛрдЧрд╛ :)

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

@ajbouh рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдПрдХ рд╕рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рд░рд╛рд╣рдирд╛

@nrmitchi рдпрд╣рд╛рдБ рдореИрдВрдиреЗ рдЬреЛ рдпрдорд▓ рд▓рд┐рдЦрд╛ рд╣реИ рдЙрд╕рдХрд╛ рд╕рд╛рд░ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╣реА рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдРрд╕рд╛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред

https://gist.github.com/ajbouh/79b3eb4833aa7b068de640c19060d126

рдореЗрд░реЗ рдкрд╛рд╕ @mrbobbytables рдХреЗ рд╕рдорд╛рди рдХреНрд▓рд╛рдЙрдб SQL рдкреНрд░реЙрдХреНрд╕реА рдЙрдкрдпреЛрдЧ рдХреЗрд╕ рд╣реИред рдХреНрд▓рд╛рдЙрдб SQL рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рд╡рд╣ рдкреНрд░реЙрдХреНрд╕реА рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкрд╛рдЧрд▓ рд╣реИрдХ рдпрд╛ рдирд┐рдЧрд░рд╛рдиреА рдирд┐рдореНрди рдХреА рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИред рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рд╣реИ?

image

@ amaxwell01 рдЗрд╕рдореЗрдВ рдХреНрд▓рд╛рдЙрдб рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░реЙрдХреНрд╕реА рдХреА рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореИрдВрдиреЗ Google рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рд╛ рдерд╛ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рддрд╛рд░рд╛рдВрдХрд┐рдд рдпрд╛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: https://issuetracker.google.com/issues/70746902 (рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдФрд░ рдореБрдЭреЗ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рд╡рд╛рдХреНрдпрд╛рдВрд╢реЛрдВ рдкрд░ рдЦреЗрдж рд╣реИ рдЗрд╕ рд╕рдордп рдХреА рдЧрд░реНрдореА рдореЗрдВ; рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдЗрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛)

рдзрдиреНрдпрд╡рд╛рдж @abevoelker рдореИрдВ рд╡рд╣рд╛рдВ рдЖрдкрдХреА рдкреЛрд╕реНрдЯ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╕рд╛рде рд╣реА рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдиреЗ рдореБрдЭреЗ рд╣рдВрд╕рд╛рдпрд╛

рд╣рдо рднреА рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░реА рд╕реВрдХреНрд╖реНрдо рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдХрдИ django рдкреНрд░рдмрдВрдзрди рдЖрджреЗрд╢ рд╣реИрдВ рдЬреЛ k8s cronjobs рдкрд░ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдХреНрд▓рд╛рдЙрдбрд╕реНрдХреНрд▓рдкреНрд░реЙрдХреНрд╕реА рд╕рд╛рдЗрдбрдХрд╛рд░ рдХреА рд╡рдЬрд╣ рд╕реЗ рд╕рдлрд▓ рд╣реЛрдиреЗ рдореЗрдВ рдЕрд╕рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдиреМрдХрд░реА рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдирд╣реАрдВ рд░реБрдХрддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдХрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?
рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ рдкреИрдЯрд░реНрди рдХрд╛ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдо рдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ k8s cronjobs рдФрд░ рдЬреЙрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рддрдХ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред

рдмрд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ +1 рдореЗрдВ рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдЬреАрд╕реАрдИ рдХреНрд▓рд╛рдЙрдб рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░реЙрдХреНрд╕реА рдореБрджреНрджрд╛ рд╣реИ рдЬреЛ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИред рдпрд╣ рдореБрдЭреЗ рдорд╛рд░ рд░рд╣рд╛ рд╣реИ ... рд╣реЗрд▓реНрдо рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдореЗрд░рд╛ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрдХрд▓реНрдк рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ ... рдЬрд┐рд╕реНрдЯ @ajbouh рд╕реЗ рд╣реИрдХреА рд╣реИред

рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП cloudsql-proxy , рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ cloudsql-proxy рдХреЛ рдбреЗрдордирд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реЛрдЧрд╛? рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рд▓рдЧрд╛рддрд╛рд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдФрд░ рдХреНрд░реЛрдирдЬреЙрдм рджреЛрдиреЛрдВ рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреЙрдб рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рддрд┐ рдиреЛрдб рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ред

рд╣рд╛рдВ,

рд╣рдордиреЗ рдХреНрд▓рд╛рдЙрдбрдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░реЙрдХреНрд╕реА рд╕рд╛рдЗрдбрдХрд╛рд░реНрд╕ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдПрдХ рдкреВрд▓ рдмрдирд╛рдпрд╛ рд╣реИ
рдХреНрд▓рд╛рдЙрдбрд╕реНрдХреНрд▓ рдкреНрд░реЙрдХреНрд╕реА рдЙрдирдХреЗ рдХреЗрдВрджреНрд░реАрдп рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рд╣реИ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдФрд░ рдЖрд╕рд╛рди рддреИрдирд╛рддреА рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред
рдЕрдм рд╣рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЬреЙрдм рдФрд░ рдХреНрд░реЛрдирдЬреЙрдм рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдмреБрдзрд╡рд╛рд░, 7 рдлрд░рд╡рд░реА, 2018 рдХреЛ рд╕реБрдмрд╣ 9:37 рдмрдЬреЗ, рд░реЛрдм рдЬреИрдХреНрд╕рди рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕реЗ рдХреНрд▓рд╛рдЙрдбрд╕реНрдХреНрд▓-рдкреНрд░реЙрдХреНрд╕реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдЧрд╛
рдХреНрд▓рд╛рдЙрдбрд╕реНрдХреНрд▓-рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдбреЗрдордирд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВ? рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рд▓рдЧрд╛рддрд╛рд░ рджреЛрдиреЛрдВ рдереЗ
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдФрд░ рдХреНрд░реЛрдирдЬреЙрдм рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ
рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреЙрдбреНрд╕ рд╕реЗ рд▓реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рддрд┐ рдиреЛрдб рдПрдХ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/kubernetes/kubernetes/issues/25908#issuecomment-363710890 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ACAWMwetx6gA_SrHL_RRbTMJVOhW1FKLks5tSW7JgaJpZM4IiqQH
.

рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдПрдХ рдбреАрдореЛрдВрд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд▓рдЧрддрд╛ рд╣реИред @RJacksonm1 рдФрд░ @devlounge - рдбреЗрдореЛрдВрд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХреНрд▓рд╛рдЙрдб sql рдкреНрд░реЙрдХреНрд╕реА рдХреА рдЦреЛрдЬ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ?

рдпрд╣ рдорд┐рд▓рд╛ рдЬреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЪрд╛рд▓ рдЪрд▓реЗрдЧрд╛ ...
https://buoyant.io/2016/10/14/a-service-mesh-for-kubernetes-part-ii-pods-are-great-until-theyre-not/

рдореВрд▓ рд░реВрдк рд╕реЗ рд╣реЛрд╕реНрдЯ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ:

env:
- name: NODE_NAME
  valueFrom:
    fieldRef:
      fieldPath: spec.nodeName

@ RJacksonm1 - рдХреНрдпрд╛ hostPort рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдиреЗ рдХреБрдЫ рдЦрд╛рд╕ рдХрд┐рдпрд╛ рдерд╛? fieldPath: spec.nodeName рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рд▓рдЧрд╛рддрд╛рд░ connection refused рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореИрдВрдиреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ spec.nodeName рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореИрдВ GKE v1.9.2-gke.1 рдкрд░ рд╣реВрдВ

@cvallance рдореЗрд░реЗ рдкрд╛рд╕ cloudsql-proxy рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реЗ рдмрд╛рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ рдХрд┐ cloudsql-proxy рдкреВрд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрд▓ рдХрд░реЗрдЧрд╛ (рдореВрд▓ рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдерд╛ рдПрдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдФрд░ рдПрдХ рдХреНрд╖реИрддрд┐рдЬ рдкреЙрдбрдСрдЯреЛрд╕реНрдХреЗрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА, рд▓реЗрдХрд┐рди рдкрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ - рдЬрд┐рд╕рд╕реЗ рдРрдк рдореЗрдВ MySQL has gone away рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд░рд╣реА рд╣реИрдВ)ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдбреЗрдордирд╕реЗрдЯ рдХреА рд╕рдЪреНрдЪреА рднрд╛рд╡рдирд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реИ...

@RJacksonm1 - рдЗрд╕реЗ hostPort рдФрд░ spec.nodeName рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ ... рдЕрдм рд╡реЗ рд╕реАрдзреЗ рдЕрдкрдиреЗ рдиреЛрдб рдкрд░ рдбреЗрдордирд╕реЗрдЯ рд╕реЗ рдЬреБрдбрд╝реЗрдВрдЧреЗ

CloudSql рдкреНрд░реЙрдХреНрд╕реА рдХрдорд╛рдВрдб рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ:
-instances={{ .Values.sqlConnectionName }}=tcp:{{ .Values.internalPort }}
рдХрд╛рдо рдХрд░ рд░рд╣реЗ:
-instances={{ .Values.sqlConnectionName }}=tcp:0.0.0.0:{{ .Values.internalPort }}

тАНтЩВя╕П

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреБрдЫ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдпрд╣ рд▓рдЧрднрдЧ 2 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЦреБрд▓рд╛ рд╣реИ рдФрд░ рдЕрднреА рднреА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рднрд▓реЗ рд╣реА рдореИрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВрд╕реЗрд╡рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдирд╣реАрдВ рдХрд░ рдкрд╛рдКрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЖрдВрддрд░рд┐рдХ рд▓реЛрдЧреЛрдВ рд╕реЗ рдХреБрдЫ рдЕрдиреБрдореЛрджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИ, рдПрдкреАрдЖрдИ рдкрд░рд┐рд╡рд░реНрддрди, рдЖрджрд┐ред

рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рдореИрдВ рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ @ jmillikin-stripe рдХреЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдХреНрд▓рд╛рдЙрдб-рдПрд╕рдХреНрдпреВрдПрд▓-рдкреНрд░реЙрдХреНрд╕реА рд╕рд╛рдЗрдбрдХрд╛рд░ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдпрд╛, рдЬрд╣рд╛рдВ рдПрдХ рд╕рд╛рдЭрд╛ рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд░рд╛рдЬреНрдп рдХреЛ рд╕рд╛рдЗрдбрдХрд╛рд░ рд╕реЗ рд╕рдВрдЪрд╛рд░ рдХрд░рддреА рд╣реИред

рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ K8s рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЕрдм рддрдХ рдХрд╛ рд╕рдмрд╕реЗ рдЧрдВрджрд╛ рд╣реИрдХ рд╣реИ :(

apiVersion: batch/v1
kind: Job
metadata:
  name: example-job
spec:
  template:
    spec:
      containers:
      - name: example-job
        image: eu.gcr.io/example/example-job:latest
        command: ["/bin/sh", "-c"]
        args:
          - |
            trap "touch /tmp/pod/main-terminated" EXIT
            run-job.sh
        volumeMounts:
          - mountPath: /tmp/pod
            name: tmp-pod
      - name: cloudsql-proxy
        image: gcr.io/cloudsql-docker/gce-proxy:1.11
        command: ["/bin/sh", "-c"]
        args:
          - |
            /cloud_sql_proxy --dir=/cloudsql -instances=example:europe-west3:example=tcp:3306 -credential_file=/secrets/cloudsql/credentials.json &
            CHILD_PID=$!
            (while true; do if [[ -f "/tmp/pod/main-terminated" ]]; then kill $CHILD_PID; echo "Killed $CHILD_PID as the main container terminated."; fi; sleep 1; done) &
            wait $CHILD_PID
            if [[ -f "/tmp/pod/main-terminated" ]]; then exit 0; echo "Job completed. Exiting..."; fi
        volumeMounts:
          - name: cloudsql-instance-credentials
            mountPath: /secrets/cloudsql
            readOnly: true
          - name: cloudsql
            mountPath: /cloudsql
          - mountPath: /tmp/pod
            name: tmp-pod
            readOnly: true
      restartPolicy: Never
      volumes:
        - name: cloudsql-instance-credentials
          secret:
            secretName: cloudsql-instance-credentials
        - name: cloudsql
          emptyDir:
        - name: tmp-pod
          emptyDir: {}
  backoffLimit: 1

рдХреНрдпрд╛ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреЛрдИ рдЖрдВрддрд░рд┐рдХ рд╡реНрдпрдХреНрддрд┐ рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдкреНрд░рдЧрддрд┐ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдпрд╣рд╛рдБ рдПрдХ рд╣реА рдореБрджреНрджрд╛

cc @kubernetes/sig-apps-feature-requests @kubernetes/sig-node-feature-requests

рдХреНрдпрд╛ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдиреМрдХрд░реА рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ (рдирд╛рдо рд╕реЗ) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╡реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЬреЙрдм рдкреЙрдб рдХреЛ рд╣реЛ рдЧрдпрд╛ (рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд░реЛрдХ рджрд┐рдпрд╛ рдЧрдпрд╛) рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЬреИрд╕реЗ:

apiVersion: batch/v2beta1
kind: Job
metadata:
  name: my-job
  namespace: app
spec:
  template:
    spec:
      containers:
        - name: my-container
          image: my-job-image
          ...
        - name: cloudsql-proxy
          image: gcr.io/cloudsql-docker/gce-proxy:1.11
          ...
  backoffLimit: 2
  jobCompletedWith:
    - my-container

рдпрд╛рдиреА рдкреЙрдб рдЪрд▓реЗрдЧрд╛, рддрдм рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдЬрдм рддрдХ my-container рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрд╛рд╣рд░ рди рдирд┐рдХрд▓ рдЬрд╛рдП, рдФрд░ рдлрд┐рд░ рдмрд╕ cloudsql-proxy рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдВред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛, рдЕрдм рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ @erictune рдпрд╛ рдХреЛрдИ рдФрд░ рд╢рд╛рдпрдж рдЗрд╕ рдмрд╛рдд рдкрд░ рдлрд┐рд░ рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛?

рд╣рд╛рдБ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХрджрдо рд╕рд╣реА рд╣реЛрдЧрд╛ред рдмрд╕ рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рдЖрдкрдХреЛ рдХрд╛рд░реНрдп рдХреА рд╕реНрдерд┐рддрд┐ рджреЗрдЦрдиреЗ рдФрд░ рдЙрд╕рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ

рд╣рд╛рдБ, рдпрд╣ рдПрдХрджрдо рд╕рд╣реА рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ @jpalomaki

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

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

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

рдореИрдВ рдПрдХ рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрд╛рджрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реВрдВ рдпрджрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрдВрдЯреЗрдирд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЧрдпрд╛ред

рдореИрдВ рдирд╣реАрдВ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рд╕рд╛рдЗрдб рдХрд╛рд░ рдХрдВрдЯреЗрдирд░ k8s рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдВрдЯреЗрдирд░ рд╕реНрдерд┐рддрд┐ рджреЗрдЦрдиреЗ рдХреЛ рдкрддрд╛ рд╣реИ рдЕрдЧрд░ рдФрд░ рдЬрдм рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдпрд╛ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдмрдирд╛рдпрд╛ @mingfang рджреНрд╡рд╛рд░рд╛ рддрд░реНрдХ рд╕рдордЭ рдореЗрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдЬрдм рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ рдкреЙрдб рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ рдФрд░ рдЬреЙрдм рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдкреНрд░рдердо рд╢реНрд░реЗрдгреА k8s рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдбрдХрд╛рд░ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛? рдХреНрдпреВрдмрд▓реЗрдЯ рдкреЙрдб рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ рдпрджрд┐ рдЗрд╕рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдореИрдВрдиреЗ рдХреНрд▓рд╛рдЙрдб рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдирд┐рдпрдорд┐рдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди ( replicas: 1 ) рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдирд╛рдд рдХрд░рдХреЗ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдЕрдкрдиреЗ Job рдФрд░ CronJob рдХреЛ type: ClusterIP рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд╕реЗрд╡рд╛ред рдиреМрдХрд░рд┐рдпрд╛рдВ рдЕрдм рдареАрдХ рд╣реИрдВред

рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рдкрд╕рдВрдж рдЖрдПрдЧреАред

рдЕрдЧрд░ рд╣рдореЗрдВ рдПрдкреАрдЖрдИ рд╕реЗ рдХреБрдЫ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдо рд╕реЗ рдХрдо рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд▓реЛрдЧ рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХрд┐рд╕реЗ рдкрд┐рдВрдЧ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдЗрд╕ рдкрд░ рдХреИрд╕реЗ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдП...

рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдиреМрдХрд░реА рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрднреА рджреВрд░ рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд╕рдордЧреНрд░ рдкреЙрдб рд╕реНрдерд┐рддрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЧрд▓рдд рд╣реИ:

Init Containers:
  initializer:
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Wed, 21 Mar 2018 17:52:57 -0500
      Finished:     Wed, 21 Mar 2018 17:52:57 -0500
    Ready:          True
Containers:
  sideCar:
    State:          Running
      Started:      Wed, 21 Mar 2018 17:53:40 -0500
    Ready:          True
  mainContainer:
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Wed, 21 Mar 2018 17:53:41 -0500
      Finished:     Wed, 21 Mar 2018 17:55:12 -0500
    Ready:          False
Conditions:
  Type           Status
  Initialized    True 
  Ready          False 
  PodScheduled   True 

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

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

@yuriatgoogle рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рдЕрднреА рднреА рдмреИрд╢ рдФрд░ рдЦрд╛рд▓реА рд╣реИDir "рдЬрд╛рджреВ" рдЬреИрд╕реЗ: https://github.com/kubernetes/kubernetes/issues/25908#issuecomment -365924958

рдпрд╣ рдПрдХ рд╣реИрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред @рдлрд┐рджрд╛рд╣ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдкрд░рд╛рдз рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕реЗ рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдХреБрдЫ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рд╛рдЗрдбрдХрд╛рд░ рдФрд░ рдиреМрдХрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХреЛ рдкреЙрдб рдореЗрдВ рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░ рдХреА рд╕реНрдерд┐рддрд┐ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреВрдм рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рдЕрдЧрд░ рдЗрд╕реЗ completed рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреЛ рд╕рд╛рдЗрдбрдХрд╛рд░ 0 рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛, рдЕрдЧрд░ рдЗрд╕рдиреЗ рдЧрд▓рддреА рдХреА рдХрд┐ рд╕рд╛рдЗрдбрдХрд╛рд░ 1 рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛ред рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рд╕реБрдВрджрд░ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдмрд╣реБрдд рдХреБрдЫ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЪрд╛рд▓ рдЪрд▓реАред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рддреЛ рдХреЛрдб рдпрд╣рд╛рдВ рд╣реИ: https://github.com/uswitch/vault-creds/blob/master/cmd/main.go#L132ред

рдпрд╣ рдореБрдЭреЗ рдПрдХ рдЧреЛрд░рд┐рд▓реНрд▓рд╛рдЬрд╝ рдЧреАрдд M1 A1 рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ...

рдирдорд╕реНрддреЗ? рдирдорд╕реНрддреЗ? рдХреНрдпрд╛ рд╡рд╣рд╛рдВ рдХреЛрдИ рд╣реИ?

рд╣рд╛рдБ, рдХреГрдкрдпрд╛ рдХреБрдЫ рдХрд░реНрд╖рдг рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ +1

рддреЛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЕрдкрд╕реНрдЯреНрд░реАрдо рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╡реЗ рд╣реИрдВ:

  1. sidecar: true рджреНрд╡рд╛рд░рд╛ @jmillikin-stripe
  2. @msperl . рджреНрд╡рд╛рд░рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ
  3. jobCompletedWith @jpalomaki . рджреНрд╡рд╛рд░рд╛

рд╕рд╛рдЗрдбрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди, рдПрдХ рд╣реИрдХреА (рд▓реЗрдХрд┐рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ):

  1. cloudsql-proxy рд╕рд╛рдЗрдбрдХрд╛рд░ рдХреЗ рд▓рд┐рдП @phidah . рджреНрд╡рд╛рд░рд╛

рдореБрдЭреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЕрдиреБрд░рдХреНрд╖рдХ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдФрд░ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдореМрдЬреВрджрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд┐рдлрд╛рд░рд┐рд╢ рджреЗрдВред рдзрдиреНрдпрд╡рд╛рдж!

рдПрдХ рд▓реЙрдЧ рдПрдЬреЗрдВрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдПрдХ рджрд┐рди рдмрд┐рддрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдмрд╕ рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рдЦреЛрдЬ рдХреА, рдЬреЛ рдореЗрд░реЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд╛рд░реНрдп рдХреЗ stdout/stderr рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░реЗрдЧрд╛, рдХреЗрд╡рд▓ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреЙрдб рдореЗрдВ рдПрдЬреЗрдВрдЯ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдиреМрдХрд░реА рдХрднреА рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧреАред

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

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

рдкрд╣рд▓реЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рдерд╛ рдХрд┐ рдХреБрдЫ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ "рдкреВрд░реНрдг" рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореИрдВ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ - рдХреБрдЫ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ "рд╕рд╛рдЗрдбрдХрд╛рд░реНрд╕" рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдорд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЬрдм рдкреЙрдб рдореЗрдВ рдЕрдВрддрд┐рдо рдЧреИрд░-рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреЙрдб рдХреЛ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХреЛ TERM рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдореЗрд░рд╛ рдЖрджрд░реНрд╢ рд╕рдорд╛рдзрд╛рди рднреА рд╣реИред рдореИрдВ SIGTERM рдХреЗ рдмрдЬрд╛рдп SIGHUP рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ - рдпрд╣ рд╕рдЯреАрдХ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП SIGHUP рдХреЗ рд╢рдмреНрджрд╛рд░реНрде рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ! - рд▓реЗрдХрд┐рди рдореИрдВ рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЗ рд╕рд╛рде рдЦреБрд╢ рд░рд╣реВрдВрдЧрд╛ред

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

рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рдмрдирд╛рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реВрдВ рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдХреЛрдб рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ @ Kubernetes/sig-apps-feature-requests рд╕реЗ рдХреБрдЫ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреНрдпрд╛ рд╣рдо рдЗрд╕ рдХрд╛рдо рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрдб рд╕реНрдкреЗрдХ рдореЗрдВ sidecar рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реИрдВ? рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдкреЙрдб рд╕реНрдкреЗрдХ рдореЗрдВ рдХреЛрдИ рднреА рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдЕрднреА рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ?

@andrewsykim рдореИрдВ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдмрд╕ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ред

рдореЗрд░рд╛ рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐:

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

рд╡рд┐рдЪрд╛рд░?

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

рдореИрдВрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдЪрд░реНрдЪрд╛ https://github.com/kubernetes/community/pull/2148 рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ

рдЗрд╕реЗ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @ рдЬреЛрд╕реЗрдл-рдЗрд░рд╡рд┐рдВрдЧ! рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рддрдм рддрдХ рдХреЛрдИ рднреА рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд░реЛрдХ рд▓рдЧрд╛рдКрдВрдЧрд╛ :)

рд▓рдЧрд╛рддрд╛рд░-рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ-рд╕рдорд╕реНрдпрд╛ :(

cc @ kow3ns @janetkuo

рдорд╛рдорд▓реЗ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирд╛рдиреЗ рдХреЗ рдЕрд░реНрде рдХреЗ рдмрд┐рдирд╛, initContainers рд╕рд╛рде "рд╕рд╛рдЗрдбрдХрд╛рд░" рд╕реНрдЯрд╛рдЗрд▓ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред

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

@mcfedr рдПрдХ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдХреНрд░рд┐рдп рд╡реГрджреНрдзрд┐ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдЬреЛ init рдХрдВрдЯреЗрдирд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЙрд╕ рдЕрд╡рд▓реЛрдХрди рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рд╣реИ, рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╕реБрдзрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдХрд┐ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдард╛рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

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

рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ, рдореИрдВ рдЕрднреА рднреА CloudSQL Proxy et.al рдЬреИрд╕реЗ рдЪрд▓ рд░рд╣реЗ рд╕рд╛рдЗрдбрдХрд╛рд░реНрд╕ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рдореИрдВ 30 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рдХреНрд▓рд╛рдЙрдбрд╕реНрдХреНрд▓ рдХрдВрдЯреЗрдирд░ рдХреЛ рдорд╛рд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЗрддрдирд╛ рд╕рдордп рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛ред рдпрд╣рд╛рдБ рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: schedule
spec:
  concurrencyPolicy: Forbid
  schedule: "*/10 * * * *"
  startingDeadlineSeconds: 40
  jobTemplate:
    spec:
      completions: 1
      template:
        spec:
          containers:
          - image: someimage
            name: imagename
            args:
            - php
            - /var/www/html/artisan
            - schedule:run
          - command: ["sh", "-c"]
            args:
            - /cloud_sql_proxy -instances=cloudsql_instance=tcp:3306 -credential_file=some_secret_file.json & pid=$! && (sleep 30 && kill -9 $pid 2>/dev/null)
            image: gcr.io/cloudsql-docker/gce-proxy:1.11
            imagePullPolicy: IfNotPresent
            name: cloudsql
            resources: {}
            volumeMounts:
            - mountPath: /secrets/cloudsql
              name: secretname
              readOnly: true
          restartPolicy: OnFailure
          volumes:
          - name: secretname
            secret:
              defaultMode: 420
              secretName: secretname

рдФрд░ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдХреЛрдИ рдХрдореА рдирдЬрд░ рдЖрддреА рд╣реИ?

рдЪреВрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ рдФрд░ рдХреНрд░реЛрдирдЬреЙрдмреНрд╕ рдХреЗ рд▓рд┐рдП рднреА рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдиреБрдХреВрд▓рдиреАрдп рд╣реИрдВ, рдпрд╣ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ: https://github.com/GoogleCloudPlatform/cloudsql-proxy/issues/128#issuecomment -413444029

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

рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рджред рд╕рд╛рде рд╣реА cronjob рдореЗрдВ рд╕рд╛рдЗрдб рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ cloud_sql_proxy рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдореИрдВрдиреЗ @stiko . рджреНрд╡рд╛рд░рд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛

рдмрд╕ рдмрд╛рддрдЪреАрдд рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП @oxygen0211 рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдЕрднреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЕрдЧрд░ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рдЬрд╛рдВрдЪрдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдЬреИрд╕реЗ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рдерд╛ред

https://github.com/kubernetes/kubernetes/issues/25908#issuecomment -327396198

рд╣рдореЗрдВ рдпрд╣ рдХреЗрдИрдкреА рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╕реНрд╡реАрдХреГрдд https://github.com/kubernetes/community/pull/2148 рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬрд┐рди рдкрд░ рд╣рдореЗрдВ рд╕рд╣рдордд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдРрд╕реА рдЬрдЧрд╣ рдкрд░ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ рдЬрд╣рд╛рдВ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЬрд▓реНрдж рд╣реА рдХрд╛рдо рд╢реБрд░реВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ . рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЗрдИрдкреА 30 рддрд╛рд░реАрдЦ рдХреЛ https://github.com/kubernetes/enhancements рдкрд░ рдЪрд▓реЗ рдЬрд╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдЪрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╡рд╣рд╛рдВ рдкрд░ рд╣реЛрдЧрд╛ред

рдЬрдм рддрдХ рд╕рд╛рдЗрдбрдХрд╛рд░ рд╕рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдЖрддрд╛ рддрдм рддрдХ рдЖрдк рдбреЙрдХ-рд▓реЗрд╡рд▓ рд╕реЙрд▓реНрдпреВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: https://gist.github.com/janosroden/78725e3f846763aa3a660a6b2116c7da

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

рд╣рдо рдЗрд╕реНрддрд┐рдпреЛ рдФрд░ рдЙрд╕рдХреА рд╕рд╛рдЗрдб рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд░ рд░рд╣реЗ рдереЗ, рдФрд░ рд╣рдордиреЗ рдЬреЛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдХрд░реНрд▓ + рдкреНрд░реАрд╕реНрдЯреЙрдк рд╣реБрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреЙрдб рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред

рдЕрдкрдиреЗ рдХрд╛рдо рдХреЛ рдЗрд╕ рддрд░рд╣ рдиреНрдпреВрдирддрдо RBAC рдирд┐рдпрдо рджреЗрдВ

apiVersion: v1
kind: ServiceAccount
metadata:
  name: myservice-job
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: myservice-role
rules:
  - apiGroups: [""]
    resources: ["pods"]
    verbs: ["delete"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: myservice-job-rolebinding
subjects:
  - kind: ServiceAccount
    name: myservice-job
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: myservice-role

рдФрд░ POD_NAME рдФрд░ POD_NAMESPACE рдЬреИрд╕реЗ рдЖрдкрдХреЗ ENV рдХреЛ

   env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдПрдХ рдкреНрд░реАрд╕реНрдЯреЙрдк рд╣реБрдХ рдЬреЛрдбрд╝реЗрдВ рдЬреИрд╕реЗ

 lifecycle:
      preStop:
        exec:
          command: 
            - "/bin/bash" 
            - "-c"
            - "curl -X DELETE -H "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt https://$KUBERNETES_SERVICE_HOST/api/v1/namespaces/$POD_NAMESPACE/pods/$POD_NAME?gracePeriodSeconds=1"

рд╕рд╣реА рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдорд╛рд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЧрдиреНрджрд╛ рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдФрд░ рдХрдо рдмрд╛рд░реАрдХред

рдмрд╕ рдЗрд╕реЗ рдпрд╣рд╛рдБ рдлреЗрдВрдХ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдПрдХ рд╕рд╛рде рдлреЗрдВрдХ рджрд┐рдпрд╛ рдерд╛ рдЬреЛ рдЪрд▓ рд░рд╣реЗ рдкреЙрдб рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛, рдФрд░ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ SIGTERM рднреЗрдЬреЗрдВред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рдордЬрдмреВрдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕реЗ рдереЛрдбрд╝реА рджреЗрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдорджрдж рдХреА рд╣реЛ рд╕рдХрддреА рд╣реИред

https://github.com/nrmitchi/k8s-controller-sidecars

cloud_sql_proxy рдХреЛ ClusterIP рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП https://github.com/kubernetes/kubernetes/issues/25908#issuecomment -371469801 рдкрд░ @jpalomaki рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ @ рдкрд░ https://github.com/kubernetes/kubernetes/issues/25908#issuecomment рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдкрд░ рдЯрд┐рдк рдХреЗ рд▓рд┐рдП -+рейрем,рекреи,релрел,рейремрей tcp:0.0.0.0 рдореЗрдВ cloud_sql_proxy instances рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЧреИрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рдХрдиреЗрдХреНрд╢рдиред рд╕рд╛рде рдореЗрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдиреЗ рдХреНрд░реЙрди рдЬреЙрдмреНрд╕ рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рджреЗрдирд╛ рджрд░реНрдж рд░рд╣рд┐рдд рдмрдирд╛ рджрд┐рдпрд╛ред

рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдореБрджреНрджрд╛ (рд╕реНрд╡рдпрдВ рдХреЛ рдиреЛрдЯ)

рд╡рд╣реА рдореБрджреНрджрд╛ред Cloud SQL рд╕рд╛рде GKE рдХреНрд░реЙрди рдЬреЙрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд░рд╛рд╕реНрддрд╛ рдпрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВ

рдкрдХреНрд╖реАрдп рд▓реЗрдЦ:
Google рдиреЗ рдЕрдкрдиреЗ рдХреНрд▓рд╛рдЙрдб SQL рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ -> Google Kubernetes Engine рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ Connecting using the Cloud SQL Proxy Docker image рдЖрдк Connecting using a private IP address
рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдпрд╣рд╛рдВ рдЙрд╕реА рдХрд╛рд░рдг рд╕реЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдпрд╣рд╛рдВ рд╣реВрдВ (рдХреНрд▓рд╛рдЙрдб_рдПрд╕рдХреНрдпреВрдПрд▓_рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдХрд╛рд░рдг), рдЕрдм рдЖрдк рдирд┐рдЬреА рдЖрдИрдкреА рдХреА рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдкрдХреНрд╖реАрдп рд▓реЗрдЦ:
Google рдиреЗ рдЕрдкрдиреЗ рдХреНрд▓рд╛рдЙрдб SQL рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ -> Google Kubernetes Engine рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ Connecting using the Cloud SQL Proxy Docker image рдЖрдк Connecting using a private IP address
рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдпрд╣рд╛рдВ рдЙрд╕реА рдХрд╛рд░рдг рд╕реЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдпрд╣рд╛рдВ рд╣реВрдВ (рдХреНрд▓рд╛рдЙрдб_рдПрд╕рдХреНрдпреВрдПрд▓_рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдХрд╛рд░рдг), рдЕрдм рдЖрдк рдирд┐рдЬреА рдЖрдИрдкреА рдХреА рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдЬреА рдЖрдИрдкреА рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдкреВрд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рдПрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ ......?

@cropse рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗрд╡рд▓ рддрднреА рд╣реИ рдЬрдм рдЖрдкрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░

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

рдмрд╕ рдореЗрд░реЗ рджреЛ рд╕реЗрдВрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП: рдЕрдЧрд░ рдкреЙрдб рдХрднреА рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдЗрд╕реНрддрд┐рдпреЛ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рд▓рдЧрдиреЗ рдкрд░ рд╣реЗрд▓реНрдо рдЯреЗрд╕реНрдЯ рднреА рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИред

@dansivter рдЖрдк рдореЗрд░реЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ

рдЗрд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реИрдВ! :)

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╛рдорд╛рдиреНрдп рдиреМрдХрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрдм рдПрдХ рдЗрд╕реНрддрд┐рдпреЛ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдКрдкрд░ рд╣рдо рдпрд╣ рднреА рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкреНрд░реЛ рдХреЗ рд╕рд╛рде рд╕реАрдЖрдИ рдЬреЙрдм рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд░реЗрд▓ рдРрдк рдХрдВрдЯреЗрдирд░ + рд╕рд╛рдЗрдбрдХрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдВрдЯреЗрдирд░ред

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

FYI рдХрд░реЗрдВ, рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдпрд╣рд╛рдБ рдЦрддреНрдо рд╣реЛ рдЧрдИ рд╣реИ https://github.com/kubernetes/enhancements/issues/753 рдЕрдЧрд░ рд▓реЛрдЧ рд╕рд╛рде рдЪрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХреЗрдИрдкреА рд╣реИ, рдХреБрдЫ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реИ (рдПрдХ рдкреАрдУрд╕реА рд╢рд╛рдЦрд╛/рд╡реАрдбрд┐рдпреЛ рд╣реИ ), рдЕрднреА рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдЖрдпрд░рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдкрдХреНрд╖реАрдп рд▓реЗрдЦ:
Google рдиреЗ рдЕрдкрдиреЗ рдХреНрд▓рд╛рдЙрдб SQL рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ -> Google Kubernetes Engine рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ Connecting using the Cloud SQL Proxy Docker image рдЖрдк Connecting using a private IP address
рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдпрд╣рд╛рдВ рдЙрд╕реА рдХрд╛рд░рдг рд╕реЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдпрд╣рд╛рдВ рд╣реВрдВ (рдХреНрд▓рд╛рдЙрдб_рдПрд╕рдХреНрдпреВрдПрд▓_рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдХрд╛рд░рдг), рдЕрдм рдЖрдк рдирд┐рдЬреА рдЖрдИрдкреА рдХреА рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

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

      containers:
      - name: migrator
        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
        imagePullPolicy: {{ .Values.image.pullPolicy }}
        command: ["/bin/bash", "-c"]
        args:
          - |
            /cloud_sql_proxy -instances={{ .Values.gcp.project }}:{{ .Values.gcp.region }}:{{ .Values.gcp.cloudsql_database }}=tcp:5432 -credential_file=/secrets/cloudsql/credentials.json &
            ensure_proxy_is_up.sh dbmate up
        env:
        - name: DATABASE_URL
          valueFrom:
            secretKeyRef:
              name: mysecret
              key: DATABASE_URL
        volumeMounts:
          - name: cloudsql-instance-credentials
            mountPath: /secrets/cloudsql
            readOnly: true
      volumes:
        - name: cloudsql-instance-credentials
          secret:
            secretName: cloudsql-instance-credentials

ensure_proxy_is_up.sh

#!/bin/bash

until pg_isready -d $(echo $DATABASE_URL); do
    sleep 1
done

# run the command that was passed in
exec "$@"

рдХреНрдпрд╛ рдпрд╣ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдордп рд╣реЛрдЧрд╛ рдФрд░ рдЧреИрд░-рд╕рд╛рдЗрдбрдХрд╛рд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреЙрдб рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реЛрдЧреА?

@ рд╡рд┐рд▓рдХреНрд╕ рдореИрдВ рдЕрдкрдиреЗ рдлреЛрди рдПрдЯреАрдПрдо рдкрд░ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ

@krancour рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд╡рд╣ рд╡рд┐рд╡рд░рдг рдпрд╛рдж рдЖ рдЧрдпрд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдпрд╣рд╛рдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдХреБрдЫ рдЪрд▓ рд░рд╣рд╛ рд╣реИ :)

рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ @ jmillikin-stripe рдХреЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдХреНрд▓рд╛рдЙрдб-рдПрд╕рдХреНрдпреВрдПрд▓-рдкреНрд░реЙрдХреНрд╕реА рд╕рд╛рдЗрдбрдХрд╛рд░ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдпрд╛, рдЬрд╣рд╛рдВ рдПрдХ рд╕рд╛рдЭрд╛ рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд░рд╛рдЬреНрдп рдХреЛ рд╕рд╛рдЗрдбрдХрд╛рд░ рд╕реЗ рд╕рдВрдЪрд╛рд░ рдХрд░рддреА рд╣реИред

рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ K8s рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЕрдм рддрдХ рдХрд╛ рд╕рдмрд╕реЗ рдЧрдВрджрд╛ рд╣реИрдХ рд╣реИ :(

apiVersion: batch/v1
kind: Job
metadata:
  name: example-job
spec:
  template:
    spec:
      containers:
      - name: example-job
        image: eu.gcr.io/example/example-job:latest
        command: ["/bin/sh", "-c"]
        args:
          - |
            trap "touch /tmp/pod/main-terminated" EXIT
            run-job.sh
        volumeMounts:
          - mountPath: /tmp/pod
            name: tmp-pod
      - name: cloudsql-proxy
        image: gcr.io/cloudsql-docker/gce-proxy:1.11
        command: ["/bin/sh", "-c"]
        args:
          - |
            /cloud_sql_proxy --dir=/cloudsql -instances=example:europe-west3:example=tcp:3306 -credential_file=/secrets/cloudsql/credentials.json &
            CHILD_PID=$!
            (while true; do if [[ -f "/tmp/pod/main-terminated" ]]; then kill $CHILD_PID; echo "Killed $CHILD_PID as the main container terminated."; fi; sleep 1; done) &
            wait $CHILD_PID
            if [[ -f "/tmp/pod/main-terminated" ]]; then exit 0; echo "Job completed. Exiting..."; fi
        volumeMounts:
          - name: cloudsql-instance-credentials
            mountPath: /secrets/cloudsql
            readOnly: true
          - name: cloudsql
            mountPath: /cloudsql
          - mountPath: /tmp/pod
            name: tmp-pod
            readOnly: true
      restartPolicy: Never
      volumes:
        - name: cloudsql-instance-credentials
          secret:
            secretName: cloudsql-instance-credentials
        - name: cloudsql
          emptyDir:
        - name: tmp-pod
          emptyDir: {}
  backoffLimit: 1

рдХреНрдпрд╛ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреЛрдИ рдЖрдВрддрд░рд┐рдХ рд╡реНрдпрдХреНрддрд┐ рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдкреНрд░рдЧрддрд┐ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдХреНрдпрд╛ рдпрд╣ рдорд╛рди рд▓реЗрдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдХрд┐ рдЬреАрдХреЗрдИ рдХреЗ рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬ рдЪреИрдирд▓ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЬреЛ рд╢рд╛рдпрдж рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ 1.18 рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдкрд╛рдПрдЧрд╛?

@Datamance рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ KEP рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рдХреЗ рд▓рд┐рдП рд╣реЛрд▓реНрдб рдкрд░ рд╣реИ ред

рдореИрдВрдиреЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдкреЛрд╕реНрдЯ рдХреА рдереА, рдЬреЛ рдореЗрд░рд╛ рдкреБрд░рд╛рдирд╛ рд╕рдорд╛рдзрд╛рди рдерд╛ред рдореИрдВ рдпрд╣рд╛рдВ рдЕрдкрдиреА рдЦреБрдж рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдмрд╕ рд╡рд╣ рдЯрд┐рдкреНрдкрдгреА рдЬреАрдердм рдХреА "100 рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ ..." рдореЗрдВ рдЦреЛ рдЧрдИ рд╣реИ рдФрд░ рдпрд╣ рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреЙрдб рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ:

    securityContext:
            capabilities:
                   add:
                    - SYS_PTRACE

рддрдм рдЖрдк рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдкрд┐рдб рдХреЛ рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рд╣рдо рдЕрдкрдиреЗ рдореБрдЦреНрдп рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрдд рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд▓рд╛рдПрдВрдЧреЗ:
sql_proxy_pid=$(pgrep cloud_sql_proxy) && kill -INT $sql_proxy_pid

@krancour рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓реАред рдпрджрд┐ рдЖрдк рдЙрд╕ рднрдВрдбрд╛рд░ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рдХреБрдЫ рдХрд╛рдВрдЯреЗ рд╣реИрдВ рдЬреЛ рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдореВрд▓ рд╕реНрдерд╛рди рд╕реЗ рдмреЗрд╣рддрд░ рдЬрдЧрд╣ рдкрд░ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХрд╛ рдирд┐рд░реНрдорд╛рдг/рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдИрдЖрдИрдЖрд░рд╕реА рдиреАрдВрдмреВ рдкрд╛рдиреА-рдПрдЪрдХреНрдпреВ рдХрд╛рдВрдЯрд╛ рдореЗрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЬреЛрдбрд╝ рдереЗред

@nrmitchi , рдореИрдВ рдХреЛрдб рдкрд░

рдХреНрдпрд╛ рдЖрдк рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕реА рдХреМрди рд╕реА рдкреВрд░реНрд╡-рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдореМрдЬреВрдж рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬрд┐рдирдХрд╛ рд░реАрдбрдореЗ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

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

@krancour рдореИрдВ рдЕрдкрдиреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдХ рдиреЛрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдореЗрд░реА рдпрд╛рджрджрд╛рд╢реНрдд рдереЛрдбрд╝реА

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

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

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

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреЙрдб рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ:

    securityContext:
            capabilities:
                   add:
                    - SYS_PTRACE

рддрдм рдЖрдк рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдкрд┐рдб рдХреЛ рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рд╣рдо рдЕрдкрдиреЗ рдореБрдЦреНрдп рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрдд рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд▓рд╛рдПрдВрдЧреЗ:
sql_proxy_pid=$(pgrep cloud_sql_proxy) && kill -INT $sql_proxy_pid

@ ruiyang2015 рдЗрд╕ рд╣реИрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдпрджрд┐ рдХреЛрдИ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдирдПрд╕ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рдирд┐рд╣рд┐рддрд╛рд░реНрде рдХреЛ

@nrmitchi

рд╕рд╛рдЗрдбрдХрд╛рд░ рдХреА рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реАрдзреЗ рд╕рд┐рдЧреНрдирд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдкреВрдЫрд╛... рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ FROM scratch рдирд┐рд░реНрдорд┐рдд рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@krancour рдлреЗрдпрд░ рдкреЙрдЗрдВрдЯ, рдореИрдВ рдХрднреА рдирд╣реАрдВ рдЧрдпрд╛ рдФрд░ рдЙрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬреЛ рдмрдВрдж рдереЗ scratch ред рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП (рдпрд╛ рдореЗрд░рд╛ рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг; рдпрд╣ рдлреЛрд░реНрдХ рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рдерд╛) рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ bash рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдмреИрд╢ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдпрд╣ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рд╣рдореЗрд╢рд╛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдореМрдЬреВрдж рдХреБрдЫ рдмрд╛рдЗрдирд░реА рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░реИрдЪ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП, рд╡рд╣рд╛рдВ _рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдХреБрдЫ рднреА рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдбрд╛рд▓рддреЗ рд╣реИрдВред тАНтЩВ

рдЙрд╕ рд╕реАрдорд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдРрд╕реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдЬрд╣рд╛рдВ рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдФрд░ рдХрд┐рд╕реА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдУрд╣-- рдФрд░ рдлрд┐рд░ рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрдВрдЯреЗрдирд░ рднреА рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред

рдореИрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореИрдВ рдХрд┐рд╕ рдкрд░ рд╕рдордЭреМрддрд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рд╢рд╛рдпрдж рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рднрд╛рд░реА-рднрд░рдХрдо рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдпрджрд┐ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдЗрд╕рд╕реЗ рджреВрд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдЬреИрд╕рд╛ рд╣реА рд╣реИ ...

рдореИрдВ рдХреЗрд╡рд▓ _deleting_ рдПрдХ рдкреЙрдб рдЬрд┐рд╕рдХрд╛ "рдкреНрд░рд╛рдердорд┐рдХ" рдХрдВрдЯреЗрдирд░ рдирд┐рдХрд▓ рдЪреБрдХрд╛ рд╣реИ, рдХреА рд╡рд┐рд▓рд╛рд╕рд┐рддрд╛ рдХреЛ рд╡рд╣рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдкрд╣рд▓реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддрд╛ рд╣реВрдВред рддреЛ рдореИрдВ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рд▓рд┐рдЦрдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╛рдорд┐рдд (рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХрдВрдЯреЗрдирд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдЧрд╛, рдбреЗрдЯрд╛рд╕реНрдЯреЛрд░ рдореЗрдВ рдЕрдкрдиреА рд╕рдлрд▓рддрд╛ рдпрд╛ рд╡рд┐рдлрд▓рддрд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдЧрд╛ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА "рдиреМрдХрд░реА" рд╕реНрдерд┐рддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреЙрдб рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред

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

рднрд╛рд░реА-рднрд░рдХрдо, рд▓реЗрдХрд┐рди рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@krancour рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЪ рд╣реИред рдЬреИрд╕рд╛ рд╣реИ, рдирд┐рдпрдВрддреНрд░рдХ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ-рдЖрдзрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореИрдВ рдХрднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЧрдпрд╛ рдФрд░ рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЕрдореВрд░реНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХреЗрдИрдкреА рдХреЛ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдХрдо рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ 4 рд╕рд╛рд▓ рдкреБрд░рд╛рдирд╛ рд╣реИ, рдХреЗрдИрдкреА рдЕрднреА рддрдХ рдХрд╣реАрдВ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдХрд▓рд╛ рдХреА рд╕реНрдерд┐рддрд┐ рд╣рд░ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреА рдЬрдЧрд╣ рдПрдХ рд╣реИрдХреА рдЗрдирд▓рд╛рдЗрди рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдореИрдВрдиреЗ "рдорд╛рдирдХ" рд╣реИрдХ (рдПрдХ рд╕рд╛рдЭрд╛ рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдорд╛рдзрд┐ рдХрд╛ рдкрддреНрдерд░) рдХреЛ рд╕рдВрд╣рд┐рддрд╛рдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ ) рдХреЛ рдЧреЛ рдмрд╛рдЗрдирд░реА рдореЗрдВ рдмрджрд▓реЗрдВ, рдЬрд┐рд╕реЗ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрдВрдЯреЗрдирд░ рдЗрдореЗрдЬ рдореЗрдВ рдмреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

https://github.com/karlkfi/kubexit

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рддрд░реАрдХреЗ рд╣реИрдВ:

  1. рдЗрд╕реЗ рдЕрдкрдиреА рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдмреЗрдХ рдХрд░реЗрдВ
  2. рдПрдХ рдЗрдирд┐рдЯ рдХрдВрдЯреЗрдирд░ рдФрд░ рдПрдХ рдХреНрд╖рдгрд┐рдХ рдорд╛рддреНрд░рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕рд╛рдЗрдб рд▓реЛрдб рдХрд░реЗрдВред
  3. рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рдЗрд╕реЗ рдкреНрд░реЛрд╡рд┐рдЬрди рдХрд░реЗрдВ рдФрд░ рд╣реЛрд╕реНрдЯ рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд▓реЛрдб рдХрд░реЗрдВ

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: v0.2.0 рдЕрдм "рдЬрдиреНрдо рдирд┐рд░реНрднрд░рддрд╛" (рджреЗрд░реА рд╕реЗ рд╢реБрд░реВ) рдФрд░ "рдореГрддреНрдпреБ рдирд┐рд░реНрднрд░рддрд╛" (рд╕реНрд╡-рд╕рдорд╛рдкреНрддрд┐) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рдбреНрд░рд╛рдЗрд╡-рдмрд╛рдп рдХрдореЗрдВрдЯ: рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ https://github.com/kubernetes/enhancements/issues/753 рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ

@vanzin рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рдХрд┐ рдХреЗрдИрдкреА рдЕрдирд┐рд╢реНрдЪрд┐рддрдХрд╛рд▓реАрди рд╣реЛрд▓реНрдб рдкрд░ рд╣реИред

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

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

zetaab picture zetaab  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alexferl picture alexferl  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

errordeveloper picture errordeveloper  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mml picture mml  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tbchj picture tbchj  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ