Red Hat OpenShift Serverless ááẠááá¯ááºáááá¯áááºáá±á¬ááºááŸá¯áá»á¬ážá ááœááºááááºáá¬áá»á¬ážááŸáá·áº Function-as-a-Service (FaaS) á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážá¡ááœáẠá¡ááŒá áºá¡áá»ááº-áá±á¬ááºážááŸááºááá·áº Kubernetes á¡á áááºá¡ááá¯ááºážáá»á¬ážá¡á á¯á¡áá±ážáá áºáá¯ááŒá áºáááºá
á€áá±áá¹áá¬áááŒááºáááŒá±ááŸááºážáá»ááºááœáẠáá¯á¶ááŒá¯á¶áá±ážááŸáá·áº áááºážááŒá±á¬ááºážáááºážááŒá±á¬ááºážáá»á¬ážáá«áááºááŒá®áž Red Hat á¡á±á¬áºááá±áá¬áá»á¬áž áá±á«ááºážá
ááºááŒááºážá
Red Hat OpenShift Serverless á á¡áááá¡ááºá¹áá«áááºáá»á¬áž
- КОÑПкОй вÑÐ±ÐŸÑ ÑзÑкПв пÑПгÑаЌЌОÑÐŸÐ²Ð°ÐœÐžÑ Ðž runtime-кПЌпПМеМÑПв ÐŽÐ»Ñ serverless-пÑОлПжеМОй. ÐÑ ÐŒÐŸÐ¶ÐµÑе вÑбОÑаÑÑ ÐžÐŒÐµÐœÐœÐŸ ÑÐŸÑ ÐœÐ°Ð±ÐŸÑ ÐžÐœÑÑÑÑЌеМÑПв, кПÑПÑÑй ÐœÑжеМ ОЌеММП ваЌ.
- á á áºááŸááºáá±á¬á ááŸááºážáááá¯á¡ááºáá»ááºáá»á¬ážááá¯ááºáá² á¡áááºážá¡ááŒá áºáá»á¬ážááᯠáááá±á¬ááºá áœá¬ á á®áá¶ááá·áºááœá²ááẠáá±á¬ááºážááá¯ááŸá¯áá»á¬áž ááá¯á·ááá¯áẠááŒá áºáááºáá»á¬ážá ááŒááºážáááºááŸá¯áá±á«áº áá°áááºá á¡ááá¯á¡áá»á±á¬áẠá¡áá»á¬ážááá¯áẠá¡ááá¯ááºážá¡áá¬ááŒáá·áº ááá¯ááºážáá¬ááŒááºáž
- Tekton á០á áœááºážáá±á¬ááºááá·áº Kubernetes á¡ááŒá±ááŒá¯ á ááºáááºáááŒáẠáááºáá±á¬ááºááŒááºážááŸáá·áº áá±ážááá¯á·ááŒááºáž (CI/CD) á áá ẠOpenShift Pipelines ááŸáá·áº áá»á±á¬ááœá±á·á áœá¬ áá±á«ááºážá ááºážááŒááºáž
- á¡ááŒá±áá¶ááẠRed Hat á¡á±á¬áºááá±áá¬áá¯á¶á á¶ááŒá áºááŒá®áž á¡ááºááááºáá»á¬ážááẠáááºáááºáá±ááá·áºááŒá áºáááºáá»á¬ážááᯠáá¯á¶ááŒá¯á¶á áœá¬á á®áá¶ááŒá®áž á¡ááºááááºáá¯ááºááœáá·áºááŒá¯áᬠcloud áááºáá±á¬ááºááŸá¯áá»á¬ážáá²á·ááá¯á· á¡ááá®áá±ážááŸááºážáá»á¬ážááááá¶ááá¬ááá¯áááºáž á á®á ááºáá±ážáááº
- Knative 0.13 áááºáá±á¬ááºááŸá¯áá±ážááŒááºážá Eventing ááŸáá·áº kn (Knative á¡ááœááºááá¬ážááẠCLI) á¡áá«á¡ááẠááœááºááŒá°ááá®á¡áá áºáá»á¬ážááᯠá¡áááºáááŒááºá á±á¬áá·áºááŒáá·áºáá±ááẠ- á¡ááŒá¬ážáá±á¬ Red Hat áá¯ááºáá¯ááºáá»á¬ážá¡á¬ážáá¯á¶ážáá²á·ááá¯á·áááºá áááºážááẠOpenShift ááááºáá±á¬ááºážá¡áá»áá¯ážáá»áá¯ážááŸáá·áº ááœá²á·á ááºážááŸá¯áá¯á¶á á¶áá»á¬ážááœáẠá á±á·á á±á·á ááºá ááºá ááºážáááºááŒááºážááŸáá·áº ááá¬ážáááºááŒá±á¬ááºážááá¯ááá¯áááº
ááá¯á·á¡ááŒáẠRed Hat ááẠáá«ááá¬á¡áá»á¬ážá¡ááŒá¬ážááŸáá·áº Serverless áááºážááá¬áá»á¬ážááœáẠá¡áá®ážáááºáá°ážáá±á«ááºážáá±á¬ááºááœááºáá»ááºááŸáááŒá®áž Azure Functions ááŸáá·áº Microsoft ááŸáá·áº
á¡áááºá áááºááẠRed Hat OpenShift Serverless á á¡á ááºážááŒáá·áºáá¬ážááŸááºážááᯠááááºá ááá·áºááœááºážáá¬ážáá«á áááºážááᯠáá±áá°áá»áááŸáááá¯ááºááŸá¯ GA áá¬ážááŸááºážááá¯á· á¡ááá·áºááŒáŸáá·áºááá¯ááºáá«áááºá á€ááá á¹á ááœááºá áááºážááá¬á¡ááŒáá¯ááŒáá·áºááŸá¯ááŒááºážáá¬ážááŸááºážá¡ááœááºá áá¯á¶ááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž OLM á á¬áááºážááœááºážááŒááºážá¡ááºááááºáá»ááºáááºááᯠááŒááºáááºááŒááºáááºááẠááá¯á¡ááºáááºááŒá áºáááºá áá
ááááºážá 1. á
á¬áááºážááœááºážááŸá¯áá»ááºáááºááᯠá¡ááºááááºáá¯ááºááŒááºážá
á á¬áááºážááœááºážáá»ááºáááºááẠOpenShift Container Platform áá¬ážááŸááºáž 4.4 ááá¯á·ááá¯áẠ4.3 ááŸáá·áº ááá¯ááºáá®ááẠá¡ááºááááºáá¯ááºááá«áááºá
Knative Services - ááááºáááºážáááºáá±á¬ááºááŸá¯
OpenShift 4.4 ááẠOpenShift Serverless áá¯ááºáá±á¬ááºáá»ááºááŒáá·áº á¡ááá®áá±ážááŸááºážáá»á¬ážá ááŒáá·áºáá»ááºááŸá¯ááᯠá¡ááœááºááá¯ážááŸááºážá á±ááŒá®ážá áááºááẠOpenShift áááºááœááºááá¯ážááºá Developer áá¯ááºá០Knative áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠááá¯ááºááá¯ááºá¡áá¯á¶ážáá»ááẠááœááºáá°á á±áááºá
ááá±á¬áá»ááºáá áºáá¯ááá¯á· á¡ááá®áá±ážááŸááºážá¡áá áºáá áºáá¯ááᯠááá·áºáá±á¬á¡áá«á áááºážá¡ááœáẠKnative Service á¡áááºážá¡ááŒá áºá¡áá»áá¯ážá¡á á¬ážááᯠáááºááŸááºááẠáá¯á¶áá±á¬ááºáááºá ááá¯á·ááŒá±á¬áá·áº OpenShift Serverless áá¯ááºáá±á¬ááºáá»ááºááᯠáá»ááºáá»ááºážá¡áááºááœááºážáᬠáá¯á¶ááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž standby áá¯ááºááœáẠáá¯áá¡áá á¡ááá¯ááºážá¡áá¬ááᯠááœáá·áºáá±ážáááºá áá
ááááºážá 2. á¡áááºážá¡ááŒá
áºá¡áá»áá¯ážá¡á
á¬ážá¡ááŒá
ẠKnative Service ááᯠááœá±ážáá»ááºáá«á
Kourier ááᯠá¡áá¯á¶ážááŒá¯á ááœááºáá°áá±á¬áááºáááºááŸá¯
áá»áœááºáá±á¬áº áá±ážáá¬ážááŒá®ážáá¬ážáá«á
áá±áá¯áá»á¡á¬ážááŒáá·áºá á€ááá¯ážáááºááŸá¯áá»á¬ážá¡ááŒáẠOpenShift 4.3.5 ááœáẠááá¯ážáááºááŸá¯áá»á¬ážááẠáá¯á¶á¡ááœááºá¡á
á¬ážáá±á«áº áá°áááºá ááŒáá¯áááºáááºáá±á¬ááºáá¬ážáá±á¬ ááœááºááááºáá¬á០á¡ááá®áá±ážááŸááºážáá»á¬áž áááºáá®ážááŸá¯ááᯠ40-50% á¡ááŸáááºááŒáŸáá·áºáá±ážáááºá
Ðак вÑе пÑПОÑÑ
ÐŸÐŽÐžÑ Ð±ÐµÐ· ОÑпПлÑÐ·ÐŸÐ²Ð°ÐœÐžÑ Kourier, ЌПжМП ÑвОЎеÑÑ ÐœÐ° РОÑ.3:
ááááºážá 3. Kourier ááᯠá¡áá¯á¶ážáááŒá¯ááá·áº ááá
á¹á
áá»á¬ážááœáẠá¡ááá®áá±ážááŸááºáž áááºáá®ážáá»áááºá
Kourier ááá¯á¡áá¯á¶ážááŒá¯áá±á¬á¡áá« á¡áá¬á¡á¬ážáá¯á¶ážááŒá áºáá»ááºáá¯á¶ááᯠáá¯á¶ 4 ááœááºááŒáá·áºááŸá¯ááá¯ááºáááº-
ááááºážá 4. Kourier ááá¯á¡áá¯á¶ážááŒá¯ááá·áºá¡áá« á¡ááá®áá±ážááŸááºážáááºáá®ážáá»áááºá
á¡ááá¯á¡áá»á±á¬ááºáá¯ááºááœáẠTLS/SSL
OpenShift Serverless ááẠááᯠááá·áº Knative Service á OpenShift áááºážááŒá±á¬ááºážá¡ááœáẠTLS/SSL ááᯠá¡ááá¯á¡áá»á±á¬áẠáááºáá®ážááŒá®áž á¡áá¯á¶ážáá»ááá¯ááºááŒá®ááŒá áºáá±á¬ááŒá±á¬áá·áº ááá·áºá¡ááá®áá±ážááŸááºážááœáẠáá¯ááºáá±á¬ááºáá±á áẠá€á¡ááºá¹áá«áááºáá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááŸáá·áº ááááºážááááºážááŒááºážá¡ááœáẠá áá¯ážááááºá áᬠáááá¯áá«á áá áºáááºážááá¯ááá±á¬áºá Red Hat OpenShift á០áá°ááá¯ááºážáá»áŸá±á¬áºááá·áºáá¬ážááá·áº áá¯á¶ááŒá¯á¶áá±ážá¡ááá·áºááᯠááááºážááááºážáá¬ážá ááºááœáẠServerless ááẠTSL ááŸáá·áº áááºá ááºáá±áá±á¬ ááŸá¯ááºááœá±ážááŸá¯áá»á¬ážááᯠáá±á¬á·ááºáá²áá±ážáá¬ážáá°ááᯠáááºáá¬á á±áááºá
OpenShift Serverless Command Line Interface
OpenShift Serverless ááœáẠáááºážááᯠkn áá¯áá±á«áºááŒá®áž áá¯á¶ááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž Command Line Tools á á¬áá»ááºááŸá¬ááŸá OpenShift ááœááºááá¯ážááºááœáẠááá¯ááºááá¯ááºáááŸáááá¯ááºáááºá á -
ááááºážá 5. OpenShift Serverless CLI áá±á«ááºážáá¯ááºá
á¬áá»ááºááŸá¬á
á€á á¬áá»ááºááŸá¬á០áááºáá±á«ááºážáá¯ááºáá¯ááºáá±á¬á¡áá«á áááºááẠRed Hat á០á á áºáá±ážá¡áááºááŒá¯ááŒá®áž Malware áááºážá ááºááŒá±á¬ááºáž á¡á¬ááá¶áá¬ážááá·áº MacOSá Windows ááá¯á·ááá¯áẠLinux á¡ááœáẠkn áá¬ážááŸááºážááᯠáááºáááŸááááºááŒá áºáááºá
áá¯á¶ááœááºá áá¯á¶ 6 ááẠá áá¹ááá·áºááá¯ááºážá¡ááœááºáž URL ááŸáá áºááá·áº áááºáá±á¬ááºá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº OpenShift ááááºáá±á¬ááºážáá±á«áºááœáẠapplication instance áá áºáá¯ááá¯áááºáá®ážááẠcommand áá áºáá¯áááºážááŒáá·áº áááºáá±á¬ááºááŸá¯áá áºáá¯á¡á¬áž áááºá¡áá¯á¶ážááŒá¯ááá¯ááºáá¯á¶ááᯠkn ááœááºááŒááá¬ážáááº-
ááááºážá 6. kn command line interface ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážá
á€áááááá¬ááẠYAML ááœá²á·á ááºážááŸá¯áá¯á¶á á¶áá»á¬ážááᯠááŒáá·áºááŸá¯ááẠááá¯á·ááá¯áẠáááºážááŒááºáááºáááá¯áá² Serverless Serving ááŸáá·áº Eventing á¡áááºážá¡ááŒá áºáá»á¬ážááᯠá¡ááŒáá·áºá¡áá á®áá¶ááá·áºááœá²ááá¯ááºá á±áá«áááºá
ááœááºááá¯ážááºá áá±á¬á·ááºáá²á¡ááºáá»ááºáá®áá¬áá¯ááºááœáẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ Topology ááŒááºááœááºáž
ááᯠááá¯ážáááºáá¬áá±á¬ Topology ááŒááºááœááºážááẠKnative áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá á®áá¶ááá·áºááœá²ááẠáááºááá¯á·ááœááºáá°á á±áááºááᯠááŒáá·áºááŒáá«á áá¯á·á
Knative Service - áááá¯ááŒá¯ ááŒááºáá±á¬ááºááŸá¯
Topology ááŒááºááœááºážá á¬áá»ááºááŸá¬ááŸá Knative Services ááẠáá¯á¶ 7 ááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž áááºážááŒááºááŸá¯á¡á¬ážáá¯á¶ážáá«áááºáá±á¬ áá±á¬áá·áºááŸááºá áá¯áá¶áá áºáá¯á¡ááŒá ẠááŒááááº-
ááááºážá 7. Topology ááŒááºááœááºážá
á¬áá»ááºááŸá¬ááŸá Knative áááºáá±á¬ááºááŸá¯áá»á¬ážá
á€áá±áá¬ááœáẠáááºááẠKnative Service á¡ááœá¬ážá¡áᬠááŒáá·áºááŒá°ážááŸá¯á áááºááŸááá¬ááá¯ááºááŸá¯ááºážáá»á¬ážááᯠáá»ááºáá»ááºážááœá±á·ááŒááºááá¯ááºááŒá®áž ááœá±ážáá»ááºáá¬ážáá±á¬á¡ááœá²á·á¡ááœááºáž ááŒá áºáá»ááºáá±ááá·áºá¡áá¬áá»á¬ážááᯠá¡ááœááºááá°ááŒáá·áºááŸá¯ááá¯ááºááẠá¡ááá®áá±ážááŸááºážá¡á¯ááºá á¯á¡ááœááºáž Knative áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá¡á¯ááºá á¯ááœá²á·áá«á
OpenShift Knative Services á á¬áááºážáá»á¬ážááᯠáá±á«ááºááááºážáá«á
á¡á¯ááºá á¯ááœá²á·ááŒááºážáá¡áááºážá¡áá»ááºážááᯠáááºáááºáá¯ááºáá±á¬ááºááŒááºážááŒáá·áºá OpenShift 4.4 ááœáẠááá±á¬áá»ááºááœáẠááá¯ááá¯ááŸá¯ááºááœá±ážáá±á¬á¡ááá®áá±ážááŸááºážáá»á¬ážááá¯á¡áá¯á¶ážááŒá¯ááá·áºá¡áá« áááºáá±á¬ááºááŸá¯áá»á¬ážááá¯ááá¯ááá¯á¡áááºááŒá±á áœá¬ááŒáá·áºááŸá¯áááºááŸáá·áº á á®áá¶ááá·áºááœá²áááºá¡ááœáẠá¡ááºááºá¡ááœá²á·áá áºáá¯á¡ááœááºáž Knative Services ááᯠááŒáá¯ááœá²á á±áááºáá¯ááá¯ááá«áááºá
á¡áá±ážá áááºáááºáá±á¬ááºááŸá¯
OpenShift 4.4 ááẠKnative Services á¡ááœáẠsidebar ááᯠááá¯ááá¯áá±á¬ááºážááœááºá á±áááºá Podsá Revisions ááŸáá·áº Routes áá²á·ááá¯á·áá±á¬ áááºáá±á¬ááºááŸá¯á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠááŒáááá·áºáá±áá¬ááœáẠResources áááºááºáá áºáᯠáá±á«áºáá¬áá«áááºá á€á¡á áááºá¡ááá¯ááºážáá»á¬ážááẠáá áºáŠážáá»ááºážá á® pod ááŸááºáááºážáá»á¬ážááá¯á· áá»ááºááŒááºááœááºáá°á áœá¬ áááºážááœáŸááºáá±ážáá«áááºá
Topology ááŒááºááœááºážááẠáá¬ááºá¡ááœá¬ážá¡áᬠááŒáá·áºááŒá°ážááŸá¯ áá¬ááá¯ááºááŸá¯ááºážáá»á¬ážááᯠááŒáááŒá®áž ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááᯠáá»ááºááŒááºá áœá¬ ááŒá±á¬ááºážáá²ááá¯ááºá á±áá«áááºá ááá¯á·ááŒá±á¬áá·áºá áá¯á¶ááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž áá±ážáá¬ážááá·áºááŒááºáááºááŒááºáááºááŸá¯á¡ááœáẠáá¯ááºáá±á¬ááºáá±ááá·áº pods á¡áá±á¡ááœááºááŒáá·áº ááœá±ážáá»ááºáá¬ážáá±á¬ Knative Service á¡ááœáẠá¡ááœá¬ážá¡áá¬ááŒáá·áºáá±ááŸá¯ááᯠá¡áá»áááºááŸáá·áºáááŒá±ážáá® ááŸá¬ááœá±ááá¯ááºáááºááŒá áºáááºá áá
ááááºážá 8. Knative Service á¡ááœá¬ážá¡áᬠááŒáá·áºááŒá°ážááŒááºážá
Serverless Revisions áá»á¬ážááᯠááá¯ááá¯áááºááŸáá¯ááºážá áœá¬ááŒáá·áºááŸá¯áá«á
ááá¯á·á¡ááŒááºá Topology ááŒááºááœááºážááẠááᯠáááºááœá±ážáá»ááºáá¬ážáá±á¬ ááŒááºáááºááŒááºáááºááŸá¯á¡ááœááºáž ááá¯ááá¯áááºááŸáá¯ááºážá áœá¬ááŒáá·áºááŸá¯ááá¯ááºá á±áááºá á¥ááá¬á áááºážá pods á¡á¬ážáá¯á¶ážááᯠáá»ááºááŒááºá áœá¬ááŒáá·áºááŸá¯ááá¯ááºááŒá®áž ááá¯á¡ááºáá«á áááºážááá¯á·áááŸááºáááºážáá»á¬ážááᯠááŒáá·áºááŸá¯ááá¯ááºáááºá ááá¯á·á¡ááŒááºá á€ááŒááºááœááºážááœááºá áá¯á¶ 9 ááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž áááºážááŒááºááŸá¯áááŒáá·áºáá»ááºááŸá¯ááŸáá·áº ááœá²á·á ááºážááŸá¯áá¯á¶á á¶áá»á¬ážááᯠá¡ááœááºááá°áááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºááá·áºá¡ááŒááºá áá¯á¶ XNUMX ááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž á¡ááá¯áá«ááŒááºáááºááŸá¯ááá¯á·ááá¯ááºááá¯ááºááœáŸááºááŒááá·áºáááºážááŒá±á¬ááºážááœá²áá áºáá¯ááᯠá¡ááœááºááá°áááºáá±á¬ááºááá¯ááºáááºá XNUMX:
ááááºážá 9. á
á¬áááºážá
á
áºáá»á¬ážááŸáá·áºáááºá
ááºáá±á¬á¡áááºážá¡ááŒá
áºáá»á¬ážá
á¡áááºáá±á¬áºááŒáá« áá®ááœááºáááºážáá áºááŸá¯áá»á¬ážááẠáá¬áá¬áá²á·á¡ááºááá®áá±ážááŸááºážáá»á¬ážááᯠáááºáá®ážááŒááºážááŸáá·áº á á®áá¶ááá·áºááœá²áá¬ááœáẠááá·áºá¡ááœáẠá¡áá¯á¶ážáááºáááºáᯠáá»áœááºá¯ááºááá¯á· áá»áŸá±á¬áºááá·áºáá¬ážááŒá®áž áá±á¬ááºáá¬ážááŸááºážáá»á¬ážááœáẠdeveloper áá»á¬ážá¡ááœáẠááá¯á¡áá¯á¶ážáááºáá±á¬ á¡ááºá¹áá«áááºáá»á¬áž á¥ááá¬á ááœá²á¡áááºážá¡ááŒá áºáááºáá®ážááá¯ááºááŸá¯ááŸáá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážáá«áááºáá¬áááºááŒá áºáááºá
á áááºáááºá á¬ážáá²á·áááº?
áá¯á¶á·ááŒááºáá»ááºááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠá¡áá±ážááŒá®ážáá«áááºá
ááá¯ááá¯ááááŸáááá¯áá«á,
OpenShift Serverless á¡áááºážá¡ááŒá áºáá»á¬áž OpenShift Serverless ááŸáá·áº Knative Knative Tutorial OpenShift ááááºáá±á¬ááºážáá±á«áºááœáẠá¡ááºááºáá®áá±ážááŸááºáž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ OpenShift Serverless ááááºáááº
source: www.habr.com