{"id":20999,"date":"2024-10-01T13:49:54","date_gmt":"2024-10-01T11:49:54","guid":{"rendered":"https:\/\/www.orbit.cz\/?post_type=encyklopedie-cloudu&#038;p=20999"},"modified":"2024-10-31T10:22:56","modified_gmt":"2024-10-31T09:22:56","slug":"deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup","status":"publish","type":"encyklopedie-cloudu","link":"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/","title":{"rendered":"Cloud-native approach to application deployment in Kubernetes"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"536\" src=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-3-1-1024x536.jpg\" alt=\"Application Deployment in Kubernetes | ORBIT\" class=\"wp-image-21054\" style=\"width:846px;height:auto\" srcset=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-3-1-1024x536.jpg 1024w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-3-1-300x157.jpg 300w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-3-1-768x402.jpg 768w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-3-1-18x9.jpg 18w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-3-1.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n<style>.wp-block-kadence-column.kb-section-dir-horizontal > .kt-inside-inner-col > .kt-info-box20999_bf2e57-85 .kt-blocks-info-box-link-wrap{max-width:unset;}.kt-info-box20999_bf2e57-85 .kt-blocks-info-box-link-wrap{background:#ffffff;padding-top:var(--global-kb-spacing-xs, 1rem);padding-right:var(--global-kb-spacing-xs, 1rem);padding-bottom:var(--global-kb-spacing-xs, 1rem);padding-left:0px;}.kt-info-box20999_bf2e57-85.wp-block-kadence-infobox{max-width:100%;}.kt-info-box20999_bf2e57-85 .kadence-info-box-image-inner-intrisic-container .kadence-info-box-image-intrisic{padding-bottom:100%;max-width:100%;}.kt-info-box20999_bf2e57-85 .kadence-info-box-icon-container .kt-info-svg-icon, .kt-info-box20999_bf2e57-85 .kt-info-svg-icon-flip, .kt-info-box20999_bf2e57-85 .kt-blocks-info-box-number{font-size:50px;}.kt-info-box20999_bf2e57-85 .kt-blocks-info-box-media{border-radius:200px;overflow:hidden;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;}.kt-info-box20999_bf2e57-85 .kt-infobox-textcontent p.kt-blocks-info-box-title{font-size:var(--global-kb-font-size-md, 1.25rem);padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;margin-top:0px;margin-right:0px;margin-bottom:10px;margin-left:0px;}.kt-info-box20999_bf2e57-85 .kt-blocks-info-box-learnmore{background:transparent;border-width:0px 0px 0px 0px;padding-top:4px;padding-right:8px;padding-bottom:4px;padding-left:8px;margin-top:10px;margin-right:0px;margin-bottom:10px;margin-left:0px;}<\/style>\n<div class=\"wp-block-kadence-infobox kt-info-box20999_bf2e57-85 orbit-testimonial-second\"><span class=\"kt-blocks-info-box-link-wrap info-box-link kt-blocks-info-box-media-align-left kt-info-halign-left\"><div class=\"kt-blocks-info-box-media-container\"><div class=\"kt-blocks-info-box-media kt-info-media-animate-none\"><\/div><\/div><div class=\"kt-infobox-textcontent\"><p class=\"kt-blocks-info-box-title\">\"Application deployment in Kubernetes is often the bogeyman. Which approach to choose? What works best for developers and provides enough control? Let's explore the options for cloud-native approaches to application deployment in Kubernetes under public cloud providers.\"<\/p><p class=\"kt-blocks-info-box-text\">Adam Felner<br><\/p><\/div><\/span><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"952\" height=\"448\" src=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/d9d1d39b8b35b438b89395a276394835eac9ce7b-2800x1318-1.webp\" alt=\"Application Deployment in Kubernetes | ORBIT\" class=\"wp-image-21015\" style=\"width:586px;height:auto\" srcset=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/d9d1d39b8b35b438b89395a276394835eac9ce7b-2800x1318-1.webp 952w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/d9d1d39b8b35b438b89395a276394835eac9ce7b-2800x1318-1-300x141.webp 300w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/d9d1d39b8b35b438b89395a276394835eac9ce7b-2800x1318-1-768x361.webp 768w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/d9d1d39b8b35b438b89395a276394835eac9ce7b-2800x1318-1-18x8.webp 18w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>(Source: <a href=\"https:\/\/www.okteto.com\/blog\/preview-environments-for-kubernetes\/\">https:\/\/www.okteto.com\/blog\/preview-environments-for-kubernetes\/<\/a>)<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a><strong>What is Kubernetes?<\/strong><\/a><\/h2>\n\n\n\n<p>Kubernetes is an open-source platform for <strong>container orchestration<\/strong>that automates the deployment, scaling and management of containerised applications. Over the past 10 years, Kubernetes has become the clear choice for running containerized applications, thanks to its orchestration, robust and flexible platform for easily scalable systems.<\/p>\n\n\n\n<p>Kubernetes is available from mainstream public cloud providers such as <span style=\"text-decoration: underline;\"><a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/soustredme-se-na-aplikace-platform-as-a-service-paas\/\" target=\"_blank\" rel=\"noreferrer noopener\">PaaS<\/a><\/span>, but it can also be managed on VMs in <span style=\"text-decoration: underline;\"><a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/stavime-zaklady-infrastructure-as-a-service-iaas\/\" target=\"_blank\" rel=\"noreferrer noopener\">I<\/a><a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/stavime-zaklady-infrastructure-as-a-service-iaas\/\">aaS<\/a><\/span> (similar to on-premise environments) - however, we recommend using IaaS only in very specific scenarios. We took a closer look at Kubernetes <a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/proc-a-jak-zacit-s-kubernetes\/\" target=\"_blank\" rel=\"noreferrer noopener\">in the previous<\/a><a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/proc-a-jak-zacit-s-kubernetes\/\">the following article<\/a>.<\/p>\n\n\n\n<p>Cloud adoption has also contributed to this for cloud-native practices by adhering to the core principles of cloud computing - scalability, resilience and microservice architecture, which underscores the use of Kubernetes to get applications up and running quickly and efficiently.<a id=\"_msocom_1\"><\/a><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"430\" height=\"308\" src=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/d9d1d39b8b35b438b89395a276394835eac9ce7b.png\" alt=\"The principle of cloud-native computing with containers | ORBIT\" class=\"wp-image-21016\" srcset=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/d9d1d39b8b35b438b89395a276394835eac9ce7b.png 430w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/d9d1d39b8b35b438b89395a276394835eac9ce7b-300x215.png 300w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/d9d1d39b8b35b438b89395a276394835eac9ce7b-18x12.png 18w\" sizes=\"auto, (max-width: 430px) 100vw, 430px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>The principle of cloud-native computing with containers<\/em> <br><em>(Source: <\/em><a href=\"https:\/\/www.ridge.co\/blog\/cloud-native-applications-explained\/\"><em>https:\/\/www.ridge.co\/blog\/cloud-native-applications-explained\/<\/em><\/a><em>)<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Principles <a>cloud-native computing<\/a><\/strong><\/h2>\n\n\n\n<p>Cloud-native computing is a set of practices designed to take full advantage of models <a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/zaciname-co-je-cloud-computing\/\" target=\"_blank\" rel=\"noreferrer noopener\">cloud comp<\/a><a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/zaciname-co-je-cloud-computing\/\">utingu<\/a>. These practices include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Microservices architecture:<\/strong> Split applications into small, independent services that can be deployed and scaled individually.<\/li>\n\n\n\n<li><strong>Continuous delivery:<\/strong> Automation of the release process to enable frequent and reliable application updates.<\/li>\n\n\n\n<li><strong>Resilience:<\/strong> Designing applications to withstand failures and recover quickly.<\/li>\n\n\n\n<li><strong>Scalability:<\/strong> Ensuring that applications can scale up or down based on demand.<\/li>\n<\/ul>\n\n\n\n<p>These principles are more fully introduced in the articles <a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/proc-tvorit-cloud-native-aplikace-v-cloudu-nic-jineho-ani-nedava-smysl\/\">Why create cloud native applications? In the cloud, nothing else even makes sense<\/a><a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/proc-tvorit-cloud-native-aplikace-v-cloudu-nic-jineho-ani-nedava-smysl\/\" target=\"_blank\" rel=\"noreferrer noopener\">l<\/a>, <a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/kontejnery-v-oblacich-jak-je-vyuzit-v-cloudu\/\" target=\"_blank\" rel=\"noreferrer noopener\">K<\/a><a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/kontejnery-v-oblacich-jak-je-vyuzit-v-cloudu\/\">ontainers in the clouds - how to use them in the cloud?<\/a> and&nbsp;<a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/deployment-pipelines-jdeme-na-to-v-cloudu\/\" target=\"_blank\" rel=\"noreferrer noopener\">D<\/a><a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/deployment-pipelines-jdeme-na-to-v-cloudu\/\">eployment pipeline: let's go for it in the cloud!<\/a><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/1__cu-mK1XnWbYIhKlW-Z9Xw-1024x574.webp\" alt=\" Example of using containers in the cloud | ORBIT\" class=\"wp-image-21017\" style=\"width:778px;height:auto\" srcset=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/1__cu-mK1XnWbYIhKlW-Z9Xw-1024x574.webp 1024w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/1__cu-mK1XnWbYIhKlW-Z9Xw-300x168.webp 300w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/1__cu-mK1XnWbYIhKlW-Z9Xw-768x431.webp 768w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/1__cu-mK1XnWbYIhKlW-Z9Xw-1536x862.webp 1536w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/1__cu-mK1XnWbYIhKlW-Z9Xw-18x10.webp 18w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/1__cu-mK1XnWbYIhKlW-Z9Xw.webp 2000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>Sample use of containers in the cloud<\/em><br><em>(source<a>: <\/a><\/em><a href=\"https:\/\/aws.plainenglish.io\/deploy-cloud-native-monitoring-app-on-kubernetes-42ca974cd47c\"><em>https:\/\/aws.plainenglish.io\/deploy-cloud-native-monitoring-app-on-kubernetes-42ca974cd47c<\/em><\/a><em>)<\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" src=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/DevOpsMaturityModel.png\" alt=\"Cloud-native maturity levels | ORBIT\" class=\"wp-image-21018\" style=\"width:728px;height:auto\" srcset=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/DevOpsMaturityModel.png 1024w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/DevOpsMaturityModel-300x141.png 300w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/DevOpsMaturityModel-768x361.png 768w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/DevOpsMaturityModel-18x8.png 18w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>Cloud-native maturity levels<\/em><br><em>(Source: <\/em><a href=\"https:\/\/www.burwood.com\/devops-adoption\"><em>https:\/\/www.burwood.com\/devops-adoption<\/em><\/a><em> )<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Deployment in Kubernetes: what are our options?<\/strong><\/h2>\n\n\n\n<p>Application deployment in Kubernetes is one of the key functionalities of this platform, which enables efficient management of applications in a containerized environment. Kubernetes offers multiple ways to deploy and keep applications running, ensuring high availability, fault tolerance, and the ability to scale dynamically.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Manual deployment in Kubernetes using Kubectl<\/h3>\n\n\n\n<p><span style=\"text-decoration: underline;\"><a href=\"https:\/\/kubernetes.io\/docs\/reference\/kubectl\/\">Kubect<\/a><a href=\"https:\/\/kubernetes.io\/docs\/reference\/kubectl\/\" target=\"_blank\" rel=\"noreferrer noopener\">l<\/a><\/span><strong> <\/strong>is a command-line tool for interacting with the Kubernetes API server. It allows users to <strong>deploy applications by directly applying configuration files<\/strong>, making it a straightforward option for resource management in Kubernetes.<\/p>\n\n\n\n<p><strong>Benefits:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Simplicity and direct control over Kubernetes resources<\/li>\n\n\n\n<li>Flexibility in manual configuration of resources<\/li>\n<\/ul>\n\n\n\n<p><strong>Disadvantages:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It can become complex and error-prone with larger deployments.<\/li>\n\n\n\n<li>There are no built-in mechanisms for versioning or templating.<\/li>\n<\/ul>\n\n\n\n<p><strong>Best practices:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use version control systems to manage your YAML configuration files.<\/li>\n\n\n\n<li>Validate your configuration files before deployment with tools like <em>Kubeval<\/em> or <em>Kustomize<\/em>.<\/li>\n\n\n\n<li>Automate repetitive tasks using scripts or CI\/CD pipelines.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. Deployment in Kubernetes using Helm Charts<\/h3>\n\n\n\n<p><span style=\"text-decoration: underline;\"><a href=\"https:\/\/helm.sh\/\">Hel<\/a><a href=\"https:\/\/helm.sh\/\" target=\"_blank\" rel=\"noreferrer noopener\">m<\/a><\/span><strong> <\/strong>is a package manager for Kubernetes that <strong>simplifies application deployment by packaging resources into charts<\/strong>. Helm chart is a collection of files that describe a related set of Kubernetes resources.<\/p>\n\n\n\n<p>Helm chart typically includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>chart.yaml: charter metadata,<\/li>\n\n\n\n<li>values.yaml: default configuration values,<\/li>\n\n\n\n<li>templates: templated Kubernetes manifests that are rendered using<em> values.yaml<\/em> file.<\/li>\n<\/ul>\n\n\n\n<p><strong>Benefits:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Simplifies deployment and management of complex applications.<\/li>\n\n\n\n<li>Supports templating and dynamic resource configuration.<\/li>\n<\/ul>\n\n\n\n<p><strong>Disadvantages:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It can bring complexity for small or simple deployments of small objects.<\/li>\n\n\n\n<li>Requires knowledge of Helm-specific templating and syntax.<\/li>\n<\/ul>\n\n\n\n<p><strong>Best practices:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <em>Helm <\/em>to package and distribute your apps for easy deployment and management throughout the app lifecycle.<\/li>\n\n\n\n<li>Take advantage of templating features <em>Helmet <\/em>to customize deployments based on environment-specific requirements.<\/li>\n<\/ul>\n\n\n\n<p>Follow best practices for versioning and release management to maintain consistency and reliability.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"672\" src=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/2023-03-16-image2-1024x672.avif\" alt=\" Deployment in Kubernetes using Helm Charts | ORBIT\" class=\"wp-image-21041\" style=\"width:534px;height:auto\" srcset=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/2023-03-16-image2-1024x672.avif 1024w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/2023-03-16-image2-300x197.avif 300w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/2023-03-16-image2-768x504.avif 768w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/2023-03-16-image2-18x12.avif 18w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/2023-03-16-image2.avif 1500w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>Deployment using Helm Charts<\/em><br><em>(Source: <\/em><a href=\"https:\/\/circleci.com\/blog\/what-is-helm\/\"><em>https:\/\/circleci.com\/blog\/what-is-helm\/<\/em><\/a><em>)<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Kustomize for configuration management<\/h3>\n\n\n\n<p><span style=\"text-decoration: underline;\"><a href=\"https:\/\/kustomize.io\/\">Kustomiz<\/a><a href=\"https:\/\/kustomize.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">e<\/a><\/span><strong> <\/strong>is a configuration management tool that allows users to <strong>customize Kubernetes manifests without modifying the original files<\/strong>. It uses the concept of overlays and patches to apply changes dynamically.<\/p>\n\n\n\n<p>Kustomize features:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Overlays: define the changes to be applied to the base configurations.<\/li>\n\n\n\n<li>Patches: specify modifications to existing manifests using JSON or YAML patches.<\/li>\n<\/ul>\n\n\n\n<p><strong>Benefits:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Allows easy customization of resources without duplicating configurations.<\/li>\n\n\n\n<li>Integrates well with&nbsp;<em>Kubectl<\/em>, eliminating the need for additional tools.<\/li>\n<\/ul>\n\n\n\n<p><strong>Disadvantages:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Requires an understanding of syntax and patching mechanisms <em>Kustomize<\/em>.<\/li>\n\n\n\n<li>It doesn't have to be as feature-rich as <em>Helm <\/em>for complex deployments.<\/li>\n<\/ul>\n\n\n\n<p><strong>Best practices:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use Kustomize to manage environment-specific configurations and overlays.<\/li>\n\n\n\n<li>Organize your configurations into bases and overlays to facilitate reuse and sustainability.<\/li>\n\n\n\n<li>Validate your customizations with <em>Kustomize build<\/em> before applying them to the cluster.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4. GitOps approach with Argo CD and Flux<\/h3>\n\n\n\n<p><strong>GitOps<\/strong> is a methodology that <strong>used <em>Git <\/em>as the single source of truth for declarative infrastructure and application deployment<\/strong>. Changes to the infrastructure are made via pull requests and are automatically applied to the cluster using the GitOps tool. We cover this topic in detail in the article <a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/sprava-cloudu-3-prejdete-na-gitops-moderni-koncept-rizeni-a-provozu-aplikaci-a-infrastruktury\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cloud Management 3: Move to GitOps - a modern approach to managing and operating applications and infrastructure<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"409\" src=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/Untitled-2-1024x409-1.png\" alt=\"GitOps workflow | ORBIT\" class=\"wp-image-21042\" style=\"width:628px;height:auto\" srcset=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/Untitled-2-1024x409-1.png 1024w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/Untitled-2-1024x409-1-300x120.png 300w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/Untitled-2-1024x409-1-768x307.png 768w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/Untitled-2-1024x409-1-18x7.png 18w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>GitOps workflow<\/em><br><em>(Source: <\/em><a href=\"https:\/\/www.spiceworks.com\/tech\/devops\/articles\/what-is-gitops\/\"><em>https:\/\/www.spiceworks.com\/tech\/devops\/articles\/what-is-gitops\/<\/em><\/a><em>)<\/em><\/p>\n\n\n\n<p><strong>Overview of Argo CD and Flux:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Argo CD:<\/strong> A declarative GitOps continuous delivery tool in Kubernetes that monitors Git repositories for changes and syncs them with the cluster.<\/li>\n\n\n\n<li><strong>Flux:<\/strong> A suite of continuous and incremental delivery solutions for Kubernetes that automate resource deployment based on Git commits.<\/li>\n<\/ul>\n\n\n\n<p><strong>Benefits:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Provides a clear audit trail of changes via Git history.<\/li>\n\n\n\n<li>Enables collaboration and peer review of infrastructure changes.<\/li>\n<\/ul>\n\n\n\n<p><strong>Disadvantages:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Requires integration with CI\/CD pipeline and Git repositories.<\/li>\n\n\n\n<li>It can bring complexity in managing GitOps configurations and repositories.<\/li>\n<\/ul>\n\n\n\n<p><strong>Best practices:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Organize your Kubernetes manifests and configurations in Git repositories, following a clear structure.<\/li>\n\n\n\n<li>Use Git branches and pull requests to manage changes and enable peer review.<\/li>\n\n\n\n<li>Integrate GitOps tools like Argo CD or Flux with your CI\/CD pipeline for automated deployments.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5. Serverless deployments with Knative<\/h3>\n\n\n\n<p><span style=\"text-decoration: underline;\"><a href=\"https:\/\/knative.dev\/docs\/\" target=\"_blank\" rel=\"noreferrer noopener\">K<\/a><a href=\"https:\/\/knative.dev\/docs\/\">native<\/a><\/span> is a Kubernetes-based platform that <strong>extends Kubernetes capabilities to support serverless workloads<\/strong>. It provides the building blocks for deploying and managing serverless applications:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Knative Serving:<\/strong> Manages the deployment and scaling of serverless applications.<\/li>\n\n\n\n<li><strong>Knative Eventing:<\/strong> It provides a framework for consumption and event production.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"370\" height=\"244\" src=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/knative-audience-.png\" alt=\"Knative workflow diagram showcase | ORBIT\" class=\"wp-image-21046\" srcset=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/knative-audience-.png 370w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/knative-audience--300x198.png 300w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/knative-audience--18x12.png 18w\" sizes=\"auto, (max-width: 370px) 100vw, 370px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>Knative workflow diagram showcase<\/em><br><em>(Source: <\/em><a href=\"https:\/\/knative.dev\/docs\/community\/\"><em>https:\/\/knative.dev\/docs\/community\/<\/em><\/a><em>)<\/em><\/p>\n\n\n\n<p><strong>Benefits:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Simplifies deployment and scaling of serverless applications.<\/li>\n\n\n\n<li>Reduces infrastructure management overhead by abstracting serverless workloads.<\/li>\n<\/ul>\n\n\n\n<p><strong>Disadvantages:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Adds complexity for non-serverless applications.<\/li>\n\n\n\n<li>Requires an understanding of Knative components and configurations.<\/li>\n<\/ul>\n\n\n\n<p><strong>Best practices:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use Knative to deploy microservices and event-driven applications that benefit from serverless architectures.<\/li>\n\n\n\n<li>Take advantage of Knative's autoscaling and event-driven functionality to optimize resource utilization.<\/li>\n\n\n\n<li>Monitor and manage Knative components to ensure optimal performance and reliability.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6. Deployment in Kubernetes based on operators<\/h3>\n\n\n\n<p><strong>Kubernetes operators<\/strong> are custom controllers that <strong>extend the capabilities of Kubernetes to manage complex applications<\/strong>. Operators automate the deployment, scaling and management of application-specific resources. Operators are developed using the Kubernetes Operator SDK, which provides tools and libraries for building custom controllers.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1021\" height=\"697\" src=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/a-picture-containing-clock-description-automatica.png\" alt=\"Workflow Operators in Azure | ORBIT\" class=\"wp-image-21047\" style=\"width:643px;height:auto\" srcset=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/a-picture-containing-clock-description-automatica.png 1021w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/a-picture-containing-clock-description-automatica-300x205.png 300w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/a-picture-containing-clock-description-automatica-768x524.png 768w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/a-picture-containing-clock-description-automatica-18x12.png 18w\" sizes=\"auto, (max-width: 1021px) 100vw, 1021px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>Workflow Operators in Azure<\/em><br><em>(Source: <\/em><a href=\"https:\/\/devblogs.microsoft.com\/ise\/azure-service-operators-a-kubernetes-native-way-of-deploying-azure-resources\/\"><em>https:\/\/devblogs.microsoft.com\/ise\/azure-service-operators-a-kubernetes-native-way-of-deploying-azure-resources\/<\/em><\/a><em>)<\/em><\/p>\n\n\n\n<p><strong>Benefits:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automates complex application lifecycle tasks reducing the need for manual intervention.<\/li>\n\n\n\n<li>Extends Kubernetes capabilities to manage application-specific resources.<\/li>\n<\/ul>\n\n\n\n<p><strong>Disadvantages:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Requires the development and maintenance of custom controllers.<\/li>\n\n\n\n<li>Adds complexity to the Kubernetes cluster.<\/li>\n<\/ul>\n\n\n\n<p><strong>Best practices:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use operators to automate the management of complex stateful applications and databases.<\/li>\n\n\n\n<li>Follow best practices for operator development and maintenance, including testing and versioning.<\/li>\n\n\n\n<li>Monitor and manage operator deployments to ensure reliability and performance.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Choosing the right deployment option<\/strong><\/h2>\n\n\n\n<p>When choosing a deployment option for your Kubernetes application, consider the following factors:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>complexity of the application<\/strong> - the complexity of your application and its dependencies<\/li>\n\n\n\n<li><strong>team expertise<\/strong> - Experience and skills of your team in managing Kubernetes deployments<\/li>\n\n\n\n<li><strong>operational requirements<\/strong> - the operational needs of your application, including scalability, resilience and monitoring<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Comparison table<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"><strong>Possibility of deployment<\/strong><\/th><th><strong>Benefits<\/strong><\/th><th><strong>Disadvantages<\/strong><\/th><th><strong>Use cases<\/strong><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Manual deployment<\/strong><\/td><td>Simplicity, direct control<\/td><td>Complexity for large deployments, lack of versioning<\/td><td>Small, simple deployments<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Helm Charts<\/strong><\/td><td>Simplifies complex deployments, supports templating<\/td><td>Brings complexity, requires knowledge of Helm<\/td><td>Complex, dynamic environments<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Kustomize<\/strong><\/td><td>Easy customization, no duplication of configurations<\/td><td>Requires an understanding of patch syntax<\/td><td>Environment-specific adaptations<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>GitOps (Argo CD, Flux)<\/strong><\/td><td>Clear audit trail, collaboration via Git<\/td><td>Complexity of integration, requires knowledge of GitOps<\/td><td>Automated, collaborative deployments<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Knative<\/strong><\/td><td>Simplifies serverless deployments, reduces overhead<\/td><td>Complexity for non-serverless applications, knowledge of Knative<\/td><td>Serverless applications, event-driven applications<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Operator-based deployments<\/strong><\/td><td>Automates complex tasks, extends Kubernetes capabilities<\/td><td>Development and maintenance of custom controllers<\/td><td>Complex state applications, databases<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Integrating cloud-native practices in Kubernetes deployments<\/strong><strong><em><\/em><\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Automation and CI\/CD pipeline<\/h3>\n\n\n\n<p>Automating your deployment processes is key to achieving consistency and reliability in your Kubernetes deployments. <strong>Integrate <\/strong><span style=\"text-decoration: underline;\"><a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/deployment-pipelines-jdeme-na-to-v-cloudu\/\">CI\/CD pipeline<\/a><a href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/deployment-pipelines-jdeme-na-to-v-cloudu\/\" target=\"_blank\" rel=\"noreferrer noopener\">e<\/a><\/span><strong> with your Kubernetes cluster<\/strong> to automate the build, test and deployment phases of your application lifecycle.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/pasted-image-0-1024x576.png\" alt=\"Automation and CI\/CD pipeline | ORBIT\" class=\"wp-image-21048\" style=\"width:534px;height:auto\" srcset=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/pasted-image-0-1024x576.png 1024w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/pasted-image-0-300x169.png 300w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/pasted-image-0-768x432.png 768w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/pasted-image-0-1536x864.png 1536w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/pasted-image-0-18x10.png 18w, http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/09\/pasted-image-0.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\">(z<em>Sources: <\/em><a href=\"https:\/\/www.seaflux.tech\/blogs\/ultimate-guide-kubernetes-deployment\"><em>https:\/\/www.seaflux.tech\/blogs\/ultimate-guide-kubernetes-deployment<\/em><\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tracing and monitoring<\/h3>\n\n\n\n<p>Implementing tracing and monitoring in your Kubernetes environment is essential to maintaining the health and performance of your applications. <strong>Use tools like <em>Prometheus<\/em>, <em>Grafana <\/em>and <em>Elasticsearch<\/em><\/strong> to monitor key metrics and gain insight into your application's behavior.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Security and compliance<\/h3>\n\n\n\n<p>Security and compliance are critical aspects in any Kubernetes deployment. <strong>Follow best practices for securing your cluster<\/strong>including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>implementation of network policies and access control,<\/li>\n\n\n\n<li>Usage <em>Key Valtov<\/em>, <em>Password Managers<\/em> and&nbsp;<em>Cert Storov<\/em> for sensitive data,<\/li>\n\n\n\n<li>regular updates and patching of your Kubernetes components.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Deployment in Kubernetes in a nutshell<\/strong><\/h2>\n\n\n\n<p>Kubernetes offers at any cloud provider <strong>a wide range of deployment options<\/strong>each with its own set of benefits and trade-offs. By understanding the options available and following cloud-native best practices, you can optimize your application deployments and achieve greater efficiency, scalability and reliability.<\/p>\n\n\n\n<p>For further learning and exploring the possibilities of Kubernetes and cloud-native deployment, we recommend<strong> the following resources<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kubernetes documentation: <a href=\"https:\/\/kubernetes.io\/\">Kubernetes.io<\/a><\/li>\n\n\n\n<li>Helm documentation: <a href=\"https:\/\/helm.sh\/\">Helm.sh<\/a><\/li>\n\n\n\n<li>Kustomize documentation: <a href=\"https:\/\/kustomize.io\/\">Kustomize.io<\/a><\/li>\n\n\n\n<li>Argo CD documentation: <a href=\"https:\/\/argo-cd.readthedocs.io\/en\/stable\/\">ArgoCD.io<\/a><\/li>\n\n\n\n<li>Flux documentation: <a href=\"https:\/\/fluxcd.io\/\">FluxCD.io<\/a><\/li>\n\n\n\n<li>Knative documentation: <a href=\"https:\/\/knative.dev\/\">Knative.dev<\/a><\/li>\n\n\n\n<li>Kubernetes Operator SDK: <a href=\"https:\/\/operatorframework.io\/\">Operator Framework<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>(Source: https:\/\/www.okteto.com\/blog\/preview-environments-for-kubernetes\/) What is Kubernetes? Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. Over the past 10 years, Kubernetes has become the clear choice for running containerized applications, thanks to its orchestration, robust and flexible platform for easily scalable systems. Kubernetes is available from mainstream public cloud providers as a PaaS, but can be...<\/p>","protected":false},"author":33,"featured_media":21052,"template":"","meta":{"_acf_changed":true,"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":""},"categories":[126,141,140],"class_list":["post-20999","encyklopedie-cloudu","type-encyklopedie-cloudu","status-publish","has-post-thumbnail","hentry","category-cloud-computing","category-cloud-governance-en","category-cloud-journey-en"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Deploymentu aplik\u00e1ci\u00ed v Kubernetes pristane cloud-native pr\u00edstup | ORBIT<\/title>\n<meta name=\"description\" content=\"Ktor\u00fd pr\u00edstup vybra\u0165, ak ide o deployment aplik\u00e1ci\u00ed v Kubernetes? \u010co najviac vyhovuje developerom a s\u00fa\u010dasne poskytuje dostatok kontroly?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deployment aplik\u00e1ci\u00ed v Kubernetes | ORBIT\" \/>\n<meta property=\"og:description\" content=\"Pre\u010do mu pristane cloud-native pr\u00edstup? | ORBIT\" \/>\n<meta property=\"og:url\" content=\"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/\" \/>\n<meta property=\"og:site_name\" content=\"ORBIT | create IT your own way\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-31T09:22:56+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Deployment aplik\u00e1ci\u00ed v Kubernetes | ORBIT\" \/>\n<meta name=\"twitter:description\" content=\"Pre\u010do mu pristane cloud-native pr\u00edstup? | ORBIT\" \/>\n<meta name=\"twitter:image\" content=\"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-1.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/4.184.192.234\\\/encyklopedie-cloudu\\\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\\\/\",\"url\":\"http:\\\/\\\/4.184.192.234\\\/encyklopedie-cloudu\\\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\\\/\",\"name\":\"Deploymentu aplik\u00e1ci\u00ed v Kubernetes pristane cloud-native pr\u00edstup | ORBIT\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/4.184.192.234\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/4.184.192.234\\\/encyklopedie-cloudu\\\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/4.184.192.234\\\/encyklopedie-cloudu\\\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/4.184.192.234\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/EC24-clanek-2024-copy-1.jpg\",\"datePublished\":\"2024-10-01T11:49:54+00:00\",\"dateModified\":\"2024-10-31T09:22:56+00:00\",\"description\":\"Ktor\u00fd pr\u00edstup vybra\u0165, ak ide o deployment aplik\u00e1ci\u00ed v Kubernetes? \u010co najviac vyhovuje developerom a s\u00fa\u010dasne poskytuje dostatok kontroly?\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/4.184.192.234\\\/encyklopedie-cloudu\\\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/4.184.192.234\\\/encyklopedie-cloudu\\\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"http:\\\/\\\/4.184.192.234\\\/encyklopedie-cloudu\\\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\\\/#primaryimage\",\"url\":\"http:\\\/\\\/4.184.192.234\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/EC24-clanek-2024-copy-1.jpg\",\"contentUrl\":\"http:\\\/\\\/4.184.192.234\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/EC24-clanek-2024-copy-1.jpg\",\"width\":1200,\"height\":628,\"caption\":\"Deployment aplik\u00e1ci\u00ed v Kubernetes | ORBIT\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/4.184.192.234\\\/encyklopedie-cloudu\\\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/4.184.192.234\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deploymentu aplik\u00e1ci\u00ed v Kubernetes pristane cloud-native pr\u00edstup\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/4.184.192.234\\\/#website\",\"url\":\"http:\\\/\\\/4.184.192.234\\\/\",\"name\":\"ORBIT | create IT your own way\",\"description\":\"ORBIT | create IT your own way\",\"publisher\":{\"@id\":\"http:\\\/\\\/4.184.192.234\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/4.184.192.234\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/4.184.192.234\\\/#organization\",\"name\":\"ORBIT s.r.o.\",\"url\":\"http:\\\/\\\/4.184.192.234\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"http:\\\/\\\/4.184.192.234\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"http:\\\/\\\/4.184.192.234\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/logoslogan-01.png\",\"contentUrl\":\"http:\\\/\\\/4.184.192.234\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/logoslogan-01.png\",\"width\":1417,\"height\":829,\"caption\":\"ORBIT s.r.o.\"},\"image\":{\"@id\":\"http:\\\/\\\/4.184.192.234\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/orbit\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cloud-native approach to application deployment in Kubernetes | ORBIT","description":"Which approach to choose when it comes to application deployment in Kubernetes? What suits developers best while providing enough control?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/","og_locale":"en_GB","og_type":"article","og_title":"Deployment aplik\u00e1ci\u00ed v Kubernetes | ORBIT","og_description":"Pre\u010do mu pristane cloud-native pr\u00edstup? | ORBIT","og_url":"http:\/\/4.184.192.234\/en\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/","og_site_name":"ORBIT | create IT your own way","article_modified_time":"2024-10-31T09:22:56+00:00","og_image":[{"width":1200,"height":628,"url":"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-1.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_title":"Deployment aplik\u00e1ci\u00ed v Kubernetes | ORBIT","twitter_description":"Pre\u010do mu pristane cloud-native pr\u00edstup? | ORBIT","twitter_image":"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-1.jpg","twitter_misc":{"Estimated reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/4.184.192.234\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/","url":"http:\/\/4.184.192.234\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/","name":"Cloud-native approach to application deployment in Kubernetes | ORBIT","isPartOf":{"@id":"http:\/\/4.184.192.234\/#website"},"primaryImageOfPage":{"@id":"http:\/\/4.184.192.234\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/#primaryimage"},"image":{"@id":"http:\/\/4.184.192.234\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/#primaryimage"},"thumbnailUrl":"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-1.jpg","datePublished":"2024-10-01T11:49:54+00:00","dateModified":"2024-10-31T09:22:56+00:00","description":"Which approach to choose when it comes to application deployment in Kubernetes? What suits developers best while providing enough control?","breadcrumb":{"@id":"http:\/\/4.184.192.234\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["http:\/\/4.184.192.234\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"http:\/\/4.184.192.234\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/#primaryimage","url":"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-1.jpg","contentUrl":"http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-1.jpg","width":1200,"height":628,"caption":"Deployment aplik\u00e1ci\u00ed v Kubernetes | ORBIT"},{"@type":"BreadcrumbList","@id":"http:\/\/4.184.192.234\/encyklopedie-cloudu\/deploymentu-aplikacii-v-kubernetes-pristane-cloud-native-pristup\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/4.184.192.234\/"},{"@type":"ListItem","position":2,"name":"Deploymentu aplik\u00e1ci\u00ed v Kubernetes pristane cloud-native pr\u00edstup"}]},{"@type":"WebSite","@id":"http:\/\/4.184.192.234\/#website","url":"http:\/\/4.184.192.234\/","name":"ORBIT | create IT your own way","description":"ORBIT | create IT your own way","publisher":{"@id":"http:\/\/4.184.192.234\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/4.184.192.234\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"http:\/\/4.184.192.234\/#organization","name":"ORBIT s.r.o.","url":"http:\/\/4.184.192.234\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"http:\/\/4.184.192.234\/#\/schema\/logo\/image\/","url":"http:\/\/4.184.192.234\/wp-content\/uploads\/2020\/11\/logoslogan-01.png","contentUrl":"http:\/\/4.184.192.234\/wp-content\/uploads\/2020\/11\/logoslogan-01.png","width":1417,"height":829,"caption":"ORBIT s.r.o."},"image":{"@id":"http:\/\/4.184.192.234\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/orbit\/"]}]}},"taxonomy_info":{"category":[{"value":126,"label":"Cloud computing"},{"value":141,"label":"Cloud governance"},{"value":140,"label":"Cloud journey"}]},"featured_image_src_large":["http:\/\/4.184.192.234\/wp-content\/uploads\/2024\/10\/EC24-clanek-2024-copy-1-1024x536.jpg",1024,536,true],"author_info":{"display_name":"Adam Felner","author_link":"http:\/\/4.184.192.234\/en\/author\/efdaa76cbb0ec0bb\/"},"comment_info":"","_links":{"self":[{"href":"http:\/\/4.184.192.234\/en\/wp-json\/wp\/v2\/encyklopedie-cloudu\/20999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/4.184.192.234\/en\/wp-json\/wp\/v2\/encyklopedie-cloudu"}],"about":[{"href":"http:\/\/4.184.192.234\/en\/wp-json\/wp\/v2\/types\/encyklopedie-cloudu"}],"author":[{"embeddable":true,"href":"http:\/\/4.184.192.234\/en\/wp-json\/wp\/v2\/users\/33"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/4.184.192.234\/en\/wp-json\/wp\/v2\/media\/21052"}],"wp:attachment":[{"href":"http:\/\/4.184.192.234\/en\/wp-json\/wp\/v2\/media?parent=20999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4.184.192.234\/en\/wp-json\/wp\/v2\/categories?post=20999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}