рд╣реЗ рд▓реЛрдЧреЛрдВ,
рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд░ рд╢рд╛рдЗрдиреАрдкреНрд░реЙрдХреНрд╕реА рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдкреЙрдбреНрд╕ рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдпрд╣ рд╣рдореЗрдВ рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ AWS IAM рднреВрдорд┐рдХрд╛ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдФрд░ рдЪрдордХрджрд╛рд░ рдРрдкреНрд╕ рдореЗрдВ AWS рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ред
рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! рдФрд░ рд╕рднреА рдорд╣рд╛рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдЪреАрдпрд░реНрд╕,
рдПрдорд┐рд▓реА
рдореИрдВ рдареАрдХ рдЙрд╕реА рдХрд╛рд░рдг рд╕реЗ рдЪрдордХрджрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдкреЙрдбреНрд╕ рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдореИрдВрдиреЗ рдЗрд╕ рдЕрдВрдд рддрдХ рдХреЛрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдЬрд╛рд╡рд╛ рдХреМрд╢рд▓ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВред
рдЕрдЧрд░ рдХреЛрдИ рдЕрднреА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрдЧреА!
рдпрджрд┐ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдкрд╛рд╕ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЪрдордХрджрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдкреЙрдбреНрд╕ рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди рдФрд░ рдЯреЙрд▓рд░реЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдорд┐рд▓рд╛ред
рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдЪрдордХрджрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рдкреЙрдбреНрд╕ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЪрдордХрджрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдХрдВрдЯреЗрдирд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬреЛ рдЙрд╕ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреЙрдб рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдПрдиреЛрдЯреЗрдЯ рдФрд░ рдкреИрдЪ рдХрд░рддрд╛ рд╣реИред
( spec
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ):
- name: shiny-role-spammer
image: zlabjp/kubernetes-resource
command:
- "/bin/bash"
- "-c"
- |
while [ 1 ]; do
# Add annotation for kube2iam
kubectl -n external annotate pods --all iam.amazonaws.com/role="arn:aws:iam::123456654321:role/shiny-external";
# Add tolerations
kubectl -n external get pods -o jsonpath='{.items[*].metadata.name}' | grep sp- | \
xargs kubectl -n external patch -p \
'{"spec":{"tolerations":[{"key":"purpose", "operator": "Equal", "value": "external", "effect": "NoSchedule"}]}}' \
pod
sleep 2;
done
рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░! рдЙрддреНрддрдо!
рдирдорд╕реНрддреЗ
рдЖрдкрдХреЗ рдкреАрдЖрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдХрдВрдЯреЗрдирд░рдкреНрд░реЙрдХреНрд╕реА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдХрдВрдЯреЗрдирд░рдкреНрд░реЙрдХреНрд╕реА рдРрдк рдореЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ kubernetes-pod-patches
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрдВрдЯреЗрдирд░рдкреНрд░реЙрдХреНрд╕реА рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреЙрдб рдХреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдкреИрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ (рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред
рдпрд╣ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХреЛ рдХрд╡рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмреЗрдЭрд┐рдЭрдХ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЦреЛрд▓реЗрдВред
рдкрд░рд┐рд╡рд░реНрддрди рд╕рд┐рд░реНрдл ShinyProxy 2.4.0 . рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ
рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рджред
рдзрдиреНрдпрд╡рд╛рдж @LEDfan рдпрд╣ рд╕рдорд╛рдзрд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ - рдмрд╕ рдЗрд╕реЗ рдЕрднреА рджреЗрдЦреЗрдВ!
рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рдж рдореИрдВ рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ IAM рднреВрдорд┐рдХрд╛ рдПрдиреЛрдЯреЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛:
- id: 01_hello
displayName: Hello Application
description: Application which demonstrates the basics of a Shiny app
containerCmd: ["R", "-e", "shinyproxy::run_01_hello()"]
containerImage: openanalytics/shinyproxy-demo
kubernetes-pod-patches: |
- op: add
path: /metadata/annotations
value: { "iam.amazonaws.com/role": "<YOUR-IAM-ROLE>" }
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрджрд┐ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдкрд╛рд╕ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЪрдордХрджрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдкреЙрдбреНрд╕ рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди рдФрд░ рдЯреЙрд▓рд░реЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдорд┐рд▓рд╛ред
рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдЪрдордХрджрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рдкреЙрдбреНрд╕ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЪрдордХрджрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдХрдВрдЯреЗрдирд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬреЛ рдЙрд╕ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреЙрдб рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдПрдиреЛрдЯреЗрдЯ рдФрд░ рдкреИрдЪ рдХрд░рддрд╛ рд╣реИред
(
spec
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ):