Knative - k8s-แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”

Knative - k8s-แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”

Kubernetes แƒฃแƒ“แƒแƒ•แƒแƒ“ แƒ’แƒแƒฎแƒ“แƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒ˜แƒœแƒแƒœแƒขแƒฃแƒ แƒ˜ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ. แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก แƒ›แƒ˜แƒกแƒ˜ API-แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒกแƒแƒ‘แƒแƒŸแƒ แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ”แƒœ แƒ›แƒ˜แƒก API-แƒ”แƒ‘แƒก แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—.

แƒ—แƒฃแƒ›แƒชแƒ, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒก แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒก, แƒ“แƒแƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒแƒก, แƒ›แƒแƒ แƒ—แƒแƒก แƒ“แƒ แƒ’แƒแƒแƒคแƒแƒ แƒ—แƒแƒแƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก, แƒ“แƒแƒชแƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒแƒซแƒ แƒแƒแƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ˜ แƒ แƒฉแƒ”แƒ‘แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒจแƒ”แƒฎแƒ”แƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒ›แƒ”แƒ‘แƒ . แƒ”แƒก แƒ’แƒแƒœแƒแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒก Kubernetes-แƒก แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒกแƒ’แƒแƒœ (PaaS), แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Cloud Foundry แƒ“แƒ Heroku.

แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒ’แƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ แƒ“แƒ แƒ’แƒแƒ›แƒ˜แƒ–แƒœแƒฃแƒšแƒ˜แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒฅแƒ›แƒœแƒ”แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒแƒ‘แƒ”แƒœ แƒ˜แƒœแƒ“แƒ˜แƒ•แƒ˜แƒ“แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒจแƒ˜. แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ, แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒ“แƒ แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒญแƒ•แƒ˜แƒ แƒ•แƒแƒšแƒ”แƒ“ แƒ˜แƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ PaaS แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ .

แƒฌแƒงแƒแƒ แƒแƒ“แƒแƒœ แƒ’แƒ”แƒ›แƒ˜แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒก PaaS แƒ›แƒแƒ แƒ—แƒแƒ•แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒ—, แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒ—, แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒก แƒ“แƒ DNS แƒฅแƒ•แƒ”แƒ“แƒแƒ›แƒ”แƒœแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ— git push.

Kubernetes (แƒ’แƒแƒœแƒ–แƒ แƒแƒฎ) แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒกแƒแƒ›แƒจแƒ”แƒœแƒ”แƒ‘แƒšแƒ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒช แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒแƒก แƒขแƒแƒ•แƒ”แƒ‘แƒก แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒš แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก แƒ—แƒแƒ•แƒแƒ“ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒก. แฒ แƒแƒ’แƒแƒ  แƒ—แƒฅแƒ•แƒ แƒ™แƒ”แƒšแƒกแƒ˜ แƒฐแƒแƒ˜แƒขแƒแƒฃแƒ”แƒ แƒ›แƒ:

Kubernetes แƒแƒ แƒ˜แƒก แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“. แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒ แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ แƒ“แƒแƒกแƒแƒกแƒ แƒฃแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— Kubernetes-แƒ˜แƒก แƒฃแƒแƒ›แƒ แƒแƒ• แƒœแƒแƒ’แƒ”แƒ‘แƒแƒ‘แƒแƒก, แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒš แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ”แƒœ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒœ PaaS Kubernetes-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ OpenShift แƒ“แƒ Rancher. แƒ›แƒ–แƒแƒ แƒ“แƒ˜ Kube-PaaS แƒ‘แƒแƒ–แƒ แƒ˜แƒก แƒคแƒแƒœแƒ–แƒ”, Knative, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒแƒ แƒกแƒ“แƒ 2018 แƒฌแƒšแƒ˜แƒก แƒ˜แƒ•แƒšแƒ˜แƒกแƒจแƒ˜ Google-แƒ˜แƒกแƒ แƒ“แƒ Pivotal-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ , แƒจแƒ”แƒ›แƒแƒ“แƒ˜แƒก แƒ แƒ˜แƒœแƒ’แƒ–แƒ”.

Knative แƒ˜แƒงแƒ Google-แƒ˜แƒกแƒ แƒ“แƒ Pivotal-แƒ˜แƒก แƒ—แƒแƒœแƒแƒ›แƒจแƒ แƒแƒ›แƒšแƒแƒ‘แƒ, แƒกแƒฎแƒ•แƒ แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒชแƒ˜แƒ แƒ” แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ IBM, RedHat แƒ“แƒ Solo.im. แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒก PaaS-แƒก แƒกแƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒก Kubernetes-แƒก แƒฃแƒ›แƒแƒฆแƒšแƒ”แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ” แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ— แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. Kubernetes build-แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒ—, Knative แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒแƒœแƒแƒ›แƒแƒขแƒ˜ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒ˜ Kubernetes แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ–แƒ” แƒ“แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—.

แƒ แƒ แƒแƒ แƒ˜แƒก Knative?

Knative แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒช โ€žแƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ”แƒกแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒ˜แƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—โ€œ. Knative, แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒแƒ•แƒแƒ“, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒกแƒ”แƒ—แƒ˜ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒ‘แƒ˜แƒšแƒ˜แƒœแƒ’แƒ˜แƒก แƒ“แƒ แƒแƒก, แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ“ แƒแƒฎแƒ“แƒ”แƒœแƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒ˜แƒ–แƒ˜แƒ แƒ”แƒ‘แƒแƒก HTTP-แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒฎแƒšแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒžแƒแƒ แƒชแƒ˜แƒฃแƒšแƒแƒ“. แƒ’แƒแƒ›แƒแƒฃแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒกแƒแƒ‘แƒแƒšแƒแƒแƒ“ แƒ›แƒชแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒœแƒฃแƒšแƒแƒ›แƒ“แƒ”, แƒ แƒแƒช แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒกแƒ™แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒแƒก.

Knative แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ›แƒแƒœแƒขแƒแƒŸแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Kubernetes-แƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒ“แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒก:

  • แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒแƒ’แƒ”แƒ‘แƒ แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ (แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒแƒฆแƒœแƒแƒ’แƒแƒ‘แƒ),
  • แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ–แƒ” แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ (แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ),
  • แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฌแƒแƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒ— (แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ),
  • แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒ›แƒ˜แƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒ (แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒ).

แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒแƒก, แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ  แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒ“แƒ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒแƒก. Knative-แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ™แƒ•แƒšแƒแƒ• แƒ’แƒแƒฅแƒ•แƒ— แƒกแƒ แƒฃแƒšแƒ˜ แƒฌแƒ•แƒ“แƒแƒ›แƒ Kubernetes API-แƒ–แƒ”, แƒ แƒแƒช แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ’แƒ–แƒ, แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒ”แƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ Knative แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒแƒก, แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ˜แƒ›แƒแƒ•แƒ” API แƒžแƒ แƒ˜แƒ›แƒ˜แƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒ”แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒœ (แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ.แƒจ.).

แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒ—, แƒšแƒฃแƒ แƒฏแƒ˜-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒ˜แƒ–แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ แƒแƒช แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒ˜แƒฏแƒ•แƒœแƒแƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒแƒฎแƒแƒš แƒ“แƒ แƒซแƒ•แƒ”แƒš แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒฌแƒ•แƒ“แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒฃแƒš แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒก.

แƒ—แƒแƒ•แƒแƒ“ Knative แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒ˜ แƒจแƒ”แƒกแƒแƒกแƒ•แƒšแƒ”แƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒ–แƒ”. แƒฌแƒ”แƒ แƒ˜แƒก แƒ“แƒ แƒแƒก แƒ”แƒก แƒกแƒขแƒแƒขแƒ˜แƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜แƒ Gloo API Gateway ะธ แƒ˜แƒกแƒขแƒ˜แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ‘แƒแƒ“แƒ”. แƒ˜แƒก แƒ“แƒแƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ› แƒจแƒ”แƒฆแƒฌแƒ”แƒ•แƒแƒก, แƒ แƒแƒ—แƒ แƒ’แƒแƒ“แƒแƒ˜แƒงแƒ•แƒแƒœแƒแƒก แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜ Knative-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒแƒ แƒ—แƒฃแƒš แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜.

Istio Service Mesh แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ Knative แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒกแƒฃแƒ แƒ— แƒกแƒชแƒแƒ“แƒแƒœ แƒ˜แƒก Istio แƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒžแƒแƒœแƒ”แƒšแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ แƒแƒ“แƒ’แƒแƒœ Knative แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ™แƒแƒ แƒ˜แƒ‘แƒญแƒ”แƒ–แƒ”.

แƒแƒ› แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒ—, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ—แƒ แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒแƒก แƒแƒœแƒ˜แƒญแƒ”แƒ‘แƒก Gloo-แƒก, แƒ แƒแƒ’แƒแƒ แƒช Knative-แƒ˜แƒก แƒ™แƒแƒ แƒ˜แƒ‘แƒญแƒ”แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก 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 แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒ˜แƒซแƒšแƒ”แƒ•แƒ แƒฃแƒคแƒ แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ• แƒ’แƒ–แƒแƒก Kubernetes-แƒจแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒ“แƒ แƒ” แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ Deployment+Service+Ingress แƒ›แƒแƒ“แƒ”แƒšแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ— แƒแƒ› แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ–แƒ”:

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

แƒ›แƒ” แƒ“แƒแƒ•แƒแƒ™แƒแƒžแƒ˜แƒ แƒ” แƒ”แƒก แƒคแƒแƒ˜แƒšแƒจแƒ˜, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒ˜แƒ•แƒ›แƒแƒ แƒ—แƒ” แƒฉแƒ”แƒ›แƒก Kubernetes แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒก แƒแƒ› แƒ’แƒ–แƒ˜แƒ—:

kubectl apply -f ksvc.yaml -n default

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ•แƒœแƒแƒฎแƒแƒ— Knative-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœแƒ˜ 'helloworld-go'-แƒ˜แƒก แƒ›แƒ˜แƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฅแƒกแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜:

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

แƒžแƒแƒ“แƒ˜ แƒฉแƒ•แƒ”แƒœแƒ˜ 'helloworld-go' แƒ˜แƒ›แƒ˜แƒฏแƒ˜แƒ— แƒ˜แƒฎแƒกแƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช kservice แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ. แƒ—แƒฃ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก, แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒœแƒฃแƒšแƒแƒ›แƒ“แƒ” แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ. แƒ“แƒ แƒžแƒ˜แƒ แƒ˜แƒฅแƒ˜แƒ—, แƒ—แƒฃ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ’แƒแƒ“แƒแƒแƒญแƒแƒ แƒ‘แƒ”แƒ‘แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒแƒ“ แƒ–แƒฆแƒฃแƒ แƒ‘แƒšแƒก, แƒ’แƒแƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ.

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

Knative แƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒก แƒ›แƒ˜แƒก แƒจแƒ”แƒฆแƒฌแƒ”แƒ•แƒแƒก แƒจแƒ˜แƒ“แƒ Knative API-แƒจแƒ˜ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ โ€žแƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒกโ€œ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. Gloo แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒแƒ› API-แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก PaaS-แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒกแƒแƒงแƒแƒคแƒแƒ“, แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒšแƒฃแƒ แƒฏแƒ˜-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒก, แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ TLS แƒแƒฆแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก, แƒ“แƒ แƒแƒ˜แƒก แƒแƒ›แƒแƒฌแƒฃแƒ แƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ—แƒ•แƒšแƒ˜แƒ—.

แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ แƒ’แƒแƒšแƒ”แƒ‘แƒ˜ แƒ’แƒแƒฅแƒ แƒ (แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ  แƒ˜แƒงแƒ แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜):

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

แƒกแƒแƒ‘แƒแƒšแƒแƒแƒ“ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒชแƒ“แƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒ— แƒ›แƒ˜แƒ•แƒแƒฆแƒฌแƒ˜แƒแƒ—. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒ“แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— URL Knative Proxy-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— glooctl:

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

แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” glooctl แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒ“แƒ แƒžแƒแƒ แƒขแƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— kube แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒจแƒ˜:

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 แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก PaaS-แƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒงแƒฃแƒ—แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ›แƒ Kubernetes-แƒ˜แƒก แƒ—แƒแƒ•แƒ–แƒ” Gloo-แƒก แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜แƒก API แƒ™แƒแƒ แƒ˜แƒ‘แƒญแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒแƒ› แƒžแƒแƒกแƒขแƒ›แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒ™แƒแƒฌแƒ แƒ Knative-แƒ˜แƒก แƒžแƒ”แƒ แƒกแƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ•แƒ แƒชแƒ”แƒšแƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜. แƒ˜แƒ’แƒ˜แƒ•แƒ” Gloo!

แƒ˜แƒ›แƒ˜แƒกแƒ“แƒ แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“, แƒ แƒแƒ› Knative แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒแƒฎแƒแƒšแƒ’แƒแƒ–แƒ แƒ“แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒ, แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒฃแƒœแƒ“แƒ˜ แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒก แƒแƒฎแƒแƒš แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒก แƒงแƒแƒ•แƒ”แƒš แƒ”แƒฅแƒ•แƒก แƒ™แƒ•แƒ˜แƒ แƒแƒจแƒ˜ แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ“แƒ แƒ“แƒแƒ˜แƒฌแƒงแƒ แƒ›แƒแƒฌแƒ˜แƒœแƒแƒ•แƒ” แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ TLS แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒžแƒแƒœแƒ”แƒšแƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒ. แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ™แƒแƒ แƒ’แƒ˜ แƒจแƒแƒœแƒกแƒ˜, แƒ แƒแƒ› แƒ›แƒ แƒแƒ•แƒแƒš แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒแƒก แƒจแƒแƒ แƒ˜แƒก แƒ—แƒแƒœแƒแƒ›แƒจแƒ แƒแƒ›แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒ“แƒ แƒ แƒแƒ’แƒแƒ แƒช Google-แƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ Cloud Run แƒจแƒ”แƒ—แƒแƒ•แƒแƒ–แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ˜, Knative แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒฎแƒ“แƒ”แƒก แƒฃแƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒกแƒ แƒ“แƒ PaaS-แƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ Kubernetes-แƒ–แƒ”. แƒ›แƒ˜แƒฐแƒงแƒ”แƒ•แƒ˜แƒ— แƒกแƒ˜แƒแƒฎแƒšแƒ”แƒ”แƒ‘แƒก!

SouthBridge-แƒ˜แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ
แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ—แƒ แƒ›แƒแƒกแƒแƒ–แƒ แƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ’แƒ—แƒฎแƒแƒ•แƒ—, แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒแƒ‘แƒ แƒ›แƒแƒ™แƒšแƒ” แƒ’แƒแƒ›แƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ—แƒแƒœ Knative-แƒ˜แƒก, Kubernetes-แƒ˜แƒก, แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘:

แƒ’แƒแƒ›แƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒจแƒ˜ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒแƒ‘แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒแƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก. แฒจแƒ”แƒ‘แƒ แƒซแƒแƒœแƒ“แƒ˜แƒ—แƒ’แƒ—แƒฎแƒแƒ•แƒ—

แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ•แƒแƒ’แƒ แƒซแƒ”แƒšแƒ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒ”แƒ‘แƒ˜แƒก แƒฌแƒ”แƒ แƒ Knative แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘?

  • แฒ“แƒ˜แƒแƒฎ, แƒ—แƒฃ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ.

  • แฒแƒ แƒ แƒ’แƒ›แƒแƒ“แƒšแƒแƒ‘แƒ—.

แƒ›แƒ˜แƒกแƒชแƒ แƒฎแƒ›แƒ 28 แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ. 4 แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒ—แƒแƒ•แƒ˜ แƒจแƒ”แƒ˜แƒ™แƒแƒ•แƒ.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ