āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻāĻ‡ āĻŦāĻ›āĻ°, āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ‡āĻ‰āĻ°ā§‹āĻĒā§€āĻ¯āĻŧ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ¸āĻŽā§āĻŽā§‡āĻ˛āĻ¨ - KubeCon + CloudNativeCon Europe 2020 - āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ›āĻŋāĻ˛āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻŋāĻ¤ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ§āĻž āĻĻā§‡āĻ¯āĻŧāĻ¨āĻŋ “āĻ¯āĻžāĻ“? āĻŦāĻžāĻļ ! āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ“āĻĒā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡ āĻ¨āĻŋāĻŦā§‡āĻĻāĻŋāĻ¤ āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°.

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ, āĻ†āĻ˛ā§‹āĻšāĻ¨āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻ¨ā§āĻĒā§āĻ°āĻžāĻŖāĻŋāĻ¤, āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻšāĻœ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻœā§‡āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻĒāĻ°āĻŋāĻšāĻ¯āĻŧ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻšā§āĻ›ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ā§‡āĻ° āĻ­āĻŋāĻĄāĻŋāĻ“ (āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋāĻ¤ā§‡ ~23 āĻŽāĻŋāĻ¨āĻŋāĻŸ, āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ˛āĻ•ā§āĻˇāĻŖā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ†āĻ°āĻ“ āĻ¤āĻĨā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ) āĻāĻŦāĻ‚ āĻĒāĻžāĻ ā§āĻ¯ āĻ†āĻ•āĻžāĻ°ā§‡ āĻāĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻŽā§‚āĻ˛ āĻ¨āĻŋāĻ°ā§āĻ¯āĻžāĻ¸āĨ¤ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž!

āĻĢā§āĻ˛āĻžāĻ¨ā§āĻŸā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻāĻŦāĻ‚ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻœ āĻ†āĻŽāĻ°āĻž āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻ¤ā§āĻ¤ā§‡āĻœāĻ¨āĻžāĻĒā§‚āĻ°ā§āĻŖ āĻ§āĻžāĻ°āĻŖāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤ āĻ¸āĻŽā§āĻŽā§‡āĻ˛āĻ¨: āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ-āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻļā§‡āĻ˛ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŋāĻ‚!

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻ¸ā§āĻ¨ āĻ¸ā§‡āĻ‡ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ‡ āĻ¸āĻŦ āĻ˜āĻŸā§‡: āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸āĨ¤

āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻāĻĒāĻŋāĻ†āĻ‡ āĻāĻŦāĻ‚ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°

Kubernetes-āĻ API-āĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¸āĻš āĻāĻ• āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻŦāĻ¸ā§āĻ¤ā§ (āĻ¸āĻŽā§āĻĒāĻĻ) YAML āĻĢāĻžāĻ‡āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• API āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ:

  • āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻĒāĻĻ āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻ•āĻžāĻ° āĻāĻŦāĻ‚ āĻ¨āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž;
  • āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ (āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° "āĻ¸āĻ āĻŋāĻ•" āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§‡ - āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ­ā§āĻ˛āĻ­āĻžāĻŦā§‡ āĻ—āĻ āĻŋāĻ¤ āĻŦāĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ);
  • āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ (āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ¤āĻžāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨/āĻšāĻžāĻ˛āĻ¨āĻžāĻ—āĻžāĻĻ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡)āĨ¤

āĻāĻ‡āĻ­āĻžāĻŦā§‡, Kubernetes āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ (YAML āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯) āĻāĻ• āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ (āĻšā§āĻ¯āĻžāĻ, āĻ†āĻ¸āĻ˛ā§‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ†āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻĻ āĻĻā§‡āĻŦ)āĨ¤

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ¯ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻžāĻŽāĻ• - āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§‡āĻ° āĻŦāĻŋāĻļā§āĻŦā§‡āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻāĻŦāĻ‚ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ§āĻžāĻ°āĻŖāĻžāĨ¤

āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻ†āĻ›ā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋ Kubernetes āĻĨā§‡āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ¨ā§‡āĻ¯āĻŧ, āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ˛āĻœāĻŋāĻ• āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ K8s āĻ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ Kubernetes āĻĨā§‡āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ¨ā§‡āĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§, āĻĒā§āĻ°āĻĨāĻŽ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĨā§‡āĻ•ā§‡ āĻ­āĻŋāĻ¨ā§āĻ¨, āĻ•āĻŋāĻ›ā§ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻ˜āĻ¨āĻŋāĻˇā§āĻ āĻ­āĻžāĻŦā§‡ āĻĻā§‡āĻ–ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•:

  • āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻ• (āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ kube-controller-manager) āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ ReplicaSet āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤
  • ReplicaSet āĻāĻ‡ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻĻā§āĻŸāĻŋ āĻ°ā§‡āĻĒā§āĻ˛āĻŋāĻ•āĻž (āĻĻā§āĻŸāĻŋ āĻĒāĻĄ) āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ āĻĒāĻĄāĻ—ā§āĻ˛āĻŋ āĻāĻ–āĻ¨āĻ“ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤
  • āĻļāĻŋāĻĄāĻŋāĻ‰āĻ˛āĻ•āĻžāĻ°ā§€ āĻĒāĻĄā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° YAML-āĻ āĻ¨ā§‹āĻĄ āĻ¤āĻĨā§āĻ¯ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĨ¤
  • āĻ•ā§āĻŦā§‡āĻ˛ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ (āĻĄāĻ•āĻžāĻ° āĻŦāĻ˛ā§āĻ¨)āĨ¤

āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ‡ āĻĒā§āĻ°ā§‹ āĻ•ā§āĻ°āĻŽāĻŸāĻŋ āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ āĻ•ā§āĻ°āĻŽā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻšāĻ¯āĻŧ: āĻ•ā§āĻŦā§‡āĻ˛ā§‡āĻŸ āĻĒāĻžāĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡, āĻĒāĻĄā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤ ReplicaSet āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻĒāĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ°ā§‡āĻĒā§āĻ˛āĻŋāĻ•āĻž āĻ¸ā§‡āĻŸā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§‡āĨ¤ āĻĄāĻŋāĻĒā§āĻ˛āĻ¯āĻŧāĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ‡ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ˜āĻŸā§‡ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ…āĻŦāĻļā§‡āĻˇā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ (āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨) āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĒāĻžāĻ¯āĻŧāĨ¤

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°

āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡ āĻ¯ā§‡ Kubernetes āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡āĻ° āĻ¯ā§ŒāĻĨ āĻ•āĻžāĻœā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ (Kubernetes āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°āĻ°āĻžāĻ“ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻ•)āĨ¤ āĻĒā§āĻ°āĻļā§āĻ¨ āĻœāĻžāĻ—ā§‡, āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻœā§‡āĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨? āĻāĻŦāĻ‚ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻžāĻ•ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¸ā§‡ āĻ‰āĻĻā§āĻ§āĻžāĻ°ā§‡ āĻ†āĻ¸ā§‡ āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°. āĻāĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻŸā§āĻ°ā§‡āĻŸāĻ°āĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻ¸āĻšāĻœ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ: āĻ—ā§‹āĻĒāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž

āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¤āĻžāĻ•āĻžāĻ¨.

āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ Kubernetes āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ†āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ†āĻ›ā§‡ default āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸āĻŋāĻ•ā§āĻ°ā§‡āĻŸ mysecret. āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻ†āĻ›ā§‡. āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻšāĻ˛ āĻ¸āĻŋāĻ•ā§āĻ°ā§‡āĻŸāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻ¸āĻš āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻžāĨ¤

āĻ•āĻžāĻœāĻŸāĻŋ āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡ āĻœāĻŸāĻŋāĻ˛ āĻ¯ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§āĻ¤ā§‡ āĻāĻ‡ āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻĻāĻŋāĻ•ā§‡, āĻ¯āĻ–āĻ¨ āĻ˛ā§‡āĻŦā§‡āĻ˛āĻŸāĻŋ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ āĻ¸āĻŋāĻ•ā§āĻ°ā§‡āĻŸāĻŸāĻŋāĻ“ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻāĻŸāĻŋ āĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ¸āĻŋāĻ•ā§āĻ°ā§‡āĻŸ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡: āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻŋāĻ•ā§āĻ°ā§‡āĻŸāĻŸāĻŋ āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ¸āĻŋāĻ•ā§āĻ°ā§‡āĻŸ āĻĻā§āĻ°ā§āĻ˜āĻŸāĻ¨āĻžāĻ•ā§āĻ°āĻŽā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻāĻ–āĻ¨ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ•āĻžāĻœāĻŸāĻŋ āĻĒā§āĻ°āĻŖāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŸāĻŋ āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻ¤āĻŦā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻļāĻŦā§āĻĻ āĻŦāĻ˛āĻž āĻŽā§‚āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨āĨ¤

āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡

āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§‡āĻ° āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ•āĻžāĻœā§‡āĻ° āĻšāĻžāĻĒā§‡āĻ° āĻŽāĻ¤ā§‹, āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¤āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻĒāĻĄā§‡ āĻšāĻ˛ā§‡āĨ¤ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ‡ āĻĒāĻĄ /hooks āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻžāĻļ, āĻĒāĻžāĻ‡āĻĨāĻ¨, āĻ°ā§āĻŦāĻŋ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛āĻ•ā§‡ āĻšā§āĻ• āĻŦāĻ˛āĻŋ (āĻ†āĻ™ā§āĻ—ā§āĻ˛āĻ¸āĻŽā§‚āĻš).

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° Kubernetes āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻž āĻ¨ā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ‡ āĻšā§āĻ•āĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧāĨ¤

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻšā§āĻ• āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ•āĻ–āĻ¨? āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻšāĻ˛ āĻ¯ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻšā§āĻ•ā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻāĻ•āĻŸāĻŋ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻšā§āĻ• āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ --config āĻāĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻāĻ° āĻĒāĻ°ā§‡, āĻšā§āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ - āĻ¯ā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤āĻžāĻ°āĻž āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻšā§āĻ• āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻĒāĻžāĻ¯āĻŧ (āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—) - JSON āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻĄā§‡āĻŸāĻž, āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ¨ā§€āĻšā§‡ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻļāĻĻā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻŦāĨ¤

āĻŦā§āĻ¯āĻžāĻļā§‡ āĻāĻ•āĻœāĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡ (āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻŋ āĻ—ā§āĻ°āĻ¨ā§āĻĨāĻžāĻ—āĻžāĻ° shell_lib, āĻ¯āĻž āĻŦāĻžāĻļā§‡ āĻ˛ā§‡āĻ–āĻžāĻ° āĻšā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡):

  • āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ - āĻāĻŸāĻŋ āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡;
  • āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋāĻ¤ā§‡ āĻšā§āĻ•ā§‡āĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

#!/bin/bash

source /shell_lib.sh

function __config__() {
  cat << EOF
    configVersion: v1
    # BINDING CONFIGURATION
EOF
}

function __main__() {
  # THE LOGIC
}

hook::run "$@"

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ āĻšāĻ˛ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻ¨ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻžāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

  • āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰ā§ŽāĻ¸ āĻ—ā§‹āĻĒāĻ¨;
  • āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨, āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ†āĻ›ā§‡;
  • āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ—ā§‹āĻĒāĻ¨ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰ā§ŽāĻ¸ āĻ—ā§‹āĻĒāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻ™ā§āĻ• āĻšāĻ¯āĻŧāĨ¤

āĻ—ā§‹āĻĒāĻ¨ āĻ¸ā§‚āĻ¤ā§āĻ°ā§‡ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻž āĻ¨āĻŋāĻ¨

āĻāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻŦā§‡āĻļ āĻ¸āĻšāĻœāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ‡āĻ™ā§āĻ—āĻŋāĻ¤ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ—ā§‹āĻĒāĻ¨ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ mysecret āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ default:

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

function __config__() {
  cat << EOF
    configVersion: v1
    kubernetes:
    - name: src_secret
      apiVersion: v1
      kind: Secret
      nameSelector:
        matchNames:
        - mysecret
      namespace:
        nameSelector:
          matchNames: ["default"]
      group: main
EOF

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ‰ā§ŽāĻ¸ āĻ—ā§‹āĻĒāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§‡ āĻšā§āĻ• āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻšāĻŦā§‡ (src_secret) āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻžāĻ§ā§āĻ¯āĻ¤āĻžāĻŽā§‚āĻ˛āĻ• āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—āĻŸāĻŋ āĻĒāĻžāĻ¨:

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨, āĻāĻ¤ā§‡ āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻ¸ā§āĻ¤ā§ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ°āĻžāĻ–āĻž

āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻž āĻ¨āĻŋāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻŋ:

- name: namespaces
  group: main
  apiVersion: v1
  kind: Namespace
  jqFilter: |
    {
      namespace: .metadata.name,
      hasLabel: (
       .metadata.labels // {} |  
         contains({"secret": "yes"})
      )
    }
  group: main
  keepFullObjectsInMemory: false

āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨, āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ jqFilter. āĻāĻ° āĻ¨āĻžāĻŽ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, jqFilter āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¤āĻĨā§āĻ¯ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ—ā§āĻ°āĻšā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ JSON āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻšā§āĻ• āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—āĻŸāĻŋ āĻĒāĻžāĻŦā§‡:

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻāĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ filterResults āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ hasLabel āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻŦā§‡āĻ˛ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ā§ˇ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ• keepFullObjectsInMemory: false āĻ‡āĻ™ā§āĻ—āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻ¸ā§āĻ¤ā§ āĻ°āĻžāĻ–āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤

āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ—ā§‹āĻĒāĻ¨ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ•āĻŋāĻ‚

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŸā§€āĻ•āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ†āĻ›ā§‡ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ—ā§‹āĻĒāĻ¨ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻž managed-secret: "yes" (āĻāĻ—ā§āĻ˛ā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ dst_secrets):

- name: dst_secrets
  apiVersion: v1
  kind: Secret
  labelSelector:
    matchLabels:
      managed-secret: "yes"
  jqFilter: |
    {
      "namespace":
        .metadata.namespace,
      "resourceVersion":
        .metadata.annotations.resourceVersion
    }
  group: main
  keepFullObjectsInMemory: false

āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ jqFilter āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ›āĻžāĻĄāĻŧāĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤āĻĨā§āĻ¯ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°ā§‡ resourceVersion. āĻ—ā§‹āĻĒāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻļā§‡āĻˇ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ āĻŸā§€āĻ•āĻžāĻ¤ā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛: āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ—ā§‹āĻĒāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻžāĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ†āĻĒ āĻŸā§ āĻĄā§‡āĻŸ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻšā§āĻ•, āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻ˛ā§‡, āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻŦā§‡āĨ¤ āĻāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ• āĻ§āĻ°āĻŖā§‡āĻ° āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ­āĻžāĻŦāĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ) āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĨ¤

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚:

  • āĻ¯āĻĻāĻŋ hasLabel āĻŦāĻŋāĻˇāĻ¯āĻŧ true āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯:
    • āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ—ā§‹āĻĒāĻ¨ āĻ¸āĻ™ā§āĻ—ā§‡ āĻŦā§ˆāĻļā§āĻŦāĻŋāĻ• āĻ—ā§‹āĻĒāĻ¨ āĻ¤ā§āĻ˛āĻ¨āĻž:
      • āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ°āĻž āĻāĻ•āĻ‡ āĻšāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻ•āĻŋāĻ›ā§āĻ‡ āĻ•āĻ°ā§‡ āĻ¨āĻž;
      • āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ°āĻž āĻ­āĻŋāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ - āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ kubectl replace āĻŦāĻž create;
  • āĻ¯āĻĻāĻŋ hasLabel āĻŦāĻŋāĻˇāĻ¯āĻŧ false āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯:
    • āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ—ā§‹āĻĒāĻ¨ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ¨ā§‡āĻ‡:
      • āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ—ā§‹āĻĒāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•āĻ˛ā§‡, āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛ā§āĻ¨ kubectl delete;
      • āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ—ā§‹āĻĒāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¨āĻž āĻšāĻ˛ā§‡, āĻāĻŸāĻŋ āĻ•āĻŋāĻ›ā§āĻ‡ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻŦā§āĻ¯āĻžāĻļā§‡ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻš āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛.

āĻāĻ­āĻžāĻŦā§‡āĻ‡ āĻ†āĻŽāĻ°āĻž YAML āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° 35 āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻ•āĻ‡ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻŦā§āĻ¯āĻžāĻļ āĻ•ā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ Kubernetes āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ•āĻžāĻœ āĻ¤āĻžāĻĻā§‡āĻ° āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻžāĨ¤

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ—ā§‹āĻĒāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—ā§‡āĻ° āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻ¨āĻ¯āĻŧāĨ¤ āĻ¤āĻŋāĻ¨āĻŋ āĻ•ā§€ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻ°āĻ“ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ 1: āĻ•āĻ¨āĻĢāĻŋāĻ—āĻŽā§āĻ¯āĻžāĻĒā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž

āĻ†āĻ¸ā§āĻ¨ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĒāĻĄ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻžāĻ‡āĨ¤ āĻĒāĻĄ āĻ•āĻŋāĻ›ā§ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ ConfigMap āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻ–āĻ¨ āĻĒāĻĄāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¤āĻ–āĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻŽā§āĻ¯āĻžāĻĒ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻ›āĻŋāĻ˛ (āĻ†āĻ¸ā§āĻ¨ āĻāĻŸāĻŋāĻ•ā§‡ v.1 āĻŦāĻ˛āĻŋ)āĨ¤ āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻŽā§āĻ¯āĻžāĻĒā§‡āĻ° āĻāĻ‡ āĻŦāĻŋāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻāĻ–āĻ¨ āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻ•āĻ¨āĻĢāĻŋāĻ—āĻŽā§āĻ¯āĻžāĻĒ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (v.2)āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻĒāĻĄāĻ—ā§āĻ˛āĻŋ ConfigMap (v.1) āĻāĻ° āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡:

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ ConfigMap (v.2) āĻ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ? āĻ‰āĻ¤ā§āĻ¤āĻ°āĻŸāĻŋ āĻ¸āĻšāĻœ: āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻāĻ•āĻŸāĻŋ āĻšā§‡āĻ•āĻ¸āĻžāĻŽ āĻŸā§€āĻ•āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ¯āĻžāĻ• template āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨:

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ‡ āĻšā§‡āĻ•āĻ¸āĻžāĻŽ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻŽāĻ¤ā§‹āĻ‡ āĻšāĻŦā§‡āĨ¤ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻŽā§āĻ¯āĻžāĻĒ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ–āĻ¨ āĻļā§āĻ§ā§ āĻŸā§€āĻ•āĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŦāĻ‚ āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•āĻžāĻœā§‡ āĻ†āĻ¸ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¯āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻž āĻšāĻ˛ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻāĻ•āĻŸāĻŋ āĻšā§āĻ• āĻ¯āĻž āĻ•āĻ¨āĻĢāĻŋāĻ—āĻŽā§āĻ¯āĻžāĻĒā§‡ āĻ¸āĻžāĻŦāĻ¸ā§āĻ•ā§āĻ°āĻžāĻ‡āĻŦ āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻšā§‡āĻ•āĻ¸āĻžāĻŽ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻŦā§‡.

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻŽā§āĻ¯āĻžāĻĒā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ˛ā§‡, āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¤āĻžāĻĻā§‡āĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻšā§‡āĻ•āĻ¸āĻžāĻŽ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻŦā§‡āĨ¤ āĻāĻ° āĻĒāĻ°ā§‡ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§‡āĻ° āĻ¯āĻžāĻĻā§āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻšāĻŦā§‡: āĻ…āĻ°ā§āĻ•ā§‡āĻ¸ā§āĻŸā§āĻ°ā§‡āĻŸāĻ° āĻĒāĻĄāĻŸāĻŋāĻ•ā§‡ āĻŽā§‡āĻ°ā§‡ āĻĢā§‡āĻ˛āĻŦā§‡, āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡, āĻāĻŸāĻŋ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨ Ready, āĻāĻŦāĻ‚ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĄāĻŋāĻĒā§āĻ˛āĻ¯āĻŧāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻŽā§āĻ¯āĻžāĻĒā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ 2: āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž

āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨, āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ MysqlDatabase. āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ†āĻ›ā§‡: name и namespace.

apiVersion: example.com/v1alpha1
kind: MysqlDatabase
metadata:
  name: foo
  namespace: bar

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻŽāĻžāĻ‡āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ MysqlDatabase, āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ MySQL āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻāĻŦāĻ‚ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŋāĻ¤ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°ā§‡ā§ˇ

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ 3: āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŽāĻ¨āĻŋāĻŸāĻ°āĻŋāĻ‚

āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡, āĻĒāĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻžāĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻž āĻ¨āĻŋāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻļā§‡āĻ˛ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡, āĻ¤āĻŋāĻ¨āĻŋ āĻāĻ‡ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒāĻŋāĻ‚ āĻ•āĻ°āĻŦā§‡āĻ¨āĨ¤

configVersion: v1
kubernetes:
- name: nodes
  apiVersion: v1
  kind: Node
  jqFilter: |
    {
      name: .metadata.name,
      ip: (
       .status.addresses[] |  
        select(.type == "InternalIP") |
        .address
      )
    }
  group: main
  keepFullObjectsInMemory: false
  executeHookOnEvent: []
schedule:
- name: every_minute
  group: main
  crontab: "* * * * *"

āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻŽāĻžāĻĒ executeHookOnEvent: [] āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻšā§āĻ•āĻ•ā§‡ āĻšāĻ˛āĻ¤ā§‡ āĻŦāĻžāĻ§āĻž āĻĻā§‡āĻ¯āĻŧ (āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ¨ā§‹āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨, āĻ¯ā§‹āĻ—, āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ)āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¤āĻŋāĻ¨āĻŋ āĻšāĻ˛āĻŦā§‡ (āĻāĻŦāĻ‚ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§āĻ¨) āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ - āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡, āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ schedule.

āĻāĻ–āĻ¨ āĻĒā§āĻ°āĻļā§āĻ¨ āĻœāĻžāĻ—ā§‡, āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ āĻ˛āĻ¸ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻŽāĻ°āĻž āĻ āĻŋāĻ• āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻžāĻ¨āĻŦ? āĻ†āĻ¸ā§āĻ¨ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĻā§‡āĻ–ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•:

function __main__() {
  for i in $(seq 0 "$(context::jq -r '(.snapshots.nodes | length) - 1')"); do
    node_name="$(context::jq -r '.snapshots.nodes['"$i"'].filterResult.name')"
    node_ip="$(context::jq -r '.snapshots.nodes['"$i"'].filterResult.ip')"
    packets_lost=0
    if ! ping -c 1 "$node_ip" -t 1 ; then
      packets_lost=1
    fi
    cat >> "$METRICS_PATH" <<END
      {
        "name": "node_packets_lost",
        "add": $packets_lost,
        "labels": {
          "node": "$node_name"
        }
      }
END
  done
}

āĻ†āĻŽāĻ°āĻž āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻŋ, āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ‡, āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻŋāĻ‚ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻ‰āĻ¸āĻ•ā§‡ āĻĒāĻžāĻ āĻžāĻ‡āĨ¤ āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻ‰āĻ¸ā§‡ āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻžāĻĨ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¸ā§‡āĻ­ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ $METRICS_PATH.

āĻāĻ–āĻžāĻ¨ā§‡ āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž

āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻ…āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻŦā§‡āĨ¤ āĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻŋāĻ›ā§ āĻ§āĻ°āĻŖā§‡āĻ° āĻšā§āĻ• āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°ā§‡āĨ¤

  • āĻ•āĻŋ āĻšāĻŦā§‡ āĻ¯āĻĻāĻŋ, āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ•āĻŋāĻ›ā§ āĻ˜āĻŸā§‡? āĻ†āĻ°ā§‹ āĻāĻ•āĻŸāĻž āĻ˜āĻŸāĻ¨āĻž?
  • āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻšā§āĻ•ā§‡āĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻŦā§‡?
  • āĻ¯āĻĻāĻŋ āĻŦāĻ˛ā§āĻ¨, āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻāĻ•āĻŦāĻžāĻ°ā§‡ āĻĒāĻžāĻāĻšāĻŸāĻŋ āĻ˜āĻŸāĻ¨āĻž āĻ˜āĻŸāĻŦā§‡?
  • āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ•āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻŦā§‡?
  • āĻŽā§‡āĻŽāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻĒāĻŋāĻ‡āĻ‰ āĻāĻ° āĻŽāĻ¤ā§‹ āĻ•ā§āĻˇāĻ¯āĻŧāĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•ā§€?

āĻ­āĻžāĻ—ā§āĻ¯āĻ•ā§āĻ°āĻŽā§‡, āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻāĻŦāĻ‚ āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻšā§āĻ• āĻ†āĻ›ā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ˜āĻŸāĻ¨āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻšā§āĻ• āĻ¯āĻžāĻ¯āĻŧ. āĻāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ˛ā§‡, āĻ¸āĻžāĻ°āĻŋāĻŸāĻŋ āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻšā§āĻ•ā§‡ āĻĒā§āĻ¨āĻƒāĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧ - āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ "āĻŦāĻžāĻ¨ā§āĻĄā§‡āĻ˛" āĻ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻžāĻ‡ āĻšā§āĻ• āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻĒāĻžāĻ¯āĻŧ — āĻ…āĻĨāĻŦāĻž, āĻ†āĻ°āĻ“ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡, āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĨ¤

āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻāĻ‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻŽāĻ§ā§āĻ¯ā§‡ āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡. āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ group āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĨ¤

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻ¸āĻžāĻ°āĻŋ/āĻšā§āĻ• āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°āĻŋ āĻĻā§āĻŸāĻŋ āĻšā§āĻ• āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻŦāĻž āĻ¤āĻĻā§āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤āĨ¤

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¯āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻž āĻšāĻ˛ āĻ¸ā§‡āĻ‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž queue āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°āĻŋāĻ° āĻ¨āĻžāĻŽ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻ•ā§‡, āĻšā§āĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¸āĻžāĻ°āĻŋāĻ¤ā§‡ āĻšāĻ˛ā§‡ (default) āĻāĻ‡ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻšā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ•ā§€ āĻ¤āĻž āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻĻā§‡āĻ–āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ‚ āĻ…āĻ¨āĻžāĻ¯āĻŧāĻžāĻ¸ā§‡ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻāĻŦāĻ‚ āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤

āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ¤āĻĨā§āĻ¯, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛, āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ GitHub āĻ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛. āĻĒā§āĻ°āĻļā§āĻ¨ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĻā§āĻŦāĻŋāĻ§āĻž āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž: āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽ āĻ—ā§āĻ°ā§āĻĒ (āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ) āĻŦāĻž āĻāĻ‡ āĻĢā§‹āĻ°āĻžāĻŽ (āĻ‡āĻ‚āĻ°ā§‡āĻœā§€āĻ¤ā§‡).

āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡āĻ¨, āĻ†āĻŽāĻ°āĻž GitHub-āĻ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž/āĻĒāĻŋāĻ†āĻ°/āĻ¤āĻžāĻ°āĻ•āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒā§‡āĻ¯āĻŧā§‡ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ–ā§āĻļāĻŋ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻ¨ā§āĻ¯āĻĻā§‡āĻ° āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ. āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻŸāĻŋ āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸ āĻŽā§‚āĻ˛ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻĄāĻ¨-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°, āĻ¯āĻž āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻŦāĻĄāĻŧ āĻ­āĻžāĻ‡. āĻāĻ‡ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĄ-āĻ…āĻ¨ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻšā§‡āĻ˛āĻŽ āĻšāĻžāĻ°ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻĄā§‡āĻŸ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻšāĻžāĻ°ā§āĻŸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°/āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻšāĻžāĻ°ā§āĻŸā§‡āĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž? āĻŦāĻžāĻļ ! āĻļā§‡āĻ˛-āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§‡āĻ–āĻž āĻ•āĻ°ā§āĻ¨ (KubeCon EU'2020 āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻāĻŦāĻ‚ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨)

āĻ­āĻŋāĻĄāĻŋāĻ“ āĻāĻŦāĻ‚ āĻ¸ā§āĻ˛āĻžāĻ‡āĻĄ

āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ­āĻŋāĻĄāĻŋāĻ“ (~23 āĻŽāĻŋāĻ¨āĻŋāĻŸ):


āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž:

āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦā§āĻ˛āĻ—ā§‡āĻ“ āĻĒāĻĄāĻŧā§āĻ¨:

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨