I gave a session (https://www.meetup.com/Kubernetes-Sevilla/events/234750939/) with a little intro to kubernetes and also some useful tips to learn how to prepare applications to work well in this kind of platforms.
Kubernetes Deployments: A "Hands-off" ApproachRodrigo Reis
Rodrigo Reis describes Zalando's Kubernetes Deployments using their self-made CDP (Continuous Delivery Platform), a CI/CD solution to automate all of it, so developers can focus more on the software they're building, and less on how to build / deploy.
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...Wojciech Barczyński
I will tell you two stories about two different implementations of Kubernetes. One from Fashion mobile ecomerce. One from a Fintech. Kubernetes is not a silver bullet. But damn close ;).
Kubernetes is a fast-paced project and things move really fast. In deploying applications, you have several options like raw YAML files, Helm, or Operator but what are the pros and cons of each?
This talk will explore the right ways to manage your production applications through seamless installation, the patch fixes, and upgrades. Several demos will be used on a live cluster to illustrate how things can be done the right way that makes life very easy for the DevOps.
Go fit perfectly inside containers, you can ship apps as tiny images on k8s, distributing them across the globe. Gianluca will show how InfluxData debugs containers running on Kubernetes to allow sysadmins and developers to troubleshoot and replicate issues using core dump, debuggers, and logs.
Go applications are perfect to be run inside a container. You can build a single binary, a tiny Docker image and you can ship them on your Kubernetes cluster. A successful production environment requires stability and simplicity, it needs to be easy to troubleshoot and operators need to be able to get all the information developers will need to fix a bug. During this talk, Gianluca will share what influxData is doing to allow developers and system administrator to work together, understanding problems running live at scale on Kubernetes and how to escalate them down to Software Engineer using logs, delve, gdb, core dumps, and traces to replicate and fix issues.
Kubernetes was originally targeted for running large scale web applications.
I/O intensive workload represents a class of high-end applications such as network services, trading applications, database services that require high-speed access to hardware resources and often users specific hardware or CPU features to maximize their performance.
Ever wondered how the K8s scheduler works, and how can you “help” it make the right decision for your application? In this session, we'll cover several different scheduling use-cases in K8s, what scheduling techniques are required in each and when to use them.
Effective Building your Platform with Kubernetes == Keep it Simple Wojciech Barczyński
Effective Kubernetes is a continuous deployment process that the team understands. Keep it Simple. Think twice before going for more complex solutions.
Source: https://github.com/wojciech12/talk_effective_kubernetes
Presented at Cloud Native Talks #2 (Online Meetup) - https://www.meetup.com/Cloud-Native-Kubernetes-Warsaw/events/257125529/
Pods are the smallest deployable units in Kubernetes. A Pod contains one or more containers that share resources and can communicate through localhost. The lifecycle of a Pod includes phases like Pending, Running, Succeeded, Failed, and Unknown. Probes like liveness and readiness probes are used to check the health of containers. Init containers allow running pre-startup actions before app containers are started.
Kubernetes Deployments: A "Hands-off" ApproachRodrigo Reis
Rodrigo Reis describes Zalando's Kubernetes Deployments using their self-made CDP (Continuous Delivery Platform), a CI/CD solution to automate all of it, so developers can focus more on the software they're building, and less on how to build / deploy.
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...Wojciech Barczyński
I will tell you two stories about two different implementations of Kubernetes. One from Fashion mobile ecomerce. One from a Fintech. Kubernetes is not a silver bullet. But damn close ;).
Kubernetes is a fast-paced project and things move really fast. In deploying applications, you have several options like raw YAML files, Helm, or Operator but what are the pros and cons of each?
This talk will explore the right ways to manage your production applications through seamless installation, the patch fixes, and upgrades. Several demos will be used on a live cluster to illustrate how things can be done the right way that makes life very easy for the DevOps.
Go fit perfectly inside containers, you can ship apps as tiny images on k8s, distributing them across the globe. Gianluca will show how InfluxData debugs containers running on Kubernetes to allow sysadmins and developers to troubleshoot and replicate issues using core dump, debuggers, and logs.
Go applications are perfect to be run inside a container. You can build a single binary, a tiny Docker image and you can ship them on your Kubernetes cluster. A successful production environment requires stability and simplicity, it needs to be easy to troubleshoot and operators need to be able to get all the information developers will need to fix a bug. During this talk, Gianluca will share what influxData is doing to allow developers and system administrator to work together, understanding problems running live at scale on Kubernetes and how to escalate them down to Software Engineer using logs, delve, gdb, core dumps, and traces to replicate and fix issues.
Kubernetes was originally targeted for running large scale web applications.
I/O intensive workload represents a class of high-end applications such as network services, trading applications, database services that require high-speed access to hardware resources and often users specific hardware or CPU features to maximize their performance.
Ever wondered how the K8s scheduler works, and how can you “help” it make the right decision for your application? In this session, we'll cover several different scheduling use-cases in K8s, what scheduling techniques are required in each and when to use them.
Effective Building your Platform with Kubernetes == Keep it Simple Wojciech Barczyński
Effective Kubernetes is a continuous deployment process that the team understands. Keep it Simple. Think twice before going for more complex solutions.
Source: https://github.com/wojciech12/talk_effective_kubernetes
Presented at Cloud Native Talks #2 (Online Meetup) - https://www.meetup.com/Cloud-Native-Kubernetes-Warsaw/events/257125529/
Pods are the smallest deployable units in Kubernetes. A Pod contains one or more containers that share resources and can communicate through localhost. The lifecycle of a Pod includes phases like Pending, Running, Succeeded, Failed, and Unknown. Probes like liveness and readiness probes are used to check the health of containers. Init containers allow running pre-startup actions before app containers are started.
This document discusses various tools for debugging applications running in Kubernetes clusters. It begins with an introduction to Kubernetes and provides an example of running a Java application in debug mode. It then summarizes several tools for debugging Kubernetes applications: kubectl port-forwarding, Telepresence, and Squash. Telepresence allows debugging local processes as if they are running in Kubernetes. Squash provides debugging integrated into IDEs. Port-forwarding can be used if other options are not available. The document also briefly mentions kubefwd and Rookout as bonus debugging tools.
Slides from the talk given to the Startup Berlin Slack Group that demonstrates how TruckIN is implementing its continuous delivery workflow using technologies and open-source tools.
Topics that are covered: Automated Cloud Provisioning (Network, Subnets, VMs, Kubernetes Cluster, Firewall, Disks, Credentials, Private Docker Registry); Configuration Management (Salt Stack), Continuous Integration (Jenkins CI), Continuous Delivery/Deployment (Salt API/Reactor + Kubernetes) to a Google Cloud Kubernetes Cluster, Remote Application Debugging, Managing Google Cloud Kubernetes Cluster, Logging, Monitoring and ChatOps (Slack and operable.io)
Kubernetes has been a key component for many companies to reduce technical debt in infrastructure by:
• Fostering the Adoption of Docker
• Simplifying Container Management
• Onboarding Developers On Infrastructure
• Unlocking Continuous Integration and Delivery
During this meetup we are going to discuss the following topics and share some best practices
• What's new with Kubernetes 1.3
• Generate Cluster Configuration using CloudFormation
• Deploy Kubernetes Clusters on AWS
• Scaling the Cluster
• Integrating Ingress with Elastic Load Balancer
• Using Internal ELB's as Kubernetes' Service
• Using EBS for persistent volumes
• Integrating Route53
Container Orchestration using KubernetesHesham Amin
This document provides an overview of Kubernetes concepts including:
- Docker containers are individual processes that make up applications, not complete applications themselves.
- Kubernetes manages container deployments through services that define relationships between containers and provide load balancing, discovery, scaling, updates and rollbacks.
- Kubernetes was created by Google and is supported on platforms like Google Kubernetes Engine, Azure Container Service, and others.
- Kubernetes manages clusters of nodes that host containers through masters nodes that control workers.
- The basic building block is the Pod, which contains one or more containers that share resources and networking.
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an EnterpriseKubeAcademy
With growing demand for containers in the enterprise, build pipelines are a bottleneck to success. Traditional workflows can't release application candidates quickly enough to fulfill demand. With over 400 development teams across many different business units, Pearson had to move away from massive installs of traditional build pipeline tools and rethink the entire concept. In this talk we'll demonstrate how we have built in security compliance, performance testing, quality assurance, abstracted away complexity, reduced overhead, aim to recover 10% of developers time and turned build tools into cattle.
This represents the story to date of an in-flight engineering project to modernise the digital estate of a global enterprise organisation and how scale of the operation is leading us to challenge many established beliefs. Attendees will walk away with everything from workflows to code which they can use to get started in their own endeavors.
Sched Link:
How to Achieve Canary Deployment on KubernetesHanLing Shen
This document provides an overview of how to achieve canary deployments on Kubernetes. It begins with background on AWS Elastic Beanstalk and Kubernetes. It then explains blue/green deployments and canary deployments. The remainder of the document demonstrates how to set up canary deployments on Kubernetes using multiple deployments, services, and labels to route a portion of traffic to a new version. It also discusses tools like Helm and Jenkins that can help automate the canary deployment process.
Openstack days sv building highly available services using kubernetes (preso)Allan Naim
This document discusses Google Cloud Platform's Kubernetes and how it can be used to build highly available services. It provides an overview of Kubernetes concepts like pods, labels, replica sets, volumes, and services. It then describes how Kubernetes Cluster Federation allows deploying applications across multiple Kubernetes clusters for high availability, geographic scaling, and other benefits. It outlines how to create clusters, configure the federated control plane, add clusters to the federation, deploy federated services and backends, and perform cross-cluster service discovery.
The document discusses the evolution of Kubernetes persistent storage and what is next. It covers how Kubernetes originally consumed external storage, then introduced dynamic volume provisioning. It introduces the Container Storage Interface (CSI) standard to enable storage vendors to develop plugins that work across container orchestration systems. CSI will support dynamic provisioning/deprovisioning, attaching/detaching volumes, and mounting/unmounting volumes for both block and file-based storage. The document also discusses challenges with availability and failover of pods across availability zones in public clouds and how running the storage provider on Kubernetes can help address these challenges through improved integration and federation support across clouds. It introduces the open source Rook storage-as-a-service project
Kubernetes reminds me a lot of git. Git was originally designed to be a collection of tools to create a version control system. Kubernetes is very similar. It exposes a lot of primitives to help people develop their own orchestration, dev-ops tooling because of it's low-level, beautifully designed APIs. A lot of kubectl tooling, is just using lower level kubernetes APIs underneath. In this talk, I will talk about how we created an opinionated workflow for devops that did everything triggered from receiving git-push and then generate a docker image, issue a zero-downtime rollout, generate SSL certificates, and reconfigure the API gateway using Kubernetes as a framework. This talk will help you understand the Kubernetes API, the Kubernetes execution model and design philosophy, and maybe write your own tools for fun and profit!
Presented in Bangalore Container Conference 2017.
Introduction to Kubernetes - Docker Global Mentor Week 2016Opsta
Kubernetes is an open-source system for automating
deployment, scaling, and management of containerized
applications. This presentation will show you overview of Kubernetes concept.
Docker Global Mentor Week 2016 #DockerInThai at Kaidee on November 18, 2016
The document discusses monitoring an OpenShift cluster with Prometheus. It describes what components need monitoring, including nodes, services, and pods. Prometheus is well-integrated for Kubernetes monitoring. The architecture proposed uses Prometheus to scrape metrics from targets like nodes and services, with alerting configured and dashboards built. It references existing Prometheus mixins for Kubernetes and OpenShift monitoring best practices. Special design choices like using remote write and a Blackbox exporter are highlighted.
Bitnami, Deis, Google and the Kubernetes community have been working on developing Helm, a tool for streamlining the deployment of containerized applications on Kubernetes. Bitnami currently offers a set of Helm packages, known as charts, to make it easy to deploy your favorite open source applications on Kubernetes with a single command. Join our webinar to learn how to quickly get started with Helm:
In this webinar you will learn:
- How to deploy Kubernetes-native applications
- How to manage the lifecycle of applications on Kubernetes using Helm
- The benefits of using Bitnami Helm Charts
- The best practices we've learned while creating and configuring - Bitnami Helm charts
- How to get started with Bitnami Helm Charts
While developers see and realize the benefits of Kubernetes, how it improves efficiencies, saves time, and enables focus on the unique business requirements of each project; InfoSec, infrastructure, and software operations teams still face challenges when managing a new set of tools and technologies, and integrating them into existing enterprise infrastructure. This is especially true for environments where security and governance requirements are so strict as to come into conflict with the cloud-native reference architectures.
This deck will outline a plan that leverages Kubernetes as an infrastructure abstraction (hint: there is a lot more to it than just container orchestration!). Such an approach allows enterprises to untie themselves from infrastructure provider-specific technology stack and free development to use whichever tool fits their use case best. But how do you implement open source cloud-native technologies while meeting enterprise security and governance requirements? We’ll summarize common prerequisites for running Kubernetes in production, and how to leverage fine-grained controls and separation of responsibilities to meet enterprise governance and security needs; what’s needed for a general architecture of a centralized Kubernetes operations layer based on open source components such as Prometheus, Grafana, ELK Stack, Keycloak, etc.
Building Developer Pipelines with PKS, Harbor, Clair, and ConcourseVMware Tanzu
SpringOne Platform 2017
Thomas Kraus, VMware; Merlin Glynn, VMware
Today's developer needs to rapidly build and deploy code in a consistent, predictable, and declarative manner. This session will illustrate how companies can leverage PKS, Kubernetes, Harbor, Clair, and Concourse to achieve these goals. The session will provide a solution overview for developing, building, and deploying applications using Container technologies from VMware and Pivotal. A brief review of each of the technologies being discussed will be provided. The session will include a proposed end to end solution leveraging all of these technologies to provide a better developer experience. The session will conclude with a demonstration illustrating a development workflow leveraging these technologies to initially develop and then update an Application running on PKS and Kubernetes.
Arkena's video-on-demand platform is used as backend by major european channels (TF1 / beIN SPORTS / Elisa) to propose a non-linear experience to their customers.
Previously hosted on Heroku, the number of our users is increasing constantly. In order to optimize resources we decided to move on a bare metal infrastructure powered by Kubernetes.
We'll share thoughts, feedbacks and technical details about this successful transition.
Sched Link:
DevConf 2017 - Realistic Container Platform SimulationsJeremy Eder
The document discusses realistic container platform simulations presented at DevConf 2017. It describes the aos-scalability team and adjunct professors presenting on workload classification, test utilities, and a demo. The team's focus is on classifying workloads and developing test harnesses like the System Verification Test Suite and cluster-loader tool to simulate thousands of deployment configurations. Gold mining successes are also summarized, including addressing performance issues with iptables, HAProxy, logging, and metrics.
An application path to production does not end with a deployment, even if you are using Kubernetes (K8s) as your application deployment platform. Reliable BCDR (backup and disaster recovery) plan and framework is a must for any production-ready system.
This presentation accompanies meetups and webinars in which Oleg Chunikhin, CTO at Kublr, shows how Velero BCDR framework works and demonstrates how it can be used to backup and recover realistic applications running on Kubernetes in different clouds and environments.
What is covered:
- general notions of Kubernetes applications BCDR
- Velero BCDR framework
- demo Velero BCDR for stateful applications running on AWS and Azure clouds
- demo Velero BCDR using Strimzi / Kafka cluster and ArgoCD CI/CD manager as example application
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
This document provides an agenda and instructions for a hands-on introduction to Kubernetes tutorial. The tutorial will cover Kubernetes basics like pods, services, deployments and replica sets. It includes steps for setting up a local Kubernetes environment using Minikube and demonstrates features like rolling updates, rollbacks and self-healing. Attendees will learn how to develop container-based applications locally with Kubernetes and deploy changes to preview them before promoting to production.
Containers are everywhere these days. Many of us are containerizing our applications to take advantage of the ease of a single artifact, but what can we do to make deploying these containers to a fleet of servers easier? Kubernetes is arguably the most popular container orchestration system to date. Kubernetes was born out of a decade of research at Google and has seen success; by itself as a fantastic way to orchestrate containers across multiple machines and as a component in other platforms.
This talk will begin with the anatomy and setup of a Kubernetes cluster. We'll demonstrate (live) taking a container containing a simple web service and launch our application into a small Kubernetes cluster. Next we'll perform a rolling update to deploy a new container version with zero downtime. Also, we'll check out some cool debugging features Kubernetes provides over the course of our demo.
This document discusses various tools for debugging applications running in Kubernetes clusters. It begins with an introduction to Kubernetes and provides an example of running a Java application in debug mode. It then summarizes several tools for debugging Kubernetes applications: kubectl port-forwarding, Telepresence, and Squash. Telepresence allows debugging local processes as if they are running in Kubernetes. Squash provides debugging integrated into IDEs. Port-forwarding can be used if other options are not available. The document also briefly mentions kubefwd and Rookout as bonus debugging tools.
Slides from the talk given to the Startup Berlin Slack Group that demonstrates how TruckIN is implementing its continuous delivery workflow using technologies and open-source tools.
Topics that are covered: Automated Cloud Provisioning (Network, Subnets, VMs, Kubernetes Cluster, Firewall, Disks, Credentials, Private Docker Registry); Configuration Management (Salt Stack), Continuous Integration (Jenkins CI), Continuous Delivery/Deployment (Salt API/Reactor + Kubernetes) to a Google Cloud Kubernetes Cluster, Remote Application Debugging, Managing Google Cloud Kubernetes Cluster, Logging, Monitoring and ChatOps (Slack and operable.io)
Kubernetes has been a key component for many companies to reduce technical debt in infrastructure by:
• Fostering the Adoption of Docker
• Simplifying Container Management
• Onboarding Developers On Infrastructure
• Unlocking Continuous Integration and Delivery
During this meetup we are going to discuss the following topics and share some best practices
• What's new with Kubernetes 1.3
• Generate Cluster Configuration using CloudFormation
• Deploy Kubernetes Clusters on AWS
• Scaling the Cluster
• Integrating Ingress with Elastic Load Balancer
• Using Internal ELB's as Kubernetes' Service
• Using EBS for persistent volumes
• Integrating Route53
Container Orchestration using KubernetesHesham Amin
This document provides an overview of Kubernetes concepts including:
- Docker containers are individual processes that make up applications, not complete applications themselves.
- Kubernetes manages container deployments through services that define relationships between containers and provide load balancing, discovery, scaling, updates and rollbacks.
- Kubernetes was created by Google and is supported on platforms like Google Kubernetes Engine, Azure Container Service, and others.
- Kubernetes manages clusters of nodes that host containers through masters nodes that control workers.
- The basic building block is the Pod, which contains one or more containers that share resources and networking.
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an EnterpriseKubeAcademy
With growing demand for containers in the enterprise, build pipelines are a bottleneck to success. Traditional workflows can't release application candidates quickly enough to fulfill demand. With over 400 development teams across many different business units, Pearson had to move away from massive installs of traditional build pipeline tools and rethink the entire concept. In this talk we'll demonstrate how we have built in security compliance, performance testing, quality assurance, abstracted away complexity, reduced overhead, aim to recover 10% of developers time and turned build tools into cattle.
This represents the story to date of an in-flight engineering project to modernise the digital estate of a global enterprise organisation and how scale of the operation is leading us to challenge many established beliefs. Attendees will walk away with everything from workflows to code which they can use to get started in their own endeavors.
Sched Link:
How to Achieve Canary Deployment on KubernetesHanLing Shen
This document provides an overview of how to achieve canary deployments on Kubernetes. It begins with background on AWS Elastic Beanstalk and Kubernetes. It then explains blue/green deployments and canary deployments. The remainder of the document demonstrates how to set up canary deployments on Kubernetes using multiple deployments, services, and labels to route a portion of traffic to a new version. It also discusses tools like Helm and Jenkins that can help automate the canary deployment process.
Openstack days sv building highly available services using kubernetes (preso)Allan Naim
This document discusses Google Cloud Platform's Kubernetes and how it can be used to build highly available services. It provides an overview of Kubernetes concepts like pods, labels, replica sets, volumes, and services. It then describes how Kubernetes Cluster Federation allows deploying applications across multiple Kubernetes clusters for high availability, geographic scaling, and other benefits. It outlines how to create clusters, configure the federated control plane, add clusters to the federation, deploy federated services and backends, and perform cross-cluster service discovery.
The document discusses the evolution of Kubernetes persistent storage and what is next. It covers how Kubernetes originally consumed external storage, then introduced dynamic volume provisioning. It introduces the Container Storage Interface (CSI) standard to enable storage vendors to develop plugins that work across container orchestration systems. CSI will support dynamic provisioning/deprovisioning, attaching/detaching volumes, and mounting/unmounting volumes for both block and file-based storage. The document also discusses challenges with availability and failover of pods across availability zones in public clouds and how running the storage provider on Kubernetes can help address these challenges through improved integration and federation support across clouds. It introduces the open source Rook storage-as-a-service project
Kubernetes reminds me a lot of git. Git was originally designed to be a collection of tools to create a version control system. Kubernetes is very similar. It exposes a lot of primitives to help people develop their own orchestration, dev-ops tooling because of it's low-level, beautifully designed APIs. A lot of kubectl tooling, is just using lower level kubernetes APIs underneath. In this talk, I will talk about how we created an opinionated workflow for devops that did everything triggered from receiving git-push and then generate a docker image, issue a zero-downtime rollout, generate SSL certificates, and reconfigure the API gateway using Kubernetes as a framework. This talk will help you understand the Kubernetes API, the Kubernetes execution model and design philosophy, and maybe write your own tools for fun and profit!
Presented in Bangalore Container Conference 2017.
Introduction to Kubernetes - Docker Global Mentor Week 2016Opsta
Kubernetes is an open-source system for automating
deployment, scaling, and management of containerized
applications. This presentation will show you overview of Kubernetes concept.
Docker Global Mentor Week 2016 #DockerInThai at Kaidee on November 18, 2016
The document discusses monitoring an OpenShift cluster with Prometheus. It describes what components need monitoring, including nodes, services, and pods. Prometheus is well-integrated for Kubernetes monitoring. The architecture proposed uses Prometheus to scrape metrics from targets like nodes and services, with alerting configured and dashboards built. It references existing Prometheus mixins for Kubernetes and OpenShift monitoring best practices. Special design choices like using remote write and a Blackbox exporter are highlighted.
Bitnami, Deis, Google and the Kubernetes community have been working on developing Helm, a tool for streamlining the deployment of containerized applications on Kubernetes. Bitnami currently offers a set of Helm packages, known as charts, to make it easy to deploy your favorite open source applications on Kubernetes with a single command. Join our webinar to learn how to quickly get started with Helm:
In this webinar you will learn:
- How to deploy Kubernetes-native applications
- How to manage the lifecycle of applications on Kubernetes using Helm
- The benefits of using Bitnami Helm Charts
- The best practices we've learned while creating and configuring - Bitnami Helm charts
- How to get started with Bitnami Helm Charts
While developers see and realize the benefits of Kubernetes, how it improves efficiencies, saves time, and enables focus on the unique business requirements of each project; InfoSec, infrastructure, and software operations teams still face challenges when managing a new set of tools and technologies, and integrating them into existing enterprise infrastructure. This is especially true for environments where security and governance requirements are so strict as to come into conflict with the cloud-native reference architectures.
This deck will outline a plan that leverages Kubernetes as an infrastructure abstraction (hint: there is a lot more to it than just container orchestration!). Such an approach allows enterprises to untie themselves from infrastructure provider-specific technology stack and free development to use whichever tool fits their use case best. But how do you implement open source cloud-native technologies while meeting enterprise security and governance requirements? We’ll summarize common prerequisites for running Kubernetes in production, and how to leverage fine-grained controls and separation of responsibilities to meet enterprise governance and security needs; what’s needed for a general architecture of a centralized Kubernetes operations layer based on open source components such as Prometheus, Grafana, ELK Stack, Keycloak, etc.
Building Developer Pipelines with PKS, Harbor, Clair, and ConcourseVMware Tanzu
SpringOne Platform 2017
Thomas Kraus, VMware; Merlin Glynn, VMware
Today's developer needs to rapidly build and deploy code in a consistent, predictable, and declarative manner. This session will illustrate how companies can leverage PKS, Kubernetes, Harbor, Clair, and Concourse to achieve these goals. The session will provide a solution overview for developing, building, and deploying applications using Container technologies from VMware and Pivotal. A brief review of each of the technologies being discussed will be provided. The session will include a proposed end to end solution leveraging all of these technologies to provide a better developer experience. The session will conclude with a demonstration illustrating a development workflow leveraging these technologies to initially develop and then update an Application running on PKS and Kubernetes.
Arkena's video-on-demand platform is used as backend by major european channels (TF1 / beIN SPORTS / Elisa) to propose a non-linear experience to their customers.
Previously hosted on Heroku, the number of our users is increasing constantly. In order to optimize resources we decided to move on a bare metal infrastructure powered by Kubernetes.
We'll share thoughts, feedbacks and technical details about this successful transition.
Sched Link:
DevConf 2017 - Realistic Container Platform SimulationsJeremy Eder
The document discusses realistic container platform simulations presented at DevConf 2017. It describes the aos-scalability team and adjunct professors presenting on workload classification, test utilities, and a demo. The team's focus is on classifying workloads and developing test harnesses like the System Verification Test Suite and cluster-loader tool to simulate thousands of deployment configurations. Gold mining successes are also summarized, including addressing performance issues with iptables, HAProxy, logging, and metrics.
An application path to production does not end with a deployment, even if you are using Kubernetes (K8s) as your application deployment platform. Reliable BCDR (backup and disaster recovery) plan and framework is a must for any production-ready system.
This presentation accompanies meetups and webinars in which Oleg Chunikhin, CTO at Kublr, shows how Velero BCDR framework works and demonstrates how it can be used to backup and recover realistic applications running on Kubernetes in different clouds and environments.
What is covered:
- general notions of Kubernetes applications BCDR
- Velero BCDR framework
- demo Velero BCDR for stateful applications running on AWS and Azure clouds
- demo Velero BCDR using Strimzi / Kafka cluster and ArgoCD CI/CD manager as example application
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
This document provides an agenda and instructions for a hands-on introduction to Kubernetes tutorial. The tutorial will cover Kubernetes basics like pods, services, deployments and replica sets. It includes steps for setting up a local Kubernetes environment using Minikube and demonstrates features like rolling updates, rollbacks and self-healing. Attendees will learn how to develop container-based applications locally with Kubernetes and deploy changes to preview them before promoting to production.
Containers are everywhere these days. Many of us are containerizing our applications to take advantage of the ease of a single artifact, but what can we do to make deploying these containers to a fleet of servers easier? Kubernetes is arguably the most popular container orchestration system to date. Kubernetes was born out of a decade of research at Google and has seen success; by itself as a fantastic way to orchestrate containers across multiple machines and as a component in other platforms.
This talk will begin with the anatomy and setup of a Kubernetes cluster. We'll demonstrate (live) taking a container containing a simple web service and launch our application into a small Kubernetes cluster. Next we'll perform a rolling update to deploy a new container version with zero downtime. Also, we'll check out some cool debugging features Kubernetes provides over the course of our demo.
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Codemotion
Out of the box Kubernetes is an Operations platform which is great for flexibility but creates friction for deploying simple applications. Along comes Spinnaker which allows you to easily create custom workflows for testing, building, and deploying your application on Kubernetes. Salvatore Incandela and Fabio Marinelli will give an introduction to Containers and Kubernetes and the default development/deployment workflows that it enables. They will then show you how you can use Spinnaker to simplify and streamline your workflow and help provide a full #gitops style CI/CD.
This document provides an agenda and overview for a webinar on Kubernetes. The agenda includes an introduction to Kabisa, an introduction to Kubernetes concepts, and a hands-on Kubernetes workshop. Kabisa is introduced as a software development agency specialized in custom web and mobile app development with over 14 years of experience. Key Kubernetes concepts are then summarized, including clusters, nodes, pods, namespaces, replica sets, load balancers, and deployments. Finally, the hands-on workshop is outlined which will have participants claim a Kubernetes cluster and complete tasks like creating pods, services, and using deployments, environment variables, secrets, and config maps.
Nebulaworks invited Bitnami's software engineer, Adnan Abdulhussein to present on, "The App Developer's Kubernetes Toolbox."
Details:
If you're developing applications on top of Kubernetes, you may be feeling overwhelmed with the vast number of development tools in the ecosystem at your disposal. Kubernetes is growing at a rapid pace, and it's becoming impossible to keep up with the latest and greatest development environments, debuggers, and build test and deployment tools.
Learn:
• The current state of development in Kubernetes
• Comparison of shared and local Kubernetes development environments
• Overview of different development tools in the ecosystem
• Which tools make sense in common scenarios
• How Bitnami uses Kubernetes as a development environment
Installing and Using Kubernetes is hard, but Operating Kubernetes is even harder! This BOF is for Kubernetes Operators to get together and discuss our day to day Operations, and for people new to Kubernetes to learn more about how to operate it.
In this WebHack talk I shared my experience about microservices, Docker, Kubernetes and Kong, an API gateway by Mashape. Since they are based on a real working system, this slides is majorly for how to build the whole thing up, not about detailed internal implementation. Although I included some details and reference in order to make it more comprehensive.
3 years ago, Meetic chose to rebuild it's backend architecture using microservices and an event driven strategy. As we where moving along our old legacy application, testing features became gradually a pain, especially when those features rely on multiple changes across multiple components. Whatever the number of application you manage, unit testing is easy, as well as functional testing on a microservice. A good gherkin framework and a set of docker container can do the job. The real challenge is set in end-to-end testing even more when a feature can involve up to 60 different components.
To solve that issue, Meetic is building a Kubernetes strategy around testing. To do such a thing we need to :
- Be able to generate a docker container for each pull-request on any component of the stack
- Be able to create a full testing environment in the simplest way
- Be able to launch automated test on this newly created environment
- Have a clean-up process to destroy testing environment after tests To separate the various testing environment, we chose to use Kubernetes Namespaces each containing a variant of the Meetic stack. But when it comes to Kubernetes, managing multiple namespaces can be hard. Yaml configuration files need to be shared in a way that each people / automated job can access to them and modify them without impacting others.
This is typically why Meetic chose to develop it's own tool to manage namespace through a cli tool, or a REST API on which we can plug a friendly UI.
In this talk we will tell you the story of our CI/CD evolution to satisfy the need to create a docker container for each new pull request. And we will show you how to make end-to-end testing easier using Blackbeard, the tool we developed to handle the need to manage namespaces inspired by Helm.
Effective Platform Building with Kubernetes. Is K8S new Linux?Wojciech Barczyński
I will tell you war stories from Kubernetes implementations in two startups: a fashion ecommerce - Lykehq - and Fintech/Machine Learning - SMACC. Getting them to Continuous Deployment, mistakes I made, and how we solve them. Show why K8S is such a powerful tool and -- most important for me -- it gives you learn-as-you-go experience. The new linux, the new application server some say.
Check: https://github.com/wojciech12/talk_cloudnative_and_kubernetes_waw
Docker kubernetes fundamental(pod_service)_190307Inhye Park
The document discusses several challenges with traditional IT infrastructure including lack of agility due to long development times, aging infrastructure with outdated hardware and software, and high costs associated with monolithic architectures. It then introduces containers and microservices as ways to address these challenges by enabling faster development and deployment, using modern infrastructure, and developing applications in a more modular way. Key concepts covered include containerizing existing applications, rearchitecting apps for scale with containers, and moving to a container platform and microservices.
Kubernetes101 - Pune Kubernetes Meetup 6Harshal Shah
This document provides an overview and agenda for a hands-on Kubernetes workshop. The workshop will cover Kubernetes concepts like pods, deployments, services, labels and selectors. It will demonstrate how to set up a Kubernetes cluster on Google Cloud and on a local laptop. Attendees will get hands-on experience with deploying applications and performing rolling updates using Kubernetes primitives.
Zero-downtime deployment of Micro-services with KubernetesWojciech Barczyński
Talk on deployment strategies with Kubernetes covering kubernetes configuration files and the actual implementation of your service in Golang.
You will find demos for recreate, rolling updates, blue-green, and canary deployments.
Source and demos, you will find on github: https://github.com/wojciech12/talk_zero_downtime_deployment_with_kubernetes
Cloud-Native Operations with Kubernetes and CI/CDVMware Tanzu
Operations practices have historically lagged behind development. Agile and Extreme Programming have become common practice for development teams. In the last decade, the DevOps and SRE movements have brought these concepts to operations, borrowing heavily from Lean principles such as Kanban and Value Stream Mapping. So, how does all of this play out if we’re using Kubernetes?
In this class, Paul Czarkowski, Principal Technologist at Pivotal, will explain how Kubernetes enables a new cloud-native way of operating software. Attend to learn:
● what cloud-native operations are;
● how to build a cloud-native CI/CD stack; and
● how to deploy and upgrade an application from source to production on Kubernetes.
Presenter:
Paul Czarkowski, Principal Technologist, Pivotal Software
6 Things You Need to Know to Safely Run KubernetesVMware Tanzu
This document is a presentation on safely running Kubernetes clusters. It discusses the need for soft multi-tenancy between namespaces, using a cloud-native approach to managing Kubernetes clusters, establishing clear roles and personas, handling stateful workloads, differences between Kubernetes implementations, and adopting new operational practices. The presentation provides examples and recommendations on each of these topics to help users run Kubernetes clusters safely and effectively.
K8s in 3h - Kubernetes Fundamentals TrainingPiotr Perzyna
Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications. This training helps you understand key concepts within 3 hours.
1. CNCF kubernetes meetup - Ondrej SikaJuraj Hantak
Kubernetes is a production-grade container orchestration system that abstracts away the underlying hardware infrastructure. It deploys and manages containerized applications and services through declarative configurations that define the desired state. Kubernetes can run on various cloud and on-premise infrastructure and is not tied to any specific vendor. It is useful for organizations that need high availability, manage many applications on servers, and want to easily deploy Dockerized workloads without worrying about infrastructure management. Core concepts in Kubernetes include Pods, Deployments, Services, Namespaces, and various cluster components like the API server, scheduler, and kubelet that ensure the actual cluster state matches the desired configurations.
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmetDevOpsDaysJKT
Honestbee has been running Kubernetes in production since mid 2016. We have heavily invested in Helm and have real experience managing our Kubernetes service deployments as code with Helm. We would like to share how Helm is used internally at Honestbee. In the presentation we will tackle the following examples and use cases:
* Continuous Delivery using Helm
* Secret management with VaultController
* Building and hosting our own chart repositories (and the iterations we did)
* Plugins to help manage values
* Helm Chart best practices
Similar to Using kubernetes to lose your fear of using containers (20)
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
SMS API Integration in Saudi Arabia| Best SMS API ServiceYara Milbes
Discover the benefits and implementation of SMS API integration in the UAE and Middle East. This comprehensive guide covers the importance of SMS messaging APIs, the advantages of bulk SMS APIs, and real-world case studies. Learn how CEQUENS, a leader in communication solutions, can help your business enhance customer engagement and streamline operations with innovative CPaaS, reliable SMS APIs, and omnichannel solutions, including WhatsApp Business. Perfect for businesses seeking to optimize their communication strategies in the digital age.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfUndress Baby
The quest for the best AI face swap solution is marked by an amalgamation of technological prowess and artistic finesse, where cutting-edge algorithms seamlessly replace faces in images or videos with striking realism. Leveraging advanced deep learning techniques, the best AI face swap tools meticulously analyze facial features, lighting conditions, and expressions to execute flawless transformations, ensuring natural-looking results that blur the line between reality and illusion, captivating users with their ingenuity and sophistication.
Web:- https://undressbaby.com/
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsPeter Muessig
The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
What is Master Data Management by PiLog Groupaymanquadri279
PiLog Group's Master Data Record Manager (MDRM) is a sophisticated enterprise solution designed to ensure data accuracy, consistency, and governance across various business functions. MDRM integrates advanced data management technologies to cleanse, classify, and standardize master data, thereby enhancing data quality and operational efficiency.
Using kubernetes to lose your fear of using containers
1. Using kubernetes to lose
your fear of using containers
Jose Fuentes - jfuentes@bitnami.com
Toolchain Engineer
@_jsfuentes
2. Kubernetes
- Run containers on a cluster
- Automatic deployment
- Scaling
- Designed for failure
Health checking
And other cool features
Manage containerized application
Load balancing
Rolling updates
Replication
3. Kubernetes
- Run containers on a cluster
- Automatic deployment
- Scaling
- Designed for failure
Health checking
And other cool features
Manage containerized application
Load balancing
Rolling updates
Replication
Implies a contract with the applicationImplies a contract with the application
4. It sounds interesting. Tell me more.
- Must-know concepts for understanding kubernetes
- How my app should be to take advantage of all the features
- And some other interesting things for operating apps with k8s
log management debugging
health checking failure recovery
monitoring metering
updating
7. Minion 1
- Collection containers
- Unit of scheduling and replication
- Ephemeral, not durable
- They’re replaced, not resurrected
- Containers in the same pod share:
- PIDs
- Network
- Hostname
Kubernetes Master
Pod
Container A Container B
Minion 2
Minion 1
Pod PodContainer C Container D
Components
Pods
8. -
-
-
-
Services Types
You can’t communicate with pods directly
Components
Services
services allows to route traffic to a set of pods
http://railsapp:3000
Minion 1
kube-proxy
pod
Minion 2
kube-proxy
pod
service
Cloud Provider
LoadBalancer
9. -
-
-
-
Services Types
You can’t communicate with pods directly
Components
Services
services allows to route traffic to a set of pods
Minion 1
kube-proxy
pod
Minion 2
kube-proxy
pod
http://minion1:3000 http://minion2:3000
10. -
-
-
-
Services Types
You can’t communicate with pods directly
Components
Services
services allows to route traffic to a set of pods
Minion 1
kube-proxy
pod
Minion 2
kube-proxy
pod
service
Cloud Provider
LoadBalancer
http://<public IP>
11. -
-
-
-
Services Types
You can’t communicate with pods directly
Components
Services
services allows to route traffic to a set of pods
ExternalName
external.service.com
internalname
12. - Arbitrary metadata attached to any object
- key-value pairs
- Relevant attributes for users
- Allows to organize objects in the cluster
Labels
Selectors
- Identify a set of objects based on labels values
app: myapp
role: web
branch: prod
app: myapp
role: db
branch: prod
app: myapp
role: web
branch: dev
app: myapp
role: db
branch: dev
branch == prod branch == dev
Labels and selectors
21. Wishlist
Restart should not be a pain
Your app is gonna be restarted often, so… stay prepared for that
- Start fast
- Don't cook assets at boot time
- Don't lose data on reboots
22. Wishlist
Data should be separated
Your app should be stateless.
The state should be stored apart.
uploaded files
sessions info
plugins
jobs
Oh man, that's easy. I mount a volume for my mariaDB and I am done.
It is not just the DB
23. Wishlist
Data schema compatible across versions
- That's not possible...
- Well… at least do changes in a clever way
- Temporary maintain datastore compatible with two versions
- B/C changes
- Intermediate migrations
- Make logic to adapt API requests to the new format
24. Example: Drupal blog
Database
Web server
Drupal php code
v8.1
plugin
Web server
Drupal php code
v8.2
Web server
Drupal php code
v8.1
plugin
25. Example: Drupal blog
Database
Web server
Drupal php code
v8.1
Web server
Drupal php code
v8.2
External volume
Web server
Drupal php code
v8.1
plugin
27. A pet server
-You instantiated it time ago
-Then you manually installed thing you needed there
-You ssh it often because you like to manually check things there
-Eventually you go there and do some manual work to install
something
-Now you have an adorable pet that you really worry about
because it's something unique
28. We want cattle servers
They are almost identical
Easily replaceable
DON'T SSH
31. Our app
Deployment info for kubernetes Service
LoadBalancer
Pod
:80
Container
web
:3000
Service
ClusterIP
Pod
Container
mongo
:27017
:27017
- Be aware of your app limitations
tier=web
tier=db
- Be tidy, use labels
- Be precise, set probes
replicas high availability configs
info stored in host
- If you know very well your app,
limit the resources
37. Pod
Container 1 Container 2
RestartPolicy: Always
Pod
Container 2Container 1
Pod
Container 2Container 1
Failure recovery
38. Pod
Container 1 Container 2
Pod
Container 2Container 1
Pod
Container 2Container 1
Pod
Container 2Container 1
Successful
RestartPolicy: OnFailure
Failure recovery
39. Pod
Container 1 Container 2
Pod
Container 2Container 1
Pod
Container 2Container 1
Failed
Pod
Container 2Container 1
Successful
RestartPolicy: Never
Failure recovery
41. Scale
replicas
There are many ways of scaling your app.
It is important how do you design your pods
Pod
Apache Express
Pod
mongoDBService
DB
42. Scale
replicas
There are many ways of scaling your app.
It is important how do you design your pods
Pod
mongoDBService
DB
Pod
Apache Express
Pod
Apache Express
43. Scale
replicas
There are many ways of scaling your app.
It is important how do you design your pods
Pod
mongoDBService
DB
Pod
Express
Pod
Apache
Pod
Apache