RabbitMQ рдЪреЗ Kubernetes рдордзреНрдпреЗ рдЕрдЦрдВрдб рд╕реНрдерд▓рд╛рдВрддрд░

RabbitMQ рдЪреЗ Kubernetes рдордзреНрдпреЗ рдЕрдЦрдВрдб рд╕реНрдерд▓рд╛рдВрддрд░

RabbitMQ рд╣рд╛ Erlang рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░ рдЖрд╣реЗ рдЬреЛ рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХрд╛рдзрд┐рдХ рдиреЛрдбреНрд╕рд╡рд░ рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рдХреГрддреАрд╕рд╣ рдПрдХ рдлреЗрд▓рдУрд╡реНрд╣рд░ рдХреНрд▓рд╕реНрдЯрд░ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЛ, рдЬреЗрдереЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рд╡рд┐рдирдВрддреНрдпрд╛ рд╡рд╛рдЪреВ рдЖрдгрд┐ рд▓рд┐рд╣реВ рд╢рдХрддреЛ. рдЙрддреНрдкрд╛рджрди рдСрдкрд░реЗрд╢рдирдордзреНрдпреЗ рдЕрдиреЗрдХ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдЕрд╕рд▓реНрдпрд╛рдореБрд│реЗ, рдЖрдореНрд╣реА рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ RabbitMQ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рдирд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЛ рдЖрдгрд┐ рдбрд╛рдЙрдирдЯрд╛рдЗрдорд╢рд┐рд╡рд╛рдп рдбреЗрдЯрд╛ рдПрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреВрди рджреБрд╕рд░реНтАНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рд╣реЛрддреА.

рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд┐рдорд╛рди рджреЛрди рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рдпрд╛ рдСрдкрд░реЗрд╢рдирдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:

  1. Kubernetes рдордзреНрдпреЗ рдирд╕рд▓реЗрд▓реНрдпрд╛ RabbitMQ рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рдбреЗрдЯрд╛ рдирд╡реАрди тАУ рдЖрдзреАрдЪ тАЬkubernetizedтАЭ (рдореНрд╣рдгрдЬреЗ K8s рдкреЙрдбреНрд╕рдордзреНрдпреЗ рдХрд╛рд░реНрдпрд░рдд) тАУ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреЗ.
  2. рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреАрд▓ рд░реЕрдмрд┐рдЯрдПрдордХреНрдпреВрдЪреЗ рдПрдХрд╛ рдиреЗрдорд╕реНрдкреЗрд╕рдордзреВрди рджреБрд╕-рдпрд╛ рдиреЗрдорд╕реНрдкреЗрд╕рдордзреНрдпреЗ рд╕реНрдерд▓рд╛рдВрддрд░рдг (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕рджреНрд╡рд╛рд░реЗ рд╕рд░реНрдХрд┐рдЯреНрд╕рдЪреЗ рд╕реАрдорд╛рдВрдХрди рдХреЗрд▓реЗ рдЕрд╕реЗрд▓, рддрд░ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдПрдХрд╛ рд╕рд░реНрдХрд┐рдЯрдордзреВрди рджреБрд╕рд▒реНрдпрд╛ рд╕рд░реНрдХрд┐рдЯрдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА).

рд▓реЗрдЦрд╛рдд рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓реЗрд▓реА рд░реЗрд╕рд┐рдкреА рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрд╡рд░ рдХреЗрдВрджреНрд░рд┐рдд рдЖрд╣реЗ (рдкрд░рдВрддреБ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдкреБрд░рддреЗрдЪ рдорд░реНрдпрд╛рджрд┐рдд рдирд╛рд╣реА) рдЬреНрдпрд╛рдордзреНрдпреЗ рдПрдХ рдЬреБрдирд╛ RabbitMQ рдХреНрд▓рд╕реНрдЯрд░ рдЖрд╣реЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, 3 рдиреЛрдбреНрд╕рдЪрд╛), рдПрдХрддрд░ рдЖрдзреАрдкрд╛рд╕реВрди K8 рдордзреНрдпреЗ рдХрд┐рдВрд╡рд╛ рдХрд╛рд╣реА рдЬреБрдиреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЖрд╣реЗ. Kubernetes рд╡рд░ рд╣реЛрд╕реНрдЯ рдХреЗрд▓реЗрд▓рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ (рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдЖрд╣реЗ рдХрд┐рдВрд╡рд╛ рднрд╡рд┐рд╖реНрдпрд╛рдд) рддреНрдпрд╛рдЪреНрдпрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддреЛ:

RabbitMQ рдЪреЗ Kubernetes рдордзреНрдпреЗ рдЕрдЦрдВрдб рд╕реНрдерд▓рд╛рдВрддрд░

... рдЖрдгрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕рдордзреАрд▓ рдирд╡реАрди рдЙрддреНрдкрд╛рджрдирд╛рдордзреНрдпреЗ рддреЗ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреЗ рдХрд╛рд░реНрдп рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЖрд╣реЗ.

рдкреНрд░рдердо, рд╕реНрдерд▓рд╛рдВрддрд░рд╛рдЪрд╛ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрди рд╕реНрд╡рддрдГрдЪ рд╡рд░реНрдгрди рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░ рддреНрдпрд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рддрд╛рдВрддреНрд░рд┐рдХ рддрдкрд╢реАрд▓ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓.

рд╕реНрдерд▓рд╛рдВрддрд░ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо

рдХреЛрдгрддреНрдпрд╛рд╣реА рдХреГрддреАрдкреВрд░реНрд╡реАрдЪрд╛ рдкрд╣рд┐рд▓рд╛, рдкреНрд░рд╛рдердорд┐рдХ, рдЯрдкреНрдкрд╛ рдореНрд╣рдгрдЬреЗ рдЬреБрдиреНрдпрд╛ RabbitMQ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рдирдордзреНрдпреЗ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдореЛрдб рд╕рдХреНрд╖рдо рдЖрд╣реЗ рд╣реЗ рддрдкрд╛рд╕рдгреЗ (HA). рдХрд╛рд░рдг рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ - рдЖрдореНрд╣реА рдХреЛрдгрддрд╛рд╣реА рдбреЗрдЯрд╛ рдЧрдорд╛рд╡реВ рдЗрдЪреНрдЫрд┐рдд рдирд╛рд╣реА. рд╣реА рддрдкрд╛рд╕рдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА RabbitMQ рдЕреЕрдбрдорд┐рди рдкреЕрдирд▓рд╡рд░ рдЬрд╛рдК рд╢рдХрддрд╛ рдЖрдгрд┐ рдЕреЕрдбрдорд┐рди тЖТ рдкреЙрд▓рд┐рд╕реАрдЬ рдЯреЕрдмрдордзреНрдпреЗ рдореВрд▓реНрдп рд╕реЗрдЯ рдХреЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рд╛. ha-mode: all:

RabbitMQ рдЪреЗ Kubernetes рдордзреНрдпреЗ рдЕрдЦрдВрдб рд╕реНрдерд▓рд╛рдВрддрд░

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

рдпрд╛рдирдВрддрд░, рдЖрдореНрд╣реА рдЬреБрдиреЗ рдЖрдгрд┐ рдирд╡реАрди RabbitMQ рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдПрдХрддреНрд░ рдХрд░рддреЛ, рдПрдХрдЪ рдХреНрд▓рд╕реНрдЯрд░ (6 рдиреЛрдбреНрд╕рдЪрд╛):

RabbitMQ рдЪреЗ Kubernetes рдордзреНрдпреЗ рдЕрдЦрдВрдб рд╕реНрдерд▓рд╛рдВрддрд░

рдЬреБрдиреНрдпрд╛ рдЖрдгрд┐ рдирд╡реАрди RabbitMQ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдордзреАрд▓ рдбреЗрдЯрд╛ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рдирдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реВ рдХреЗрд▓реА рдЖрд╣реЗ. рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рд╕рд░реНрд╡ рдиреЛрдбреНрд╕рдордзреНрдпреЗ рд╕рд░реНрд╡ рдбреЗрдЯрд╛ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭ рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░, рдЖрдореНрд╣реА рдирд╡реАрди рдХреНрд▓рд╕реНрдЯрд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрд╡рд┐рдЪ рдХрд░реВ рд╢рдХрддреЛ:

RabbitMQ рдЪреЗ Kubernetes рдордзреНрдпреЗ рдЕрдЦрдВрдб рд╕реНрдерд▓рд╛рдВрддрд░

рдпрд╛ рдСрдкрд░реЗрд╢рдиреНрд╕рдирдВрддрд░, рд░реЕрдмрд┐рдЯрдПрдордХреНрдпреВ рдХреНрд▓рд╕реНрдЯрд░рдордзреВрди рдЬреБрдиреЗ рдиреЛрдбреНрд╕ рдХрд╛рдврдгреЗ рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд╣рд▓рд╡рд┐рдгреЗ рдкреВрд░реНрдг рдорд╛рдирд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ:

RabbitMQ рдЪреЗ Kubernetes рдордзреНрдпреЗ рдЕрдЦрдВрдб рд╕реНрдерд▓рд╛рдВрддрд░

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

рдЪрд▓рд╛ рд╕рд░рд╛рд╡рд╛рдиреЗ рдкреНрд░рдпрддреНрди рдХрд░реВрдпрд╛

рдЖрд╡рд╢реНрдпрдХрддрд╛

рддрдкрд╢реАрд▓ рдЦреВрдк рд╕реЛрдкреЗ рдЖрд╣реЗрдд:

  1. рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ (рдорд┐рдиреАрдХреНрдпреВрдм рджреЗрдЦреАрд▓ рдХрд╛рд░реНрдп рдХрд░реЗрд▓);
  2. RabbitMQ рдХреНрд▓рд╕реНрдЯрд░ (рдмреЗрдЕрд░ рдореЗрдЯрд▓рд╡рд░ рдЙрдкрдпреЛрдЬрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдЖрдгрд┐ рдЕрдзрд┐рдХреГрдд рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯрд╡рд░реВрди Kubernetes рдордзреНрдпреЗ рдирд┐рдпрдорд┐рдд рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рд░рдЦреЗ рдмрдирд╡рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ).

рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рд╕рд╛рдареА, рдореА Kubernetes рд╡рд░ RMQ рддреИрдирд╛рдд рдХреЗрд▓реЗ рдЖрдгрд┐ рддреЗ рдХреЙрд▓ рдХреЗрд▓реЗ rmq-old.

рдЙрднреЗ рд░рд╛рд╣рд╛ рддрдпрд╛рд░реА

1. рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛ рдЖрдгрд┐ рдереЛрдбрд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛:

helm fetch --untar stable/rabbitmq-ha

рд╕реЛрдпреАрд╕рд╛рдареА, рдЖрдореНрд╣реА рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░рддреЛ, ErlangCookie рдЖрдгрд┐ рд░рд╛рдЬрдХрд╛рд░рдг рдХрд░рд╛ ha-allрдЬреЗрдгреЗрдХрд░реВрди рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд░рд╛рдВрдЧрд╛ RMQ рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдиреЛрдбреНрд╕рдордзреНрдпреЗ рд╕рдордХреНрд░рдорд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддреАрд▓:

rabbitmqPassword: guest
rabbitmqErlangCookie: mae9joopaol7aiVu3eechei2waiGa2we
definitions:
policies: |-
  {
    "name": "ha-all",
    "pattern": ".*",
    "vhost": "/",
    "definition": {
      "ha-mode": "all",
      "ha-sync-mode": "automatic",
      "ha-sync-batch-size": 81920
    }
  }

2. рдЪрд╛рд░реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛:

helm install . --name rmq-old --namespace rmq-old

3. RabbitMQ рдкреНрд░рд╢рд╛рд╕рди рдкреЕрдиреЗрд▓рд╡рд░ рдЬрд╛, рдПрдХ рдирд╡реАрди рд░рд╛рдВрдЧ рддрдпрд╛рд░ рдХрд░рд╛ рдЖрдгрд┐ рдЕрдиреЗрдХ рд╕рдВрджреЗрд╢ рдЬреЛрдбрд╛. рддреНрдпрд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓ рдЬреЗрдгреЗрдХрд░реВрди рд╕реНрдерд▓рд╛рдВрддрд░рд╛рдирдВрддрд░ рдЖрдореНрд╣реА рдЦрд╛рддреНрд░реА рдХрд░реВ рд╢рдХреВ рдХреА рд╕рд░реНрд╡ рдбреЗрдЯрд╛ рдЬрддрди рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдореНрд╣реА рдХрд╛рд╣реАрд╣реА рдЧрдорд╛рд╡рд▓реЗ рдирд╛рд╣реА:

RabbitMQ рдЪреЗ Kubernetes рдордзреНрдпреЗ рдЕрдЦрдВрдб рд╕реНрдерд▓рд╛рдВрддрд░

рдЪрд╛рдЪрдгреА рдЦрдВрдбрдкреАрда рддрдпрд╛рд░ рдЖрд╣реЗ: рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдбреЗрдЯрд╛рд╕рд╣ "рдЬреБрдирд╛" RabbitMQ рдЖрд╣реЗ рдЬреЛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

RabbitMQ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рдд рдЖрд╣реЗ

1. рдкреНрд░рдердо, рдирд╡реАрди RabbitMQ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░реВрдпрд╛ рдорд┐рддреНрд░ рд╕рд╣ рдиреЗрдорд╕реНрдкреЗрд╕ рддреНрдпрд╛рдЪ ErlangCookie рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕рд╛рдареА рдкрд╛рд╕рд╡рд░реНрдб. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд░реВ, RMQ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдВрддрд┐рдо рдЖрджреЗрд╢ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдмрджрд▓реВ:

helm install . --name rmq-new --namespace rmq-new

2. рдЖрддрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдирд╡реАрди рдХреНрд▓рд╕реНрдЯрд░ рдЬреБрдиреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╡рд┐рд▓реАрди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдкреНрд░рддреНрдпреЗрдХ рд╢реЗрдВрдЧрд╛ рдЬрд╛ рдирд╡реАрди RabbitMQ рдЖрдгрд┐ рдЖрдЬреНрдЮрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рд╛:

export OLD_RMQ=rabbit@rmq-old-rabbitmq-ha-0.rmq-old-rabbitmq-ha-discovery.rmq-old.svc.cluster.local && 
  rabbitmqctl stop_app && 
  rabbitmqctl join_cluster $OLD_RMQ && 
  rabbitmqctl start_app

рдЪрд▓ рдордзреНрдпреЗ OLD_RMQ рдПрдХрд╛ рдиреЛрдбрдЪрд╛ рдкрддреНрддрд╛ рд╕рд╛рдкрдбрддреЛ рдЬреБрдиреНрдпрд╛ RMQ рдХреНрд▓рд╕реНрдЯрд░.

рд╣реЗ рдЖрджреЗрд╢ рд╡рд░реНрддрдорд╛рди рдиреЛрдб рдерд╛рдВрдмрд╡рддреАрд▓ рдирд╡реАрди RMQ рдХреНрд▓рд╕реНрдЯрд░, рддреЗ рдЬреБрдиреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рд╢реА рд╕рдВрд▓рдЧреНрди рдХрд░рд╛ рдЖрдгрд┐ рддреЗ рдкреБрдиреНрд╣рд╛ рд▓рд╛рдБрдЪ рдХрд░рд╛.

3. 6 рдиреЛрдбреНрд╕рдЪрд╛ RMQ рдХреНрд▓рд╕реНрдЯрд░ рддрдпрд╛рд░ рдЖрд╣реЗ:

RabbitMQ рдЪреЗ Kubernetes рдордзреНрдпреЗ рдЕрдЦрдВрдб рд╕реНрдерд▓рд╛рдВрддрд░

рд╕рд░реНрд╡ рдиреЛрдбреНрд╕ рджрд░рдореНрдпрд╛рди рд╕рдВрджреЗрд╢ рд╕рдордХреНрд░рдорд┐рдд рд╣реЛрдИрдкрд░реНрдпрдВрдд рдЖрдкрдг рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдореЗрд╕реЗрдЬ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рд╡реЗрд│ рдЬреНрдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ рдЙрдкрдпреЛрдЬрд┐рдд рдЖрд╣реЗ рддреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрд╡рд░ рдЖрдгрд┐ рдореЗрд╕реЗрдЬрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ рдпрд╛рдЪрд╛ рдЕрдВрджрд╛рдЬ рд▓рд╛рд╡рдгреЗ рдЕрд╡рдШрдб рдирд╛рд╣реА. рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдордзреНрдпреЗ, рддреНрдпрд╛рдкреИрдХреА рдлрдХреНрдд 10 рдЖрд╣реЗрдд, рдореНрд╣рдгреВрди рдбреЗрдЯрд╛ рддреНрд╡рд░рд┐рдд рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рд╣реЛрддрд╛, рдкрд░рдВрддреБ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рд╕рдВрджреЗрд╢рд╛рдВрд╕рд╣, рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рддрд╛рд╕рд╛рдВрдкрд░реНрдпрдВрдд рдЯрд┐рдХреВ рд╢рдХрддреЗ.

рддрд░, рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рд╕реНрдерд┐рддреА:

RabbitMQ рдЪреЗ Kubernetes рдордзреНрдпреЗ рдЕрдЦрдВрдб рд╕реНрдерд▓рд╛рдВрддрд░

рддреЛ рдЖрд╣реЗ +5 рдореНрд╣рдгрдЬреЗ рд╕рдВрджреЗрд╢ рдЖрдзреАрдЪ рдЖрдд рдЖрд╣реЗрдд рдЕрдзрд┐рдХ 5 рдиреЛрдбреНрд╕рд╡рд░ (рдлреАрд▓реНрдбрдордзреНрдпреЗ рдЬреЗ рд╕реВрдЪрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рддреЗ рд╡рдЧрд│рддрд╛ Node). рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реЗ.

4. рдлрдХреНрдд рдПрд╡рдврдВрдЪ рдЙрд░рд▓реЗ рдЖрд╣реЗ рдХреА рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреАрд▓ RMQ рдЕреЕрдбреНрд░реЗрд╕рд▓рд╛ рдирд╡реАрди рдХреНрд▓рд╕реНрдЯрд░рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдгреЗ (рдпреЗрдереЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд░рд┐рдпрд╛ рддреБрдореНрд╣реА рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЯреЗрдХреНрдиреЙрд▓реЙрдЬреА рд╕реНрдЯреЕрдХрд╡рд░ рдЖрдгрд┐ рдЗрддрд░ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдиреНрд╕рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддрд╛рдд), рддреНрдпрд╛рдирдВрддрд░ рддреБрдореНрд╣реА рдЬреБрдиреНрдпрд╛рд▓рд╛ рдЕрд▓рд╡рд┐рджрд╛ рдореНрд╣рдгреВ рд╢рдХрддрд╛.

рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирд╕рд╛рдареА (рдореНрд╣рдгрдЬреЗ рдЖрдзреАрдЪ ╨┐╨╛╤Б╨╗╨╡ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирд▓рд╛ рдирд╡реАрди рдХреНрд▓рд╕реНрдЯрд░рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдгреЗ) рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╡рд░ рдЬрд╛ рдЬреБрдиреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рдХрдорд╛рдВрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рд╛:

rabbitmqctl stop_app
rabbitmqctl reset

рдЬреБрдиреНрдпрд╛ рдиреЛрдбреНрд╕рдмрджреНрджрд▓ рдХреНрд▓рд╕реНрдЯрд░ "рд╡рд┐рд╕рд░рд▓рд╛": рддреБрдореНрд╣реА рдЬреБрдиреЗ RMQ рд╣рдЯрд╡реВ рд╢рдХрддрд╛, рдЬреНрдпрд╛ рд╡реЗрд│реА рд╣рд▓рд╡рд╛ рдкреВрд░реНрдг рд╣реЛрдИрд▓.

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

рдирд┐рд╖реНрдХрд░реНрд╖

рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реА рдпреЛрдЬрдирд╛ рдЬрд╡рд│рдЬрд╡рд│ рд╕рд░реНрд╡ рдкреНрд░рдХрд░рдгрд╛рдВрд╕рд╛рдареА рдпреЛрдЧреНрдп рдЖрд╣реЗ рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣рд╛рд▓рд╛ RabbitMQ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХрд┐рдВрд╡рд╛ рдлрдХреНрдд рдирд╡реАрди рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЬрд╛рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ.

рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдЕрдбрдЪрдгреА рдлрдХреНрдд рдПрдХрджрд╛рдЪ рдЙрджреНрднрд╡рд▓реНрдпрд╛, рдЬреЗрд╡реНрд╣рд╛ рдЕрдиреЗрдХ рдард┐рдХрд╛рдгрд╛рдВрд╣реВрди RMQ рдНрдХреНрд╕реЗрд╕ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд░реНрд╡рддреНрд░ RMQ рдкрддреНрддрд╛ рдмрджрд▓реВрди рдирд╡реАрди рдХрд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдорд┐рд│рд╛рд▓реА рдирд╛рд╣реА. рдордЧ рдЖрдореНрд╣реА рддреНрдпрд╛рдЪ рдиреЗрдорд╕реНрдкреЗрд╕рдордзреНрдпреЗ рд╕рдорд╛рди рд▓реЗрдмрд▓рд╛рдВрд╕рд╣ рдПрдХ рдирд╡реАрди RMQ рд▓рд╛рдБрдЪ рдХреЗрд▓рд╛ рдЬреЗрдгреЗрдХрд░реБрди рддреЗ рд╡рд┐рджреНрдпрдорд╛рди рд╕реЗрд╡рд╛ рдЖрдгрд┐ рдкреНрд░рд╡реЗрд╢рд╛рдЪреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд рдпреЗрдИрд▓ рдЖрдгрд┐ рдкреЙрдб рд▓рд╛рдБрдЪ рдХрд░рддрд╛рдирд╛ рдЖрдореНрд╣реА рд▓реЗрдмрд▓реЗ рд╣рд╛рддрд╛рдиреЗ рд╣рд╛рддрд╛рд│рд▓реА, рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рддреА рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реА рдЬреЗрдгреЗрдХрд░реВрди рд╡рд┐рдирдВрддреНрдпрд╛ рдпреЗрдгрд╛рд░ рдирд╛рд╣реАрдд. рд░рд┐рдХреНрдд RMQ, рдЖрдгрд┐ рд╕рдВрджреЗрд╢ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭ рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рддреЗ рдкрд░рдд рдЬреЛрдбрдгреЗ.

рдмрджрд▓рд▓реЗрд▓реНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирд╕рд╣ рдирд╡реАрди рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ RabbitMQ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рддрд╛рдирд╛ рдЖрдореНрд╣реА рд╕рдорд╛рди рдзреЛрд░рдг рд╡рд╛рдкрд░рд▓реЗ - рд╕рд░реНрд╡рдХрд╛рд╣реА рдШрдбреНрдпрд╛рд│рд╛рд╕рд╛рд░рдЦреЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ.

PS

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

рдкреАрдкреАрдПрд╕

рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛:

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛