Knative - āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš k8s-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ-āĻ-āĻ-āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸

Knative - āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš k8s-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ-āĻ-āĻ-āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸

Kubernetes āĻ¨āĻŋāĻƒāĻ¸āĻ¨ā§āĻĻā§‡āĻšā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻļāĻžāĻ˛ā§€ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ ā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ¤āĻžāĻ° APIs āĻāĻŦāĻ‚ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ° APIāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤

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

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

āĻ¸ā§‹āĻ°ā§āĻ¸-āĻŸā§-āĻļāĻŋāĻĒ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻĢā§āĻ˛ā§‹ PaaS āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ‡āĻŽā§‡āĻœ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡, āĻāĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ°ā§āĻŸ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ‡āĻ¨āĻ•āĻžāĻŽāĻŋāĻ‚ āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ DNS āĻ¸āĻžāĻŦāĻĄā§‹āĻŽā§‡āĻ¨ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ¸āĻŦ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ git push.

Kubernetes (āĻ‡āĻšā§āĻ›āĻžāĻ•ā§ƒāĻ¤āĻ­āĻžāĻŦā§‡) āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽā§‚āĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ‚ āĻŦā§āĻ˛āĻ• āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡, āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧāĻ•ā§‡ āĻ¨āĻŋāĻœā§‡āĻ°āĻžāĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ°ā§‡āĻ–ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•ā§‡āĻ˛āĻ¸āĻŋ āĻšāĻžāĻ‡āĻŸāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻĄ:

Kubernetes āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽāĨ¤ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‡āĻ°āĻž āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻļā§‡āĻˇ āĻ¨āĻžāĨ¤

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻŦāĻŋāĻ˛ā§āĻĄāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻšā§āĻ› āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻšā§‹āĻ¸ā§āĻŸāĻŋāĻ‚ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ—ā§āĻ˛āĻŋ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻ“āĻĒā§‡āĻ¨āĻļāĻŋāĻĢāĻŸ āĻāĻŦāĻ‚ āĻ°āĻžāĻžā§āĻšāĻžāĻ°ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ PaaS āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›ā§‡ā§ˇ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ Kube-PaaS āĻŦāĻžāĻœāĻžāĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡, Google āĻāĻŦāĻ‚ Pivotal āĻĻā§āĻŦāĻžāĻ°āĻž āĻœā§āĻ˛āĻžāĻ‡ 2018 āĻ¸āĻžāĻ˛ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻŋāĻ¤ Knative, āĻ°āĻŋāĻ‚āĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻ›ā§‡āĨ¤

Knative āĻ›āĻŋāĻ˛ Google āĻāĻŦāĻ‚ Pivotal-āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻž, āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨āĻŋ āĻ¯ā§‡āĻŽāĻ¨ IBM, RedHat āĻāĻŦāĻ‚ Solo.im āĻĨā§‡āĻ•ā§‡ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧā§‡āĨ¤ āĻāĻŸāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻŋāĻ‚-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§€āĻ°ā§āĻˇāĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš Kubernetes-āĻ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ PaaS āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ…āĻĢāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ Kubernetes āĻŦāĻŋāĻ˛ā§āĻĄā§‡āĻ° āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ā§‡, Knative āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ Kubernetes āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĄ-āĻ…āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

Knative āĻ•āĻŋ?

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

Knative āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤ āĻ¯āĻž āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡:

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

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

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

Knative āĻ¨āĻŋāĻœā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ Gloo API āĻ—ā§‡āĻŸāĻ“āĻ¯āĻŧā§‡ и āĻ‡āĻ¸ā§āĻŸāĻŋāĻ“ āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ āĻŽā§‡āĻļ. āĻāĻŸāĻŋ Knative-āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŸā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ• āĻ°ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻŦā§‡āĨ¤

Istio āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĒā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ Native āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ Istio āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŽā§‡āĻļ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ Knative āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ—ā§‡āĻŸāĻ“āĻ¯āĻŧā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤

āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡, āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ‡ Knative-āĻāĻ° āĻ—ā§‡āĻŸāĻ“āĻ¯āĻŧā§‡ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ Gloo āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡āĻ¨, Istio-āĻ•ā§‡ (āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° Knative āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡) āĻāĻ•āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡, āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ•āĻŽ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•āĻŽ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨ āĻ–āĻ°āĻš āĻšāĻ¯āĻŧāĨ¤

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡ āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ā§‡ Knative āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻ†āĻŽāĻŋ GKE-āĻ¤ā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ:

kubectl get namespace
NAME          STATUS   AGE
default       Active   21h
kube-public   Active   21h
kube-system   Active   21h

āĻ†āĻ¸ā§āĻ¨ Knative āĻāĻŦāĻ‚ Gloo āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻŋāĨ¤ āĻāĻŸāĻŋ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ•ā§āĻ°āĻŽā§‡ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

# ŅŅ‚авиĐŧ Knative-Serving
kubectl apply -f 
 https://github.com/knative/serving/releases/download/v0.8.0/serving-core.yaml
namespace/knative-serving created
# ...
# ŅŅ‚авиĐŧ Gloo
kubectl apply -f 
  https://github.com/solo-io/gloo/releases/download/v0.18.22/gloo-knative.yaml
namespace/gloo-system created
# ...

āĻ†āĻŽāĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ "āĻšāĻ˛āĻŽāĻžāĻ¨" āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻ†āĻ›ā§‡:

kubectl get pod -n knative-serving
NAME                              READY   STATUS    RESTARTS   AGE
activator-5dd55958cc-fkp7r        1/1     Running   0          7m32s
autoscaler-fd66459b7-7d5s2        1/1     Running   0          7m31s
autoscaler-hpa-85b5667df4-mdjch   1/1     Running   0          7m32s
controller-85c8bb7ffd-nj9cs       1/1     Running   0          7m29s
webhook-5bd79b5c8b-7czrm          1/1     Running   0          7m29s
kubectl get pod -n gloo-system
NAME                                      READY   STATUS    RESTARTS   AGE
discovery-69548c8475-fvh7q                1/1     Running   0          44s
gloo-5b6954d7c7-7rfk9                     1/1     Running   0          45s
ingress-6c46cdf6f6-jwj7m                  1/1     Running   0          44s
knative-external-proxy-7dd7665869-x9xkg   1/1     Running   0          44s
knative-internal-proxy-7775476875-9xvdg   1/1     Running   0          44s

Gloo āĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤, āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ-āĻ¸ā§āĻ•ā§‡āĻ˛āĻŋāĻ‚ Knative āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ (āĻ†āĻ¸ā§āĻ¨ āĻāĻŸāĻŋāĻ•ā§‡ kservice āĻŦāĻ˛āĻŋ) āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ• āĻ°ā§āĻŸ āĻ•āĻ°āĻŋāĨ¤

āĻĒā§āĻ°āĻšāĻ˛āĻŋāĻ¤ āĻĄāĻŋāĻĒā§āĻ˛āĻ¯āĻŧāĻŽā§‡āĻ¨ā§āĻŸ+āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸+āĻ‡āĻ¨āĻ—ā§āĻ°ā§‡āĻ¸ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ Knative āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻĒāĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦ:

apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
 name: helloworld-go
 namespace: default
spec:
 template:
   spec:
     containers:
       - image: gcr.io/knative-samples/helloworld-go
         env:
           - name: TARGET
             Value: Knative user

āĻ†āĻŽāĻŋ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻ° āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋ:

kubectl apply -f ksvc.yaml -n default

āĻ†āĻŽāĻžāĻĻā§‡āĻ° 'āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ-āĻ—ā§‹' āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ Knative āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ kservice:

kubectl get pod -n default
NAME                                              READY   STATUS    RESTARTS   AGE
helloworld-go-fjp75-deployment-678b965ccb-sfpn8   2/2     Running   0          68s

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

kubectl get ingresses.networking.internal.knative.dev -n default
NAME            READY   REASON
helloworld-go   True

Knative āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ Knative API-āĻ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ 'āĻ‡āĻ¨āĻ—ā§āĻ°ā§‡āĻ¸' āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ° āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¨ā§€āĻ˛-āĻ¸āĻŦā§āĻœ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻŽāĻĄā§‡āĻ˛, āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ TLS āĻāĻ¨āĻĢā§‹āĻ°ā§āĻ¸āĻŽā§‡āĻ¨ā§āĻŸ, āĻŸāĻžāĻ‡āĻŽāĻ†āĻ‰āĻŸ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻš PaaS-āĻāĻ° āĻŽāĻ¤ā§‹ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ Gloo āĻāĻ‡ APIāĻŸāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ‡ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§‹āĻĄāĻ—ā§āĻ˛āĻŋ āĻ…āĻĻā§ƒāĻļā§āĻ¯ āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡ (āĻ•āĻžāĻ°āĻŖ āĻ•ā§‹āĻ¨ āĻ†āĻ—āĻ¤ āĻŸā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ• āĻ›āĻŋāĻ˛ āĻ¨āĻž):

kubectl get pod -n default

No resources found.
kubectl get deployment -n default
NAME                             DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
helloworld-go-fjp75-deployment   0         0         0            0           9m46s

āĻ…āĻŦāĻļā§‡āĻˇā§‡ āĻ†āĻŽāĻ°āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻĒā§ŒāĻāĻ›āĻžāĻ¨ā§‹āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻāĻŦāĻ‚ āĻ¸āĻšāĻœā§‡āĻ‡ Knative āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ URL āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ glooctl:

glooctl proxy url --name knative-external-proxy
http://35.190.151.188:80

āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ glooctl āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§āĻŦā§‡ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ¤ā§‡ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻāĻŦāĻ‚ āĻĒā§‹āĻ°ā§āĻŸ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

kubectl get svc -n gloo-system knative-external-proxy
NAME                     TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)                      AGE
knative-external-proxy   LoadBalancer   10.16.11.157   35.190.151.188   80:32168/TCP,443:30729/TCP   77m

āĻ†āĻ¸ā§āĻ¨ cURL āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ›ā§ āĻĄā§‡āĻŸāĻž āĻ°āĻžāĻ¨ āĻ•āĻ°āĻŋ:

curl -H "Host: helloworld-go.default.example.com" http://35.190.151.188
Hello Knative user!

Knative Gloo-āĻāĻ° āĻ‰āĻšā§āĻš-āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸, āĻĢā§āĻ˛-āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• API āĻ—ā§‡āĻŸāĻ“āĻ¯āĻŧā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻ‰āĻŸ-āĻ…āĻĢ-āĻĻā§āĻ¯-āĻŦāĻ•ā§āĻ¸ Kubernetes-āĻāĻ° āĻ‰āĻĒāĻ°ā§‡ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻžāĻ¯āĻŧ-PaaS āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻĒā§‹āĻ¸ā§āĻŸāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° Knative āĻāĻ° āĻŦāĻŋāĻ¸ā§āĻ¤ā§ƒāĻ¤ āĻ•āĻžāĻ¸ā§āĻŸāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻāĻŦāĻ‚ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§ƒāĻˇā§āĻ āĻ•ā§‡ āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ Gloo āĻ¸āĻ™ā§āĻ—ā§‡ āĻāĻ•āĻ‡!

Knative āĻāĻ–āĻ¨āĻ“ āĻāĻ•āĻŸāĻŋ āĻ¤āĻ°ā§āĻŖ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻšāĻ“āĻ¯āĻŧāĻž āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§‡āĻ“, āĻāĻ° āĻĻāĻ˛ āĻĒā§āĻ°āĻ¤āĻŋ āĻ›āĻ¯āĻŧ āĻ¸āĻĒā§āĻ¤āĻžāĻšā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ TLS āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž, āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡āĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸ā§āĻ•ā§‡āĻ˛āĻŋāĻ‚āĨ¤ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻšāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻžāĻ° āĻĢāĻ˛ā§‡ āĻāĻŦāĻ‚ Google-āĻāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ°āĻžāĻ¨ āĻ…āĻĢāĻžāĻ°ā§‡āĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, Knative āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸā§‡ PaaS-āĻāĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ–āĻŦāĻ° āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§āĻ¨!

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

āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻœāĻ°āĻŋāĻĒā§‡ āĻ…āĻ‚āĻļāĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨āĨ¤ āĻ¸āĻžāĻ‡āĻ¨ āĻ‡āĻ¨ āĻ•āĻ°ā§āĻ¨āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ†āĻŽāĻžāĻ° āĻ•āĻŋ Knative āĻāĻŦāĻ‚ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻŋāĻ‚ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻāĻŦāĻ‚ āĻ—āĻžāĻ‡āĻĄ āĻ˛ā§‡āĻ–āĻž āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻŦā§‡?

  • āĻšā§āĻ¯āĻžāĻ.

  • āĻ¨āĻž āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ.

28 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ­ā§‹āĻŸ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨āĨ¤ 4 āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŦāĻŋāĻ°āĻ¤ āĻ›āĻŋāĻ˛ā§‡āĻ¨āĨ¤

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

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