рд▓рдЧрднрдЧред рдЯреНрд░рд╛рдВрд╕ред : рдпрд╣ рд▓реЗрдЦ learnk8s рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯ рдХрдВрдкрдирд┐рдпреЛрдВ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рд┐рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореИрдиреЗрдЬрд░, рдбреЗрдирд┐рдпрд▓ рдкреЙрд▓реЗрдВрд╕рд┐рдХ, K8s рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрджрдо рдЙрдард╛рддреЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИред
TL; DR: рдпрд╣рд╛рдБ рдПрдХ рдЪрд┐рддреНрд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рддреИрдирд╛рддреА рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛:
рдХрд┐рд╕реА рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реНрд▓реЛрдЪрд╛рд░реНрдЯред рдореВрд▓ (рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ) рдпрд╣ рдкреАрдбреАрдПрдл рдореЗрдВ рдФрд░ рдПрдХ рдЫрд╡рд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИредрдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЖрдорддреМрд░ рдкрд░ рддреАрди рдШрдЯрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:
- рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдлрд▓реА рдирд╛рдордХ рдПрдХ рдкреНрд░рддрд┐ рдХреА рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреБрд╕реНрдЦрд╛ рд╣реИ;
- рд╕реЗрд╡рд╛ - рдПрдХ рдЖрдВрддрд░рд┐рдХ рднрд╛рд░ рдмреИрд▓реЗрдВрд╕рд░ рдЬреЛ рдлрд▓реА рдХреЗ рдмреАрдЪ рдпрд╛рддрд╛рдпрд╛рдд рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ;
- рдЗрдирдЧреНрд░реЗрдб - рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рд╕реЗ рд╕реЗрд╡рд╛ рдореЗрдВ рдХреИрд╕реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЖрдПрдЧрд╛, рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рд╣реИред
рдпрд╣рд╛рдБ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЪрд┐рддреНрд░рдордп рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ:
1) рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ, рд▓реЛрдб рдмреЗрд▓реЗрдВрд╕рд░реЛрдВ рдХреА рджреЛ рдкрд░рддреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рд╕реЗ рдЖрд╡реЗрджрди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ: рдЖрдВрддрд░рд┐рдХ рдФрд░ рдмрд╛рд╣рд░реАред

2) рдЖрдВрддрд░рд┐рдХ рдмреИрд▓реЗрдВрд╕рд░ рдХреЛ рд╕реЗрд╡рд╛, рдмрд╛рд╣рд░реА - рдкреНрд░рд╡реЗрд╢ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

3) рддреИрдирд╛рддреА рдлрд▓реА рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЙрди рдкрд░ рдирдЬрд╝рд░ рд░рдЦрддрд╛ рд╣реИ (рд╡реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд╛
рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рддреИрдирд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП YAML рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
apiVersion: apps/v1 kind: Deployment # <<< metadata: name: my-deployment labels: track: canary spec: selector: matchLabels: any-name: my-app template: metadata: labels: any-name: my-app spec: containers: - name: cont1 image: learnk8s/app:1.0.0 ports: - containerPort: 8080 --- apiVersion: v1 kind: Service # <<< metadata: name: my-service spec: ports: - port: 80 targetPort: 8080 selector: name: app --- apiVersion: networking.k8s.io/v1beta1 kind: Ingress # <<< metadata: name: my-ingress spec: rules: - http: paths: - backend: serviceName: app servicePort: 80 path: /
рдкрд░рд┐рднрд╛рд╖рд╛ рдХрд╛рдлреА рд▓рдВрдмреА рд╣реИ, рдФрд░ рдпрд╣ рднреНрд░рдорд┐рдд рд╣реЛрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдШрдЯрдХ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- рдЖрдкрдХреЛ рдкреЛрд░реНрдЯ 80 рдФрд░ рдХрдм - 8080 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
- рдХреНрдпрд╛ рдореБрдЭреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдкреЛрд░реНрдЯ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╡реЗ рд╕рдВрдШрд░реНрд╖ рди рдХрд░реЗрдВ?
- рд▓реЗрдмрд▓ рдирд╛рдо рдорд╛рдпрдиреЗ рд░рдЦрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ рд╣рд░ рдЬрдЧрд╣ рдПрдХ рдЬреИрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдбрд┐рдмрдЧрд┐рдВрдЧ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдпрд╛рдж рдХрд░реЗрдВ рдХрд┐ рддреАрди рдШрдЯрдХ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рдЪрд▓реЛ рддреИрдирд╛рддреА рдФрд░ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдХрдиреЗрдХреНрд╢рди рддреИрдирд╛рддреА рдФрд░ рд╕реЗрд╡рд╛
рдЖрдк рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд┐рд╕ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╕реЗрд╡рд╛ рд╕реАрдзреЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рдкреЙрдбреНрд╕ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреА рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдЗрд╕ рдмрд╛рдд рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкреЙрдбреНрд╕ рдФрд░ рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рддреАрди рдмрд╛рддреЗрдВ рдпрд╛рдж рд░рдЦреЗрдВ:
- рдПрдХ рд╕реЗрд╡рд╛
selector
рдХреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкреЙрдб рд▓реЗрдмрд▓ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред targetPort
рдкреЙрдб рдХреЗ рдЕрдВрджрд░ containerPort
рдореЗрд▓ targetPort
рдЪрд╛рд╣рд┐рдПредport
рд╕рд░реНрд╡рд┐рд╕ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИред рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдПрдВ рдПрдХ рд╣реА рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрдИрдкреА рдкрддреЗ рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рдЪрд┐рддреНрд░рдордп рд░реВрдк рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ:
1) рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╕реЗрд╡рд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдлрд▓реА рдХреЗ рд▓рд┐рдП рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреА рд╣реИ:

2) рдкреЙрдб рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдкреЙрдбрдкреЙрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

3) рд╕реЗрд╡рд╛ рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдкрдХреЛ
port
рдФрд░
targetPort
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд▓реЗрдХрд┐рди рдХрдВрдЯреЗрдирд░ рдХрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝ рд░рд╣рд╛ рд╣реИ?
4) рд╡рд╛рдпрд╛
targetPort
ред рдпрд╣ рдХрдВрдЯреЗрдирд░рдкреЙрд░реНрдЯ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

5) рдорд╛рди рд▓реЗрдВ рдХрд┐ рдкреЛрд░реНрдЯ 3000 рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЦреБрд▓рд╛ рд╣реИред рдлрд┐рд░
targetPort
рд╡реИрд▓реНрдпреВ рд╕рдорд╛рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

targetPort
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рд▓реЗрдмрд▓ рдФрд░
ports
/
targetPort
рдХрд╛ рдорд┐рд▓рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment labels: track: canary spec: selector: matchLabels: any-name: my-app template: metadata: labels: # <<< any-name: my-app # <<< spec: containers: - name: cont1 image: learnk8s/app:1.0.0 ports: - containerPort: 8080 # <<< --- apiVersion: v1 kind: Service metadata: name: my-service spec: ports: - port: 80 targetPort: 8080 # <<< selector: # <<< any-name: my-app # <<<
track: canary
рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ track: canary
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЕрдиреБрднрд╛рдЧ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ track: canary
? рдХреНрдпрд╛ рдпрд╣ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?рдпрд╣ рд▓реЗрдмрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реЗрд╡рд╛ рджреНрд╡рд╛рд░рд╛ рдпрд╛рддрд╛рдпрд╛рдд рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЗрд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдПрдХ рдЕрд▓рдЧ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
matchLabels
рдЪрдпрдирдХрд░реНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?рдЗрд╕реЗ рд╣рдореЗрд╢рд╛ рдлрд▓реА рдХреЗ рд▓реЗрдмрд▓ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП , рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдлрд▓реА рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдирд┐рдпреЛрдЬрди рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдкрдиреЗ рд╕рд╣реА рд╕рдВрдкрд╛рджрди рдХрд┐рдпрд╛ рд╣реИред рдЙрдирдХреА рдЬрд╛рдВрдЪ рдХреИрд╕реЗ рдХрд░реЗрдВ?рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкреЙрдб рд▓реЗрдмрд▓ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
kubectl get pods --show-labels
рдпрд╛, рдпрджрд┐ рдлрд▓реА рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ:
kubectl get pods --selector any-name=my-app --show-labels
рдЬрд╣рд╛рдБ
any-name=my-app
any-name: my-app
рд▓реЗрдмрд▓
рдХреНрдпрд╛ рдХреЛрдИ рдореБрд╢реНрдХрд┐рд▓реЗрдВ рд╣реИрдВ?рдЖрдк рдлрд▓реА рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ! рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, kubectl рдореЗрдВ
port-forward
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдЖрдкрдХреЛ рд╕реЗрд╡рд╛ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
kubectl port-forward service/<service name> 3000:80
рдпрд╣рд╛рдВ:
service/<service name>
- рд╕реЗрд╡рд╛ рдХрд╛ рдирд╛рдо; рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ my-service
;- 3000 - рд╡рд╣ рдкреЛрд░реНрдЯ рдЬрд┐рд╕реЗ рдЖрдк рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ;
- 80 - рд╕реЗрд╡рд╛ рдХреЗ
port
рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ port
ред
рдпрджрд┐ рдЖрдк рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ, рддреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рд╣реА рд╣реИрдВред
рдпрджрд┐ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛, рддреЛ рд╕рдорд╕реНрдпрд╛ рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рд╣реИ рдпрд╛ рдкреЛрд░реНрдЯ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВред
рд╕реЗрд╡рд╛ рдФрд░ рдкреНрд░рдЧрддрд┐ рдХрд╛ рдХрдиреЗрдХреНрд╢рди
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдЕрдЧрд▓рд╛ рдЪрд░рдг рдЗрдирдЧреНрд░реЗрдб рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдкреНрд░рдЧрддрд┐ рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕реЗрд╡рд╛ рдХреЛ рдХреИрд╕реЗ рдЦреЛрдЬрдирд╛ рд╣реИ, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдлрд▓реА рдФрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдЯреНрд░реИрдлрд╝рд┐рдХ рдвреВрдВрдвреЗрдВред рдЗрдВрдЧреНрд░рд┐рдб рдирд╛рдо рдФрд░ рдЦреБрд▓реЗ рдмрдВрджрд░рдЧрд╛рд╣ рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдВрдЫрд┐рдд рд╕реЗрд╡рд╛ рдкрд╛рддрд╛ рд╣реИред
рдкреНрд░рдЧрддрд┐ рдФрд░ рд╕реЗрд╡рд╛ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ, рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдорд┐рд▓рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
servicePort
рдореЗрдВ рд╕реЗрд╡рд╛ рдореЗрдВ port
рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП;serviceName
рдореЗрдВ name
рдХрд╛ name
рд╕реЗрд╡рд╛ рдореЗрдВ name
рдлрд╝реАрд▓реНрдб рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:
1) рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╕реЗрд╡рд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд
port
рдкрд░ рд╕реБрдирддреА рд╣реИ:

2) рдЗрдирдЧреНрд░реЗрдб рдореЗрдВ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ
servicePort
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:

3) рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ (
servicePort
) рдХреЛ рд╣рдореЗрд╢рд╛ рд╕реЗрд╡рд╛ рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ
port
рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

4) рдпрджрд┐ рдкреЛрд░реНрдЯ 80 рд╕реЗрд╡рд╛ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рддреЛ
servicePort
80 рднреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:

рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
apiVersion: v1 kind: Service metadata: name: my-service # <<< spec: ports: - port: 80 # <<< targetPort: 8080 selector: any-name: my-app --- apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: my-ingress spec: rules: - http: paths: - backend: serviceName: my-service # <<< servicePort: 80 # <<< path: /
рдХреИрд╕реЗ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ Ingress рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ?рдЖрдк
kubectl port-forward
рд╕рд╛рде рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ
kubectl port-forward
, рд▓реЗрдХрд┐рди рд╕реЗрд╡рд╛ рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ
kubectl port-forward
рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЗрдирдЧреНрд░реЗрдб рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рдкреЙрдб рдХрд╛ рдирд╛рдо рдкрддрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS kube-system coredns-5644d7b6d9-jn7cq 1/1 Running kube-system etcd-minikube 1/1 Running kube-system kube-apiserver-minikube 1/1 Running kube-system kube-controller-manager-minikube 1/1 Running kube-system kube-proxy-zvf2h 1/1 Running kube-system kube-scheduler-minikube 1/1 Running kube-system nginx-ingress-controller-6fc5bcc 1/1 Running
рдЗрдирдЧреНрд░реЗрдб рдкреЙрдб рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдБ (рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдирд╛рдорд╕реНрдерд╛рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ) рдФрд░ рдкреЛрд░реНрдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
describe
рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ:
kubectl describe pod nginx-ingress-controller-6fc5bcc \ --namespace kube-system \ | grep Ports Ports: 80/TCP, 443/TCP, 18080/TCP
рдЕрдВрдд рдореЗрдВ, рдлрд▓реА рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ:
kubectl port-forward nginx-ingress-controller-6fc5bcc 3000:80 --namespace kube-system
рдЕрдм рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ 3000 рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдЗрдирдЧреНрд░реЗрдб рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рдкреЙрдб рдХреЗ рдкреЛрд░реНрдЯ 80 рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
Http: // localhost: 3000 рдкрд░ рдЬрд╛рдХрд░, рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдкреЗрдЬ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреЛрд░реНрдЯ рд╕рд╛рд░рд╛рдВрд╢
рдЖрдЗрдП рдлрд┐рд░ рд╕реЗ рдпрд╛рдж рдХрд░реЗрдВ рдХрд┐ рдХрд┐рди рдкреЛрд░реНрдЯреНрд╕ рдФрд░ рд▓реЗрдмрд▓реНрд╕ рдХрд╛ рдорд┐рд▓рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
- рд╕реЗрд╡рд╛ рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдЪрдпрдирдХрд░реНрддрд╛ рдХреЛ рдкреЙрдб рд▓реЗрдмрд▓ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП;
- рд╕реЗрд╡рд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ
targetPort
рдХреЛ рдкреЙрдб рдХреЗ рдЕрдВрджрд░ containerPort
рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП; - рд╕реЗрд╡рд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ
port
рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдПрдВ рдПрдХ рд╣реА рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрдИрдкреА рдкрддреЗ рд╣реИрдВ; servicePort
Ingress рдХреЛ рд╕реЗрд╡рд╛ рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ port
рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП;- рд╕реЗрд╡рд╛ рдХрд╛ рдирд╛рдо Ingress рдореЗрдВ
serviceName
рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХрд╛рд╢, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ YAML рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдареАрдХ рд╕реЗ рдХреИрд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдЬрдм рдХреБрдЫ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?рд╢рд╛рдпрдж рдлрд▓реА рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдпрд╛ рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХрд╛ рдирд┐рд╡рд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3 рдЪрд░рдг
рдПрдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ K8s рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рд╣рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рддреАрди рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░рдо рдореЗрдВ рдбреАрдмрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдмрд╣реБрдд рдиреАрдЪреЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
- рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдлрд▓реА рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ, рдлрд┐рд░ ...
- рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╕реЗрд╡рд╛ рдкреЙрдбреНрд╕ рдореЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╡рд┐рддрд░рд┐рдд рдХрд░рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ ...
- рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ Ingress рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рджреГрд╢реНрдп рдкреНрд░рд╕реНрддреБрддрд┐:
1) рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХреА рд╢реБрд░реБрдЖрдд рдиреАрдЪреЗ рд╕реЗ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдкрд╣рд▓реЗ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдкреЙрдбреНрд╕ рдореЗрдВ
Ready
рдФрд░
Running
рд╕реНрдЯреЗрдЯрд╕ рд╣реИрдВ:

2) рдпрджрд┐ рдлрд▓реА
Ready
, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╕реЗрд╡рд╛ рдлрд▓реА рдХреЗ рдмреАрдЪ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рддреА рд╣реИ:

3) рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХреЛ рд╕реЗрд╡рд╛ рдФрд░ рдЗрдирдЧреНрд░реЗрдб рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

1. рдлрд▓реА рдХрд╛ рдирд┐рджрд╛рди
рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕рдорд╕реНрдпрд╛ рдлрд▓реА рдХреЗ рд╕рд╛рде рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдлрд▓реА
Ready
рдФрд░
Running
ред рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
kubectl get pods NAME READY STATUS RESTARTS AGE app1 0/1 ImagePullBackOff 0 47h app2 0/1 Error 0 47h app3-76f9fcd46b-xbv4k 1/1 Running 1 47h
рдКрдкрд░ рджрд┐рдП рдЧрдП рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ, рдЕрдВрддрд┐рдо рдкреЙрдб рдХреЛ
Running
рдФрд░
Ready
рд░реВрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рджреЛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдирд╣реАрдВ рд╣реИред
рдХреИрд╕реЗ рд╕рдордЭреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реБрдЖ?рдлрд▓реА рдХреЗ рдирд┐рджрд╛рди рдХреЗ рд▓рд┐рдП рдЪрд╛рд░ рдЙрдкрдпреЛрдЧреА рдЖрджреЗрд╢ рд╣реИрдВ:
kubectl logs < pod'>
рдЖрдкрдХреЛ рдкреЙрдб рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рд╕реЗ рд▓реЙрдЧ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;kubectl describe pod < pod'>
рдЖрдкрдХреЛ рдкреЙрдб рд╕реЗ рдЬреБрдбрд╝реА рдШрдЯрдирд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;kubectl get pod < pod'>
рдЖрдкрдХреЛ Kubernetes рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд kubectl get pod < pod'>
рдХрд╛ YAML рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;kubectl exec -ti < pod'> bash
рдЖрдкрдХреЛ рдкреЙрдб рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХрдорд╛рдВрдб рд╢реЗрд▓ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рдХреМрди рд╕рд╛ рдЪреБрдирдирд╛ рд╣реИ?рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЯреАрдо рдирд╣реАрдВ рд╣реИред рдЗрдирдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдо рдлрд▓реА рдХреА рд╕рдорд╕реНрдпрд╛
рдкреЙрдб рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рджреЛ рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рд╣реИрдВ: рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдФрд░ рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐рдпрд╛рдВред
рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рддреНрд░реБрдЯрд┐рдпрд╛рдВ:
ImagePullBackoff
ImageInspectError
ErrImagePull
ErrImageNeverPull
RegistryUnavailable
InvalidImageName
рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐рдпрд╛рдБ:
CrashLoopBackOff
RunContainerError
KillContainerError
VerifyNonRootError
RunInitContainerError
CreatePodSandboxError
ConfigPodSandboxError
KillPodSandboxError
SetupNetworkError
TeardownNetworkError
рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВред рдпрд╣рд╛рдВ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред
ImagePullBackOff
рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ рдЬрдм рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреЙрдб рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрд╡рд┐ рдирд╣реАрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рддреАрди рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
- рдЫрд╡рд┐ рдХрд╛ рдирд╛рдо рдЧрд▓рдд рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдиреЗ рдЗрд╕рдореЗрдВ рдЧрд▓рддреА рдХреА рд╣реИ, рдпрд╛ рдЫрд╡рд┐ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ;
- рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдирд╣реАрдВ рдЯреИрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- рдЫрд╡рд┐ рдХреЛ рдПрдХ рдирд┐рдЬреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИред
рдкрд╣рд▓реЗ рджреЛ рдХрд╛рд░рдгреЛрдВ рдХреЛ рдЦрддреНрдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ - рдмрд╕ рдЫрд╡рд┐ рдирд╛рдо рдФрд░ рдЯреИрдЧ рдХреЛ рдареАрдХ рдХрд░реЗрдВред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдЧреБрдкреНрдд рдореЗрдВ рдирд┐рдЬреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЗ рд▓рд┐рдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рджрд░реНрдЬ рдХрд░рдиреЗ рдФрд░ рдлрд▓реА рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд░рд▓реЗрдЦрди
рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
CrashLoopBackOff
рдпрджрд┐ рдХрдВрдЯреЗрдирд░ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рддреЛ Kubenetes CrashLoopBackOff рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджреЗрдЧрд╛ред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм:
- рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИ;
- рдХрдВрдЯреЗрдирд░ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ;
- рдХрдИ рдмрд╛рд░ рд▓рд╛рдИрдиреЗрд╕ рдЯреЗрд╕реНрдЯ рднреА рдлреЗрд▓ рд╣реБрдЖред
рдЗрд╕рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рдХрд╛рд░рдг рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░ рд╕реЗ рд▓реЙрдЧ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рд▓реЙрдЧ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрдВрдЯреЗрдирд░ рдмрд╣реБрдд рдЬрд▓реНрджреА рд╕реЗ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
kubectl logs <pod-name> --previous
рдпрд╣ рдкрд┐рдЫрд▓реЗ рдХрдВрдЯреЗрдирд░ рдкреБрдирд░реНрдЬрдиреНрдо рд╕реЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
RunContainerError
рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдХрдВрдЯреЗрдирд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓реЙрдиреНрдЪ рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ рдХреНрд╖рдг рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- рдПрдХ рдЧреИрд░-рдореМрдЬреВрдж рд╡реЙрд▓реНрдпреВрдо, рдЬреИрд╕реЗ рдХрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдпрд╛ рд░рд╣рд╕реНрдп рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛;
- рдкрдврд╝рдиреЗ-рд▓рд┐рдЦрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ред
kubectl describe pod <pod-name>
рдХрдорд╛рдВрдб рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИред
рдкреЙрдбреНрд╕ рд▓рдВрдмрд┐рдд
рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж, рдлрд▓реА рд▓рдВрдмрд╡рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рд╣рддреА рд╣реИред
рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ?рдпрд╣рд╛рдБ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░рдг рд╣реИрдВ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд╕реВрдЪрдХ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ):
- рдлрд▓реА рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдФрд░ рдореЗрдореЛрд░реА рдЬреИрд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
ResourceQuota
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдкреЙрдб рдмрдирд╛рдиреЗ рд╕реЗ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЛрдЯрд╛ рд╕реЗ рдкрд░реЗ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛ред- рдкреЛрдб рд▓рдВрдмрд┐рдд
PersistentVolumeClaim
рд╕реЗ рдмрдВрдзрд╛ рд╣реБрдЖ рд╣реИред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ,
kubectl describe
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдорд╛рдВрдб рдХрд╛
kubectl describe
рдФрд░
Events
рдЕрдиреБрднрд╛рдЧ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
kubectl describe pod <pod name>
рд░рд┐рд╕реЛрд░реНрд╕рдХреНрд╡рд╛рдЯреНрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рд▓реЙрдЧ рджреЗрдЦрдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ
kubectl get events --sort-by=.metadata.creationTimestamp
рдлрд▓реА рддреИрдпрд╛рд░ рдирд╣реАрдВ
рдпрджрд┐ рдлрд▓реА рдХреЛ
Running
рд░реВрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди
Ready
рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рддрддреНрдкрд░рддрд╛ рдХреА
рдЬрд╛рдВрдЪ рдЕрд╕рдлрд▓ рд╣реИред
рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдлрд▓реА рд╕реЗрд╡рд╛ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЗрд╕рдореЗрдВ рдкреНрд░рд╡рд╛рд╣рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рддрддреНрдкрд░рддрд╛ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рддреНрд░реБрдЯрд┐ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ
kubectl describe
рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ
Events
рдЕрдиреБрднрд╛рдЧ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
2. рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдирд┐рджрд╛рди
рдпрджрд┐ рдкреЙрдбреНрд╕ рдХреЛ
Running
рдФрд░
Ready
рд░реВрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдЕрднреА рднреА рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╕реЗрд╡рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред
рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЙрдирдХреЗ рд▓реЗрдмрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреЙрдбреНрд╕ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рддрд╛рдпрд╛рдд рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╣реИ рдХрд┐ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдХрд┐рддрдиреЗ рдкреЙрдб рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реЗрд╡рд╛ рдореЗрдВ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
kubectl describe service <service-name> | grep Endpoints
рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдлреЙрд░реНрдо рдХреЗ рдорд╛рдиреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд╣реИ
<IP-:>
, рдФрд░ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдРрд╕реА рдЬреЛрдбрд╝реА рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдЕрд░реНрдерд╛рдд, рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкреЙрдб рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред
рдпрджрд┐
Endpoins
рдЕрдиреБрднрд╛рдЧ рдЦрд╛рд▓реА рд╣реИ, рддреЛ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡ рд╣реИрдВ:
- рд╕рд╣реА рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдкреЙрдбреНрд╕ рдирд╣реАрдВ рд╣реИрдВ (рд╕рдВрдХреЗрдд: рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдирд╛рдо рд╕реНрдерд╛рди рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ);
- рдЪрдпрдирдХрд░реНрддрд╛ рдореЗрдВ рд╕реЗрд╡рд╛ рд▓реЗрдмрд▓ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИред
рдпрджрд┐ рдЖрдк рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреА рд╕реВрдЪреА рджреЗрдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдкрд░рд╛рдзреА рд╕реЗрд╡рд╛ рд╡рд┐рд╡рд░рдг рдореЗрдВ
targetPort
рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реИред
рд╕реЗрд╡рд╛ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХреИрд╕реЗ рдХрд░реЗрдВ?рд╕реЗрд╡рд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЖрдк рдЗрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
kubectl port-forward
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
kubectl port-forward service/<service-name> 3000:80
рдпрд╣рд╛рдВ:
<service-name>
- рд╕реЗрд╡рд╛ рдХрд╛ рдирд╛рдо;- 3000 - рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЦреБрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдкреЛрд░реНрдЯ;
- 80 - рд╕реЗрд╡рд╛ рдкрдХреНрд╖ рдкрд░ рдкреЛрд░реНрдЯред
3. рдЗрдирдЧреНрд░реЗрд╕ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕
рдпрджрд┐ рдЖрдк рдЗрд╕ рдЬрдЧрд╣ рддрдХ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ:
- рдкреЙрдбреНрд╕ рдХреЛ
Running
рдФрд░ Ready
рд░реВрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; - рд╕реЗрд╡рд╛ рдкреЙрдбреНрд╕ рдХреЗ рдмреАрдЪ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╡рд┐рддрд░рд┐рдд рдХрд░рддреА рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рдЕрднреА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ "рдирд╣реАрдВ рдкрд╣реБрдВрдЪ" рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЗрдирдЧреНрд░реЗрдб рдХрдВрдЯреНрд░реЛрд▓рд░ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЗрдирдЧреНрд░реЗрдб рдХрдВрдЯреНрд░реЛрд▓рд░ рдПрдХ рдерд░реНрдб рдкрд╛рд░реНрдЯреА рдХрдВрдкреЛрдиреЗрдВрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдЗрдирдЧреНрд░реЗрдб рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рдмрд╣реБрдд рд╕рд░рд▓ рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
serviceName
рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП
serviceName
рдФрд░
servicePort
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдЖрдкрдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
kubectl describe ingress <ingress-name>
рдпрджрд┐
Backend
рдХреЙрд▓рдо рдЦрд╛рд▓реА рд╣реИ, рддреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддреНрд░реБрдЯрд┐ рдХреА рдПрдХ рдЙрдЪреНрдЪ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдпрджрд┐ рдмреИрдХрдПрдВрдб рдХреА рдЬрдЧрд╣ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдирд┐рдореНрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИ:
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдкреНрд░рд╡реЗрд╢ рдкрд╣реБрдВрдЪ рд╕реЗрдЯрд┐рдВрдЧреНрд╕;
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ред
рдЖрдк рд╕реАрдзреЗ Ingress рдкреЙрдб рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдЗрдирдЧреНрд░реЗрдб рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреА рдкреЙрдб рдвреВрдВрдвреЗрдВ (рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ):
kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS kube-system coredns-5644d7b6d9-jn7cq 1/1 Running kube-system etcd-minikube 1/1 Running kube-system kube-apiserver-minikube 1/1 Running kube-system kube-controller-manager-minikube 1/1 Running kube-system kube-proxy-zvf2h 1/1 Running kube-system kube-scheduler-minikube 1/1 Running kube-system nginx-ingress-controller-6fc5bcc 1/1 Running
рдкреЛрд░реНрдЯ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
describe
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
kubectl describe pod nginx-ingress-controller-6fc5bcc --namespace kube-system \ | grep Ports
рдЕрдВрдд рдореЗрдВ, рдлрд▓реА рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ:
kubectl port-forward nginx-ingress-controller-6fc5bcc 3000:80 --namespace kube-system
рдЕрдм рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдкреЛрд░реНрдЯ 3000 рдХреЗ рд▓рд┐рдП рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ 80 рдкреЙрдб рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХреНрдпрд╛ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?- рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рд╣реИред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреИрд╕реЗ рд░реВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдЗрдирдЧреНрд░реЗрдб рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдЧреНрд░реЗрдб рдХрдВрдЯреНрд░реЛрд▓рд░ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрдирдЧреНрд░реЗрдб рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреА рдХрдИ рдХрд┐рд╕реНрдореЗрдВ рд╣реИрдВред рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВ рдиреЗрдЧреНрдиреЗрдХреНрд╕, рд╣реИрдкреНрд░реЛрд╕реА, рдЯреНрд░реИрдлрд┐рдХ, рдЖрджрд┐
(рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ - рд▓рдЧрднрдЧ - рдЕрдиреБрд╡рд╛рдж рджреЗрдЦреЗрдВред) рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдЧрд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЪреВрдВрдХрд┐
Ingress Nginx рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп Ingress рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИред
рдбрд┐рдмрдЧрд┐рдВрдЧ рдПрдХ Ingin Nginx рдирд┐рдпрдВрддреНрд░рдХ
Ingress-nginx рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ
kubectl рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ
рдкреНрд▓рдЧрдЗрди рд╣реИ ред
kubectl ingress-nginx
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рд▓реЙрдЧ, рдмреИрдХрдПрдВрдб, рдкреНрд░рдорд╛рдг рдкрддреНрд░, рдЖрджрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг;
- рдХрд╛рдВрдЧреНрд░реЗрд╕ рд╕реЗ рд╕рдВрдмрдВрдз;
- рд╡рд░реНрддрдорд╛рди рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЕрдзреНрдпрдпрдиред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреАрди рдЯреАрдореЗрдВ рдЗрд╕рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдВрдЧреА:
kubectl ingress-nginx lint
nginx.conf
- рдЪреЗрдХ nginx.conf
;kubectl ingress-nginx backend
- kubectl ingress-nginx backend
рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ ( kubectl describe ingress <ingress-name>
рд╕рдорд╛рди рд╣реИ kubectl describe ingress <ingress-name>
);kubectl ingress-nginx logs
- рдЪреЗрдХ рд▓реЙрдЧред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ
--namespace <name>
flag рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
--namespace <name>
рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдиреЗрдорд╕реНрдкреЗрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕рд╛рд░рд╛рдВрд╢
рдпрджрд┐ рдЖрдкрдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд╣рд╛рдВ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдирд┐рджрд╛рди рдХрд░рдирд╛ рдПрдХ рдХрдард┐рди рдХрд╛рдо рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рдореЗрд╢рд╛ рдиреАрдЪреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рдкреЙрдбреНрд╕ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рд╕реЗрд╡рд╛ рдФрд░ рдЗрдирдЧреНрд░реЗрдб рдкрд░ рдЬрд╛рдПрдВред рдЖрд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдбреАрдмрдЧрд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ:
- рдирд┐рд╖реНрдХреНрд░рд┐рдп рдиреМрдХрд░рд┐рдпрд╛рдВ рдФрд░ рдХреНрд░реЛрдирдЬреЙрдмреНрд╕;
- рд╕реНрдЯреЗрдЯрдлреБрд▓рд╕реЗрдЯреНрд╕ рдФрд░ рдбреЗрдордирд╕реЗрдЯреНрд╕ред
рдмрд╣реБрдореВрд▓реНрдп рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрдзрди рдХреЗ рд▓рд┐рдП
рдЧреЗрд░реНрдЧрд▓реА рд░рд┐рд╕реНрдХреЛ ,
рдбреИрдирд┐рдпрд▓ рд╡реАрдмреЗрд▓ рдФрд░
рдЪрд╛рд░реНрд▓реНрд╕ рдХреНрд░рд┐рд╕реНрдЯрд┐рдпрд░рд╛рдЬ рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред
рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ рдкреА.рдПрд╕.
рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдореЗрдВ рднреА рдкрдврд╝реЗрдВ: