Kubernetes is making the promise of changing the datacenter from being a group of computer to "a computer" itself. This presentation outlines the new features in K8S with 1.1 and 1.2 release.
A small introduction to get started on Kubernetes as a user. This explains the main concepts like pod, deployment and services and gives some hints to help you use kubectl command.
These slides were presented in Grenoble Docker meetup in November 2017.
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...Brian Grant
Kubernetes can run application containers on clusters of physical or virtual machines.
It can also do much more than that.
Kubernetes satisfies a number of common needs of applications running in production, such as co-locating helper processes, mounting storage systems, distributing secrets, application health checking, replicating application instances, horizontal auto-scaling, load balancing, rolling updates, and resource monitoring.
However, even though Kubernetes provides a lot of functionality, there are always new scenarios that would benefit from new features. Ad hoc orchestration that is acceptable initially often requires robust automation at scale. Application-specific workflows can be streamlined to accelerate developer velocity.
This is why Kubernetes was also designed to serve as a platform for building an ecosystem of components and tools to make it easier to deploy, scale, and manage applications. The Kubernetes control plane is built upon the same APIs that are available to developers and users, implementing resilient control loops that continuously drive the current state towards the desired state. This design has enabled Apache Stratos and a number of other Platform as a Service and Continuous Integration and Deployment systems to build atop Kubernetes.
This presentation introduces Kubernetes’s core primitives, shows how some of its better known features are built on them, and introduces some of the new capabilities that are being added.
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.
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
KubeCon EU 2016: A Practical Guide to Container SchedulingKubeAcademy
Containers are at the forefront of a new wave of technology innovation but the methods for scheduling and managing them are still new to most developers. In this talk we'll look at the kind of problems that container scheduling solves and at how maximising efficiency and maiximising QoS don't have to be exclusive goals. We'll take a behind the scenes look at the Kubernetes scheduler: How does it prioritize? What about node selection and external dependencies? How do you schedule based on your own specific needs? How does it scale and what’s in it both for developers already using containers and for those that aren't? We’ll use a combination of slides, code, demos to answer all these questions and hopefully all of yours.
Sched Link: http://sched.co/6BZa
Kubernetes is a great tool to run (Docker) containers in a clustered production environment. When deploying often to production we need fully automated blue-green deployments, which makes it possible to deploy without any downtime. We also need to handle external HTTP requests and SSL offloading. This requires integration with a load balancer like Ha-Proxy. Another concern is (semi) auto scaling of the Kubernetes cluster itself when running in a cloud environment. E.g. partially scale down the cluster at night.
In this technical deep dive you will learn how to setup Kubernetes together with other open source components to achieve a production ready environment that takes code from git commit to production without downtime.
This document provides an introduction and overview of Kubernetes for deploying and managing containerized applications at scale. It discusses Kubernetes' key features like self-healing, dynamic scaling, networking and efficient resource usage. It then demonstrates setting up a Kubernetes cluster on AWS and deploying a sample application using pods, deployments and services. While Kubernetes provides many benefits, the document notes it requires battle-testing to be production-ready and other topics like logging, monitoring and custom autoscaling solutions would need separate discussions.
This document provides an introduction to Kubernetes and Container Network Interface (CNI). It begins with an introduction to the presenter and their background. It then discusses the differences between VMs and containers before explaining why Kubernetes is needed for container orchestration. The rest of the document details the architecture of Kubernetes, including the master node, worker nodes, pods, labels, replica sets, deployments, services, and how to build a Kubernetes cluster. It concludes with a brief introduction to CNI and a call for questions.
Overview of kubernetes and its use as a DevOps cluster management framework.
Problems with deployment via kube-up.sh and improving kubernetes on AWS via custom cloud formation template.
Kubespray and Ansible can be used to automate the installation of Kubernetes in a production-ready environment. Kubespray provides tools to configure highly available Kubernetes clusters across multiple Linux distributions. Ansible is an IT automation tool that can deploy software and configure systems. The document then provides a 6 step guide for installing Kubernetes on Ubuntu using kubeadm, including installing Docker, kubeadm, kubelet and kubectl, disabling swap, configuring system parameters, initializing the cluster with kubeadm, and joining nodes. It also briefly explains Kubernetes architecture including the master node, worker nodes, addons, CNI, CRI, CSI and key concepts like pods, deployments, networking,
KubeCon EU 2016: Multi-Tenant KubernetesKubeAcademy
Today Kubernetes is mostly employed in single tenant deployment, either private cloud, or as a COE on top of IaaS. By leveraging virtualized container like Hyper, Kubernetes will be the core of multi-tenant Container-as-a-Service. This talk will present Hypernetes, a secure Kubernetes distro focusing on the public container hosting service.
Sched Link: http://sched.co/6BYD
This talk will focus on a brief history, including a demo and overview of how we at Superbalist use Kubernetes, and how Kubernetes uses Docker, does load balancing, deployments, and data migrations.
Talk from Cape Town DevOps meetup on Jun 21, 2016:
https://www.meetup.com/Cape-Town-DevOps/events/231530172/
Code: https://github.com/zoidbergwill/kubernetes-examples
Slides as markdown: http://www.zoidbergwill.com/presentations/2016/kubernetes-1.2-and-spread/index.md
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.
I am glad to share the presentation of the Kubernetes Pune meetup organized on 29 July 2017. One of the good response from the Pune folks to the community.
This document provides an overview of using Kubernetes to scale microservices. It discusses the challenges of scaling, monitoring, and discovery for microservices. Kubernetes provides a solution to these challenges through its automation of deployment, scaling, and management of containerized applications. The document then describes Kubernetes architecture and components like the master, nodes, pods, services, deployments and secrets which allow Kubernetes to provide portability, self-healing and a declarative way to manage the desired state of applications.
Monitoring, Logging and Tracing on KubernetesMartin Etmajer
The document discusses monitoring, logging and tracing tools for Kubernetes including Heapster, Grafana, Fluentd, Elastic Stack, Jolokia and OpenTracing. It provides examples of deploying Heapster with InfluxDB and Grafana for metrics collection, Fluentd to ingest container logs into Elasticsearch, and using Jolokia and OpenTracing for remote access to JMX metrics and distributed tracing functionality.
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka Mario Ishara Fernando
This document discusses microservices and containers. It provides an overview of microservices architecture compared to monolithic architecture, highlighting that microservices are composed of many small, independent services with separate deployments and databases. It then discusses containers and how Docker is used to package and run applications in isolated containers. Finally, it introduces Kubernetes as a container orchestration system to manage and scale multiple containerized applications across a cluster of machines.
- Archeology: before and without Kubernetes
- Deployment: kube-up, DCOS, GKE
- Core Architecture: the apiserver, the kubelet and the scheduler
- Compute Model: the pod, the service and the controller
Top 3 reasons why you should run your Enterprise workloads on GKESreenivas Makam
This deck covers top 3 reasons why Google Kubernetes engine is best suited to run containerized workloads. The reasons covered are Security, Observability and Maturity.
Kubernetes has two simple but powerful network concepts: every Pod is connected to the same network, and Services let you talk to a Pod by name. Bryan will take you through how these concepts are implemented - Pod Networks via the Container Network Interface (CNI), Service Discovery via kube-dns and Service virtual IPs, then on to how Services are exposed to the rest of the world.
Cloud native applications are popular these days – applications that run in the cloud reliably und scale almost arbitrarily. They follow three key principles: they are built and composed as micro services. They are packaged and distributed in containers. The containers are executed dynamically in the cloud. Kubernetes is an open-source cluster manager for the automated deployment, scaling and management of cloud native applications. In this hands-on session we will introduce the core concepts of Kubernetes and then show how to build, package and operate a cloud native showcase application on top of Kubernetes step-by-step. Throughout this session we will be using an off-the-shelf MIDI controller to demonstrate and visualize the concepts and to remote control Kubernetes. This session has been presented at the ContainerCon Europe 2016 in Berlin. #qaware #cloudnativenerd #LinuxCon #ContainerCon
This document provides an overview of Kubernetes 101. It begins with asking why Kubernetes is needed and provides a brief history of the project. It describes containers and container orchestration tools. It then covers the main components of Kubernetes architecture including pods, replica sets, deployments, services, and ingress. It provides examples of common Kubernetes manifest files and discusses basic Kubernetes primitives. It concludes with discussing DevOps practices after adopting Kubernetes and potential next steps to learn more advanced Kubernetes topics.
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...Nati Shalom
Video recording: https://www.youtube.com/watch?v=tGlIgUeoGz8
It’s no news that containers represent a portable unit of deployment, and OpenStack has proven an ideal environment for running container workloads. However, where it usually becomes more complex is that many times an application is often built out of multiple containers. What’s more, setting up a cluster of container images can be fairly cumbersome because you need to make one container aware of another and expose intimate details that are required for them to communicate which is not trivial especially if they’re not on the same host.
These scenarios have instigated the demand for some kind of orchestrator. The list of container orchestrators is growing fairly fast. This session will compare the different orchestation projects out there - from Heat to Kubernetes to TOSCA - and help you choose the right tool for the job.
Session link from teh summit: https://openstacksummitmay2015vancouver.sched.org/event/abd484e0dedcb9774edda1548ad47518#.VV5eh5NViko
Kubernetes deep dive - - Huawei 2015-10Vishnu Kannan
Kubernetes is an open-source container orchestration system that automates deployment, scaling, and management of containerized applications. It was originally designed by Google based on years of experience running containers internally. Kubernetes runs containerized applications across multiple machines, dynamically allocating resources and balancing load. It supports both public and private cloud environments as well as bare metal servers. The system aims to simplify container operations while providing portability and scalability.
Kubernetes intro public - kubernetes meetup 4-21-2015Rohit Jnagal
This document introduces Kubernetes, an open-source system for automating deployment, scaling, and management of containerized applications. It was developed at Google based on their 15+ years of running production workloads in containers. Kubernetes can manage applications running on virtual machines, bare metal, public or private cloud providers. It uses a declarative model where users specify the desired state and Kubernetes ensures the actual state matches it. Key concepts include pods, replication controllers, services, labels/selectors, and monitoring/logging addons.
Kubernetes is an open source container orchestration system that automates the deployment, maintenance, and scaling of containerized applications. It groups related containers into logical units called pods and handles scheduling pods onto nodes in a compute cluster while ensuring their desired state is maintained. Kubernetes uses concepts like labels and pods to organize containers that make up an application for easy management and discovery.
The document provides an overview of Kubernetes networking concepts including single pod networking, pod to pod communication, service discovery and load balancing, external access patterns, network policies, Istio service mesh, multi-cluster networking, and best practices. It covers topics such as pod IP addressing, communication approaches like L2, L3, overlays, services, ingress controllers, network policies, multi-cluster use cases and deployment options.
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:
KubeCon CloudNativeCon 2016 Seattle - a reportKrishna-Kumar
KubeCon / CloudNativeCon Seattle summary report - Just to recapture some of the items from the event - Few of the items are copied from other blogs from reference - pictures are just for FUN!
Overview of kubernetes and its use as a DevOps cluster management framework.
Problems with deployment via kube-up.sh and improving kubernetes on AWS via custom cloud formation template.
Kubespray and Ansible can be used to automate the installation of Kubernetes in a production-ready environment. Kubespray provides tools to configure highly available Kubernetes clusters across multiple Linux distributions. Ansible is an IT automation tool that can deploy software and configure systems. The document then provides a 6 step guide for installing Kubernetes on Ubuntu using kubeadm, including installing Docker, kubeadm, kubelet and kubectl, disabling swap, configuring system parameters, initializing the cluster with kubeadm, and joining nodes. It also briefly explains Kubernetes architecture including the master node, worker nodes, addons, CNI, CRI, CSI and key concepts like pods, deployments, networking,
KubeCon EU 2016: Multi-Tenant KubernetesKubeAcademy
Today Kubernetes is mostly employed in single tenant deployment, either private cloud, or as a COE on top of IaaS. By leveraging virtualized container like Hyper, Kubernetes will be the core of multi-tenant Container-as-a-Service. This talk will present Hypernetes, a secure Kubernetes distro focusing on the public container hosting service.
Sched Link: http://sched.co/6BYD
This talk will focus on a brief history, including a demo and overview of how we at Superbalist use Kubernetes, and how Kubernetes uses Docker, does load balancing, deployments, and data migrations.
Talk from Cape Town DevOps meetup on Jun 21, 2016:
https://www.meetup.com/Cape-Town-DevOps/events/231530172/
Code: https://github.com/zoidbergwill/kubernetes-examples
Slides as markdown: http://www.zoidbergwill.com/presentations/2016/kubernetes-1.2-and-spread/index.md
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.
I am glad to share the presentation of the Kubernetes Pune meetup organized on 29 July 2017. One of the good response from the Pune folks to the community.
This document provides an overview of using Kubernetes to scale microservices. It discusses the challenges of scaling, monitoring, and discovery for microservices. Kubernetes provides a solution to these challenges through its automation of deployment, scaling, and management of containerized applications. The document then describes Kubernetes architecture and components like the master, nodes, pods, services, deployments and secrets which allow Kubernetes to provide portability, self-healing and a declarative way to manage the desired state of applications.
Monitoring, Logging and Tracing on KubernetesMartin Etmajer
The document discusses monitoring, logging and tracing tools for Kubernetes including Heapster, Grafana, Fluentd, Elastic Stack, Jolokia and OpenTracing. It provides examples of deploying Heapster with InfluxDB and Grafana for metrics collection, Fluentd to ingest container logs into Elasticsearch, and using Jolokia and OpenTracing for remote access to JMX metrics and distributed tracing functionality.
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka Mario Ishara Fernando
This document discusses microservices and containers. It provides an overview of microservices architecture compared to monolithic architecture, highlighting that microservices are composed of many small, independent services with separate deployments and databases. It then discusses containers and how Docker is used to package and run applications in isolated containers. Finally, it introduces Kubernetes as a container orchestration system to manage and scale multiple containerized applications across a cluster of machines.
- Archeology: before and without Kubernetes
- Deployment: kube-up, DCOS, GKE
- Core Architecture: the apiserver, the kubelet and the scheduler
- Compute Model: the pod, the service and the controller
Top 3 reasons why you should run your Enterprise workloads on GKESreenivas Makam
This deck covers top 3 reasons why Google Kubernetes engine is best suited to run containerized workloads. The reasons covered are Security, Observability and Maturity.
Kubernetes has two simple but powerful network concepts: every Pod is connected to the same network, and Services let you talk to a Pod by name. Bryan will take you through how these concepts are implemented - Pod Networks via the Container Network Interface (CNI), Service Discovery via kube-dns and Service virtual IPs, then on to how Services are exposed to the rest of the world.
Cloud native applications are popular these days – applications that run in the cloud reliably und scale almost arbitrarily. They follow three key principles: they are built and composed as micro services. They are packaged and distributed in containers. The containers are executed dynamically in the cloud. Kubernetes is an open-source cluster manager for the automated deployment, scaling and management of cloud native applications. In this hands-on session we will introduce the core concepts of Kubernetes and then show how to build, package and operate a cloud native showcase application on top of Kubernetes step-by-step. Throughout this session we will be using an off-the-shelf MIDI controller to demonstrate and visualize the concepts and to remote control Kubernetes. This session has been presented at the ContainerCon Europe 2016 in Berlin. #qaware #cloudnativenerd #LinuxCon #ContainerCon
This document provides an overview of Kubernetes 101. It begins with asking why Kubernetes is needed and provides a brief history of the project. It describes containers and container orchestration tools. It then covers the main components of Kubernetes architecture including pods, replica sets, deployments, services, and ingress. It provides examples of common Kubernetes manifest files and discusses basic Kubernetes primitives. It concludes with discussing DevOps practices after adopting Kubernetes and potential next steps to learn more advanced Kubernetes topics.
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...Nati Shalom
Video recording: https://www.youtube.com/watch?v=tGlIgUeoGz8
It’s no news that containers represent a portable unit of deployment, and OpenStack has proven an ideal environment for running container workloads. However, where it usually becomes more complex is that many times an application is often built out of multiple containers. What’s more, setting up a cluster of container images can be fairly cumbersome because you need to make one container aware of another and expose intimate details that are required for them to communicate which is not trivial especially if they’re not on the same host.
These scenarios have instigated the demand for some kind of orchestrator. The list of container orchestrators is growing fairly fast. This session will compare the different orchestation projects out there - from Heat to Kubernetes to TOSCA - and help you choose the right tool for the job.
Session link from teh summit: https://openstacksummitmay2015vancouver.sched.org/event/abd484e0dedcb9774edda1548ad47518#.VV5eh5NViko
Kubernetes deep dive - - Huawei 2015-10Vishnu Kannan
Kubernetes is an open-source container orchestration system that automates deployment, scaling, and management of containerized applications. It was originally designed by Google based on years of experience running containers internally. Kubernetes runs containerized applications across multiple machines, dynamically allocating resources and balancing load. It supports both public and private cloud environments as well as bare metal servers. The system aims to simplify container operations while providing portability and scalability.
Kubernetes intro public - kubernetes meetup 4-21-2015Rohit Jnagal
This document introduces Kubernetes, an open-source system for automating deployment, scaling, and management of containerized applications. It was developed at Google based on their 15+ years of running production workloads in containers. Kubernetes can manage applications running on virtual machines, bare metal, public or private cloud providers. It uses a declarative model where users specify the desired state and Kubernetes ensures the actual state matches it. Key concepts include pods, replication controllers, services, labels/selectors, and monitoring/logging addons.
Kubernetes is an open source container orchestration system that automates the deployment, maintenance, and scaling of containerized applications. It groups related containers into logical units called pods and handles scheduling pods onto nodes in a compute cluster while ensuring their desired state is maintained. Kubernetes uses concepts like labels and pods to organize containers that make up an application for easy management and discovery.
The document provides an overview of Kubernetes networking concepts including single pod networking, pod to pod communication, service discovery and load balancing, external access patterns, network policies, Istio service mesh, multi-cluster networking, and best practices. It covers topics such as pod IP addressing, communication approaches like L2, L3, overlays, services, ingress controllers, network policies, multi-cluster use cases and deployment options.
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:
KubeCon CloudNativeCon 2016 Seattle - a reportKrishna-Kumar
KubeCon / CloudNativeCon Seattle summary report - Just to recapture some of the items from the event - Few of the items are copied from other blogs from reference - pictures are just for FUN!
9 ways to consume kubernetes on open stack in 15 mins (k8s meetup)Stacy Véronneau
This document provides 9 ways to consume Kubernetes on OpenStack in 15 minutes. It summarizes each option including KubeADM and MiniKube for local development, deploying Kubernetes "The Hard Way" by manually configuring components, using Heat templates from the Kubernetes OpenStack SIG, Kargo which uses Terraform and Ansible, Juju from Canonical, OpenShift from Red Hat, Magnum which provisions container orchestration engines as OpenStack resources, Murano which provides a user-friendly UI app catalog for deploying Kubernetes, and recommends #1 Murano as the best option.
This document discusses scaling Jenkins with Kubernetes. Previously, Jenkins was run on single EC2 instances with issues like underutilization and port collisions. The new approach runs Jenkins on Kubernetes, allowing on-demand PODs for each build with complete isolation. A modified Kubernetes plugin was created to support multiple containers and persistent volumes per POD. Builds are queued and run on Kubernetes nodes, improving scalability. Demostrating this approach saves 70-90% over running Jenkins on always-on EC2 instances by using spot instances for Kubernetes nodes.
Vadim Solovey is a CTO of DoiT International has helped to implement Google BigQuery as a cloud data warehouse for many medium and large sized data and analytics initiatives. BigQuery’s serverless architecture had redefined what it means to be fully managed for hundreds of Israeli's startups.
Recently, Google announced an update to BigQuery that dramatically advances cloud data analytics for large-scale businesses such as BigQuery now support Standard SQL, implementing the SQL 2011 standard as well as new ODBC drivers making it possible to use BigQuery with a number of tools ranging from Microsoft Excel to traditional business intelligence systems such as Microstrategy and Qlik.
Agenda:
• Partitioned tables
• The ability to update, delete rows and columns using SQL
• Integration with IAM for fine-grained security policies
• Monitoring w/ StackDriver to track performance and usage
• Query sharing via links, to foster knowledge within orgs
• Cost optimisation strategies
AWS Athena vs. Google BigQuery for interactive SQL QueriesDoiT International
During the re:Invent 2016, AWS has released the Amazon Athena - an interactive query service that makes it easy to analyze data in Amazon S3 using standard SQL. Athena is serverless, so there is no infrastructure to manage, and you pay only for the queries that you run.
We took a look on AWS Athena and compared it to the Google BigQuery - another player of serverless interactive data analysis.
Would you like to know which one is the right tool for you? Join us for this meetup to learn AWS Athena and for the test drive of querying exactly the same dataset using AWS Athena and Google BigQuery to see where each one shines (or totally blows it).
The document discusses Kubernetes networking. It describes how Kubernetes networking allows pods to have routable IPs and communicate without NAT, unlike Docker networking which uses NAT. It covers how services provide stable virtual IPs to access pods, and how kube-proxy implements services by configuring iptables on nodes. It also discusses the DNS integration using SkyDNS and Ingress for layer 7 routing of HTTP traffic. Finally, it briefly mentions network plugins and how Kubernetes is designed to be open and customizable.
This 1-day course provides hands-on skills in ingesting, analyzing, transforming and visualizing data using AWS Athena and getting the best performance when using it at scale.
Audience:
This class is intended for data engineers, analysts and data scientists responsible for: analyzing and visualizing big data, implementing cloud-based big data solutions, deploying or migrating big data applications to the public cloud, implementing and maintaining large-scale data storage environments, and transforming/processing big data.
Cloud Spanner is the first and only relational database service that is both strongly consistent and horizontally scalable. With Cloud Spanner you enjoy all the traditional benefits of a relational database: ACID transactions, relational schemas (and schema changes without downtime), SQL queries, high performance, and high availability. But unlike any other relational database service, Cloud Spanner scales horizontally, to hundreds or thousands of servers, so it can handle the highest of transactional workloads.
We believe that security *IS* a shared responsibility, - when we give developers the power to create infrastructure, security became their responsibility, too.
During this meetup, we'd like to share our experience with implementing security best practices, to be implemented directly by development teams to build more robust and secure cloud environments. Make cloud security your team's sport!
This document describes a serverless data architecture for processing tweets about Black Friday and performing sentiment analysis using Google Cloud Platform services. It involves collecting tweets from Twitter using Pub/Sub, running containers on Kubernetes, processing the data with Dataflow pipelines that write to BigQuery tables, and using the Natural Language API for sentiment analysis. The full pipeline is demonstrated in a live demo.
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...Oleg Shalygin
Kubernetes provides an automated platform to deployment, scaling and operations of applications across a cluster of hosts. Complementing Kubernetes with a series of build scripts in conjunction with Travis-CI, GitHub, Artifactory, and Google Cloud Platform, we can take code from a merged pull request to a deployed environment with no manual intervention on a highly scaleable and robust infrastructure.
Lean Drupal Repositories with Composer and DrushPantheon
Composer is the industry-standard PHP dependency manager that is now in use in Drupal 8 core. This session will show the current best practices for using Composer, drupal-composer, drupal-scaffold, Drush, Drupal Console and Drush site-local aliases to streamline your Drupal 7 and Drupal 8 site repositories for optimal use on teams.
This document discusses OpenShift v3 and how it can help organizations accelerate development at DevOps speed. It provides an overview of Kubernetes and OpenShift's technical architecture, how OpenShift enables continuous delivery and faster cycle times from idea to production. It also summarizes benefits for developers, integrations, administration capabilities, and the OpenShift product roadmap.
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containerized applications into logical units for easy management and discovery called pods. It can be used to deploy a containerized ASP.NET Core application. It provides basic mechanisms for self-healing, auto-scaling and updates through concepts like deployments, services, replica sets and labels.
You may know Google for search, YouTube, Android, Chrome, and Gmail, but that's only as an end-user of OUR apps. Did you know you can also integrate Google technologies into YOUR apps? We have many APIs and open source libraries that help you do that! If you have tried and found it challenging, didn't find not enough examples, run into roadblocks, got confused, or just curious about what Google APIs can offer, join us to resolve any blockers. Code samples will be in Python and/or Node.js/JavaScript. This session focuses on showing you how to access Google Cloud APIs from one of Google Cloud's compute platforms, whether serverless or otherwise.
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery called Pods. ReplicaSets ensure that a specified number of pod replicas are running at any given time. Key components include Pods, Services for enabling network access to applications, and Deployments to update Pods and manage releases.
The document discusses containerizing ASP.NET Core applications with Kubernetes. It begins with an overview of .NET Core and containers, and how they have converged. It then discusses Kubernetes and how it can help manage containers at scale. It covers Kubernetes building blocks like deployments, pods, labels, services, and replica sets. It provides examples of deploying containers with Kubernetes, including demonstrations of creating deployments, services, scaling applications, and rolling updates.
Learn from the dozens of large-scale deployments how to get the most out of your Kubernetes environment:
- Container images optimization
- Organizing namespaces
- Readiness and Liveness probes
- Resource requests and limits
- Failing with grace
- Mapping external services
- Upgrading clusters with zero downtime
Mete Atamel "Resilient microservices with kubernetes"IT Event
Talk description: Creating a single microservice is a well understood problem. Creating a cluster of load-balanced microservices that are resilient and self-healing is not so easy. Managing that cluster with rollouts and rollbacks, scaling individual services on demand, securely sharing secrets and configuration among services is even harder.
Presented at AI NEXTCon Seattle 1/17-20, 2018
http://aisea18.xnextcon.com
join our free online AI group with 50,000+ tech engineers to learn and practice AI technology, including: latest AI news, tech articles/blogs, tech talks, tutorial videos, and hands-on workshop/codelabs, on machine learning, deep learning, data science, etc..
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Patrick Chanezon
In two years, Docker hit the sweet spot for devs and ops, with tools for building, shipping, and running distributed apps architected as a set of collaborating microservices packaged as Linux containers. One area of the Docker ecosystem that saw a lot of innovation in the past year is container orchestration systems. This session compares and contrasts various Docker orchestration systems (Swarm, Machine, and Compose), the batteries included with Docker itself, Mesos, Kubernetes, CoreOS/Fleet, Deis, Cloud Foundry, and Tutum. It includes a demo of how to deploy a Java 8 app with MongoDB on several of these systems. The goal of the session is to give you a framework to help evaluate how these systems can meet your particular requirements.
Demo code at https://github.com/chanezon/docker-tips/blob/master/orchestration-networking/README.md
Speakers: Vic Iglesias, Benjamin Good, Karl Isenberg
Venue: Google Cloud Next '19
Video: https://www.youtube.com/watch?v=rt287-94Pq4
Continuous Integration and Delivery allows companies to quickly iterate on and deploy their ideas to customers. In doing so, they should strive to have environments that closely match production. Using Kubernetes as the target platform across cloud providers and on-premises environments can help to mitigate some difficulties when ensuring environment parity but many other concerns can arise.
In this talk we will dive into the tools and methodologies available to ensure your code and deployment artifacts can smoothly transition among the various people, environments, and platforms that make up your CI/CD process.
Ultimate Guide to Microservice Architecture on Kuberneteskloia
This document provides an overview of microservice architecture on Kubernetes. It discusses:
1. Benefits of microservice architecture like independent deployability and scalability compared to monolithic applications.
2. Best practices for microservices including RESTful design, distributed configuration, client code generation, and API gateways.
3. Tools for microservices on Kubernetes including Prometheus for monitoring, Elasticsearch (ELK) stack for logging, service meshes, and event sourcing with CQRS.
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Runwesley chun
Many people ask, "Which one is better for me: App Engine, Cloud Functions, or Cloud Run?" To help you learn more about them, understand their differences, appropriate use cases, etc., why not deploy the same app to all 3? With this "test drive," you only need to make minor config changes between platforms. You'll also learn one of Google Cloud's AI/ML "building block" APIs as a bonus as the sample app is a simple "mini" Google Translate "MVP". This is a 45- 60-minute talk that reviews the Google Cloud serverless compute platforms then walks through the same app and its deployments. The code is maintained at https://github.com/googlecodelabs/cloud-nebulous-serverless-python
The recent launch of the Docker Init command has significantly simplified the process of generating Dockerfiles and Docker Compose templates for containerized applications. This presentation aims to explore the evolution of Docker deployment resources generation process, comparing its approach prior to the Docker Init command release and discussing the way forward. Before the introduction of the Docker Init command, I've been delivering some projects like the "alfresco-docker-installer"[1], which provides custom scripts and configurations to streamline the process of deploying Alfresco in Docker containers. These kinds of projects use tools like Yeoman or raw Python. There are some differences between a Docker Template for a technology (Go, Python, Node or Rust) and a Docker Template for a product (like Alfresco) that may be covered when generating automatic deployment resources. This presentation will delve into the methodologies employed before the Docker Init command:
Custom Dockerfile Extension
Compose Template for a complete product deployment, including a set of services like the database, content repository, search engine, or web application
Configuration Management, including techniques such as environment variable injection, externalized configuration files, and configuration overrides
Following the release of the Docker Init command, this presentation will provide insights into the possibilities and advantages it brings to complex products Docker deployment process. A PoC of a Docker Plugin, including this product-oriented approach for docker init, will be demoed live. >> Note that the Open Source Alfresco product is used only to explain the concepts of building a Docker Compose generator with a real example.
30-45-min tech talk given at user groups or technical conferences to introducing developers to integrating with Google APIs from Python .
ABSTRACT
Want to integrate Google technologies into the web+mobile apps that you build? Google has various open source libraries & developer tools that help you do exactly that. Users who have run into roadblocks like authentication or found our APIs confusing/challenging, are welcome to come and make these non-issues moving forward. Learn how to leverage the power of Google technologies in the next apps you build!!
Terraform modules provide reusable, composable infrastructure components. The document discusses restructuring infrastructure code into modules to make it more reusable, testable, and maintainable. Key points include:
- Modules should be structured in a three-tier hierarchy from primitive resources to generic services to specific environments.
- Testing modules individually increases confidence in changes.
- Storing module code and versions in Git provides versioning and collaboration.
- Remote state allows infrastructure to be shared between modules and deployments.
Training Generative Adversarial Networks is a gentle process. Recent advances in GANs research resulted in incredible results of generated images. However, training GANs still remains tricky and slow.
With TensorFlow and NVidia’s new Volta architecture it is possible to reduce training time by up to 50% using simplified code.
The document discusses an agenda for a meetup about Redis Labs and Kubernetes operators. Key points:
- An introduction to Redis Enterprise architecture and Redis Labs products.
- A discussion of "double orchestration" using Kubernetes and PKS to manage Redis clusters for performance and resource management.
- An overview of Redis Labs' Kubernetes solution using StatefulSets, services, and a custom controller.
- An introduction to operators, how they provide lifecycle management and simplify deployments compared to static YAML files or Helm.
- Details on Redis Labs' operator development process and challenges in building idempotent APIs and handling state changes and validation in the reconciliation loop.
An Open-Source Platform to Connect, Manage, and Secure MicroservicesDoiT International
Services are at the core of modern software architecture. Deploying a series of modular, small (micro-)services rather than big monoliths gives developers the flexibility to work in different languages, technologies and release cadence across the system; resulting in higher productivity and velocity, especially for larger teams.
With the adoption of microservices, however, new problems emerge due to the sheer number of services that exist in a larger system. Problems that had to be solved once for a monolith, like security, load balancing, monitoring, and rate limiting need to be handled for each service.
Istio, announced at GlueCon 2017, addresses these problems in a fundamental way through a service mesh framework. With Istio, developers can implement the core logic for the microservices, and let the framework take care of the rest – traffic management, discovery, service identity and security, and policy enforcement. Better yet, this can be also done for existing microservices without rewriting or recompiling any of their parts. Istio uses Envoy as its runtime proxy component and provides an extensible intermediation layer which allows global cross-cutting policy enforcement and telemetry collection.
So you are deployed to production (or soon to be) with Elasticsearch running and powering important application features. Or maybe used for centralized logging for effective debugging.
Was your Elastic cluster deployed correctly? Is it stable? Can it hold the throughput you expect it to?
How did you do capacity planning? How to tell if the cluster is healthy and what to monitor? How to apply effective multi-tenancy? and what would be an ideal cluster topology and data ingestion architecture?
We already trust artificial intelligence to drive our car, but we still configure thresholds and thrift through logs manually. In this talk, Ronny Lehmann, Loom CTO will discuss how he spent months analyzing modern-ops work, until he finally was able to extract the common-basis practices; and how we used this understanding to build a machine that complements ops teams, automating much of the work which is more suitable for machines - leaving for "humans" just the parts which require humans. What we built saves you time spent on parsers, on configuring and tuning rules and alerts, on conducting root-cause analysis and triage - and finally - on figuring out what to do.
This meeting we'll host a discussion on Google Cloud Platform and Amazon Web Services to bring light to similarities and differences between platforms. If you have questions about how our platforms compare this is the meeting to attend!
Cloud Dataflow - A Unified Model for Batch and Streaming Data ProcessingDoiT International
Dataflow is a unified programming model and a managed service for developing and executing a wide range of data processing patterns including ETL, batch computation, and continuous computation. Cloud Dataflow frees you from operational tasks like resource management and performance optimization.
This document summarizes Chen Fisher's presentation on Kubernetes at nanit. The key points are:
1) Nanit uses Kubernetes for service orchestration, taking advantage of its built-in service discovery, high availability features, and port management capabilities.
2) Kubernetes is preferred over Amazon ECS due to ECS lacking service discovery and only supporting basic health checks.
3) Nanit runs two Kubernetes clusters for staging and production, with over 100 pods across more than 20 instances in production.
4) Nanit uses Kubernetes for deploying microservices from development to production, with Jenkins doing automated testing and deployment via Slack notifications.
Dataflow - A Unified Model for Batch and Streaming Data ProcessingDoiT International
Batch and Streaming Data Processing and Vizualize 300Tb in 5 Seconds meetup on April 18th, 2016 (http://www.meetup.com/Big-things-are-happening-here/events/229532500)
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfSoftware Company
Explore the benefits and features of advanced logistics management software for businesses in Riyadh. This guide delves into the latest technologies, from real-time tracking and route optimization to warehouse management and inventory control, helping businesses streamline their logistics operations and reduce costs. Learn how implementing the right software solution can enhance efficiency, improve customer satisfaction, and provide a competitive edge in the growing logistics sector of Riyadh.
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
TrsLabs - Fintech Product & Business ConsultingTrs Labs
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul
Artificial intelligence is changing how businesses operate. Companies are using AI agents to automate tasks, reduce time spent on repetitive work, and focus more on high-value activities. Noah Loul, an AI strategist and entrepreneur, has helped dozens of companies streamline their operations using smart automation. He believes AI agents aren't just tools—they're workers that take on repeatable tasks so your human team can focus on what matters. If you want to reduce time waste and increase output, AI agents are the next move.
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxAnoop Ashok
In today's fast-paced retail environment, efficiency is key. Every minute counts, and every penny matters. One tool that can significantly boost your store's efficiency is a well-executed planogram. These visual merchandising blueprints not only enhance store layouts but also save time and money in the process.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025BookNet Canada
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, transcript, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-und-verwaltung-von-multiuser-umgebungen/
HCL Nomad Web wird als die nächste Generation des HCL Notes-Clients gefeiert und bietet zahlreiche Vorteile, wie die Beseitigung des Bedarfs an Paketierung, Verteilung und Installation. Nomad Web-Client-Updates werden “automatisch” im Hintergrund installiert, was den administrativen Aufwand im Vergleich zu traditionellen HCL Notes-Clients erheblich reduziert. Allerdings stellt die Fehlerbehebung in Nomad Web im Vergleich zum Notes-Client einzigartige Herausforderungen dar.
Begleiten Sie Christoph und Marc, während sie demonstrieren, wie der Fehlerbehebungsprozess in HCL Nomad Web vereinfacht werden kann, um eine reibungslose und effiziente Benutzererfahrung zu gewährleisten.
In diesem Webinar werden wir effektive Strategien zur Diagnose und Lösung häufiger Probleme in HCL Nomad Web untersuchen, einschließlich
- Zugriff auf die Konsole
- Auffinden und Interpretieren von Protokolldateien
- Zugriff auf den Datenordner im Cache des Browsers (unter Verwendung von OPFS)
- Verständnis der Unterschiede zwischen Einzel- und Mehrbenutzerszenarien
- Nutzung der Client Clocking-Funktion
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell
With expertise in data architecture, performance tracking, and revenue forecasting, Andrew Marnell plays a vital role in aligning business strategies with data insights. Andrew Marnell’s ability to lead cross-functional teams ensures businesses achieve sustainable growth and operational excellence.
Mobile App Development Company in Saudi ArabiaSteve Jonas
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Kubernetes - State of the Union (Q1-2016)
1. Section Slide Template Option 2
Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you.
Make the subtitle something clever. People will think it’s neat.
Kubernetes - State of the Union (Q1-2016)
Vadim Solovey - CTO, DoIT International
Google Cloud Developer Expert | Authorized Trainer
[email protected]
2. Google confidential │ Do not distribute
Agenda
Introduction to Containers & Kubernetes
What’s new and coming soon
Q&A
1
2
3
3. • Usage of micro-services
• Declarative management
• Highly flexible and scalable
• Automation-friendly
• Good for complex architectures
• Development for “Google scale”
KubernetesPackaging containersApps in Containers
Containers
5. Copyright 2016 Google Inc
How Can We Scale Out Container Workloads?
Node Node
Cluster
Node
???
• Placement?
• Scale?
• Node failure?
• Container failure?
• Application upgrades?
How to handle...
Containers
6. Managed Base OS
Node Container
Manager
Scheduled Containers
Cluster Scheduler
Schedule containers across
machines
Replication and resizing
Service naming and discovery
Cluster schedulingKubernetes
Containers
7. A datacenter is not a group
of computers,
a datacenter is a
computer.
The promise
8. Copyright 2015 Google Inc
Replication controllers create
new pod "replicas" from a
template and ensures that a
configurable number of
those pods are running.
A Service offers low overhead
way to route requests to a
logical set of pod backends
in the cluster based on a
label selector.
Replication
Controllers
ServicesLabels
Labels are metadata that
are attached to objects,
such as pods.
They enable organization
and selection of subsets
of objects with a cluster.
Pods
Pods are ephemeral units
that are used to manage
one or more tightly
coupled containers.
They enable data sharing
and communication
among their constituent
components.
Moving parts
Kubernetes
9. Copyright 2015 Google Inc
Namespaces AnnotationsSecretsVolumes
More moving parts
Kubernetes
Persistent
Volumes
Selectors
Load
Balancers
10. Copyright 2015 Google Inc
Autoscalers
Ingress
Jobs
Daemon
Sets
New kids in the town
Kubernetes
Deployments
11. Section Slide Template Option 2
Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you.
Make the subtitle something clever. People will think it’s neat.
Daemon Sets
12. Daemon Sets
A Daemon Set ensures that all (or some) nodes run a copy of a pod.
Node 1 Node 2 Node 3
pod pod pod
Popular use-cases:
● running a cluster storage daemon, such as glusterd or ceph
● running a logs collection daemon on every node, such as fluentd or logstash
● running a node monitoring daemon on every node collectd, new relic, ganglia
Alternatives:
● init script of your religion, - init, upstartd, systemd
● bare pods
13. Section Slide Template Option 2
Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you.
Make the subtitle something clever. People will think it’s neat.
Deployments
14. Deployments
A Deployment provides declarative update for Pods and ReplicationControllers.
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
A typical use case is:
● Create a deployment to bring up a replication controller and pods.
● Later, update that deployment to recreate the pods (for ex: to use a
new image).
$ kubectl create -f app.yaml
deployment "app" created..
$ kubectl get deployments
NAME UPDATEDREPLICAS AGE
app 3/3 1m
15. Section Slide Template Option 2
Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you.
Make the subtitle something clever. People will think it’s neat.
Horizontal Pod Autoscaling
16. Pod Autoscaling
Horizontal pod autoscaling allows the number of pods in a replication controller or deployment
to scale automatically based on observed CPU utilization
Pod 1
Details:
● Control loop (targetNumOfPods = ceil(sum(currentPodsCPUUtilization) / target)
● --horizontal-pod-autoscaler-sync-period
● Autoscaling during rolling update
Pod 2 Pod .. Pod N
RC / Deployment Autoscaler
17. Section Slide Template Option 2
Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you.
Make the subtitle something clever. People will think it’s neat.
Ingress
18. Copyright 2016 Google Inc
The Ingress
Services
Internet
Services
Internet
Ingress
is collection of rules that allow inbound
connections to reach the cluster services
19. Copyright 2016 Google Inc
The Ingress Resource
Services
Internet
Ingress
Few potential use-cases include:
● Externally reachable urls for services
● Traffic Load Balancing
● Terminate SSL
● Name based virtual hosting
● More more as it evolves..
Available Controllers:
● GCE L7 LB
● nginx
● Write your own
20. Copyright 2016 Google Inc
The Ingress Resource
Services
Internet
Ingress
Minimal Ingress Resource may look like this:
01. apiVersion: extensions/v1beta1
02. kind: Ingress
03. metadata:
04. name: test-ingress
05. spec:
06. rules:
07. - http:
08. paths:
09. - path: /testpath
10. backend:
11. serviceName: test
12. servicePort: 80
21. Copyright 2016 Google Inc
Creating Ingress Resource
Services
Internet
Ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
spec:
backend:
serviceName: testsvc
servicePort: 80
$ kubectl get ing
NAME RULE BACKEND ADDRESS
test-ingress - testsvc:80 107.178.254.228
23. Copyright 2016 Google Inc
Simple Fan Out
Simple edge accepting ingress
traffic and proxying it to the right
endpoints
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /foo
backend:
serviceName: s1
servicePort: 80
- path: /bar
backend:
serviceName: s2
servicePort: 80
$ kubectl get ing
NAME RULE BACKEND ADDRESS
test -
foo.bar.com
/foo s1:80
/bar s2:80
foo.bar.com
178.91.123.132
/foo
s1:80
/bar
s2:80
24. Copyright 2016 Google Inc
Name based virtual hosting
Name-based virtual hosts use
multiple host names for the same
IP address
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test
spec:
rules:
- host: foo.bar.com
http:
paths:
- backend:
serviceName: s1
servicePort: 80
- host: bar.foo.com
http:
paths:
- backend:
serviceName: s2
servicePort: 80
foo.bar.com
178.91.123.132
foo.bar.com
s1:80
bar.foo.com
s2:80
bar.foo.com
25. Copyright 2016 Google Inc
Alternatives
You can expose a Service in multiple ways that don't directly involve the Ingress resource:
● Use Service.Type=LoadBalancer
● Use Service.Type=NodePort (30K-32K ports)
● Use a Port Proxy
● Deploy the Service Loadbalancer. This allows you to share a single IP among multiple
services and achieve more advanced load balancing through service annotations.
26. Copyright 2016 Google Inc
Gotchas
● The Ingress resource is not available in Kubernetes < 1.1
● You need an Ingress Controller to satisfy an Ingress.
○ Simply creating the resource will have no effect.
● On GCE/GKE there is a L7 LB controller, on other platforms you either need to write
your own or deploy an existing controller as a pod.
● The resource currently does not support HTTPS, but will do so before it leaves beta
(March/April 2016)
27. Copyright 2016 Google Inc
Future Work
● Various modes of HTTPS/TLS support (edge termination, sni etc)
● Requesting an IP or Hostname via claims
● Combining L4 and L7 Ingress
● More Ingress controllers (haproxy, vulcan, zuul, etc)
28. Section Slide Template Option 2
Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you.
Make the subtitle something clever. People will think it’s neat.
Jobs
29. Section Slide Template Option 2
Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you.
Make the subtitle something clever. People will think it’s neat.
Going forward
30. Jobs
A job creates one or more pods and ensures that a specified number of them successfully
terminate.
Details:
● .restartPolicy, .parallelism & .completions
● replication controller vs jobs
● cron
apiVersion: extensions/v1beta1
kind: Job
metadata:
name: pi
spec:
selector:
matchLabels:
app: pi
template:
metadata:
name: pi
labels:
app: pi
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
$ kubectl create -f ./job.yaml
jobs/pi
$ kubectl logs pi-aiw0a
3.141592653589793238462643383279502884197169399
37510582097494459230781640628620899862803482534
21170679821480865132823066470938446095505822317
25359408128481117450284102701938521105559644622
94895493038196442881097566593344612847564823371
31. Copyright 2016 Google Inc
Going forward in 2016
● version 1.2 would also enable multi-zone
● version 1.4 will allow multi-clustering (Ubernetes)
32. Section Slide Template Option 2
Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you.
Make the subtitle something clever. People will think it’s neat.
Q & A
Vadim Solovey - CTO, DoIT International
Google Cloud Developer Expert | Authorized Trainer
[email protected]
33. Section Slide Template Option 2
Put your subtitle here. Feel free to pick from the handful of pretty Google colors available to you.
Make the subtitle something clever. People will think it’s neat.
meetup.com/googlecloud
Editor's Notes
#3: Questions to audience:
How many people are using containers in some environment (dev, ci, production)?
How many people are using some container orchestration engine (ecs, k8s, swarm, mesos)?
How many people know a little bit about Kubernetes?
#4: Microservices take the Unix philosophy to your application design. Write programs that do one thing, and do it well. Write programs that work together.
Apps in containers provide ideal infrastructure for micro-services, it’s flexible, very automation friendly and built for complex architectures and scale.
So far, sounds familiar, right?
#5: We can then create a node that hosts many containers.
This is much better.
My app & libraries get isolation through their containers,
and the container spins up on the order of a process (not booting a VM per app)
My app is kept portable, as containers that run on any modern linux stack.
We reduce the number of redundant OS kernels.
But
Google could not run, if we programmed and operated at individual Node level.
We have to write our apps with a higher level construct, we have to program at the cluster level
#6: As we saw when clusters came into Google
the number of services proliferates, as ops & dev have better tools that cleave at the right abstraction layer
We have to be cluster first.
GCE does not natively support any way to manage deployment, scaling and reliability of container based workloads.
How to handle replication?
What about node failure?
What about container failure?
How do we manage application upgrades?
#7: Managed Base OS
Node Container Manager
Common services: log rotation, watchdog restarting
Containers:
System container for shared daemons. Statically defined.
Dynamically scheduled containers
Cluster Scheduler
Schedules work (tasks) onto nodes
Work specified based on intents
Surfaces data about running tasks, restarts, etc.
#8: Essentially, the promise of Kubernetes is to make a datacenter not a group of computers but for a datacenter to become a computer in itself.
#9: Pods are ephemeral units that are used to manage one or more tightly coupled containers.
They enable data sharing and communication among their constituent components.
Labels are metadata that are attached to objects, such as pods.
They enable organization and selection of subsets of objects with a cluster.
Replication controllers create new pod "replicas" from a template and ensures that a configurable number of those pods are running.
A Service offers low overhead way to route requests to a logical set of pod backends in the cluster based on a label selector.
Services also provide a mechanism for surfacing legacy components such as databases with a cluster
#10: Pods are ephemeral units that are used to manage one or more tightly coupled containers.
They enable data sharing and communication among their constituent components.
Labels are metadata that are attached to objects, such as pods.
They enable organization and selection of subsets of objects with a cluster.
Replication controllers create new pod "replicas" from a template and ensures that a configurable number of those pods are running.
A Service offers low overhead way to route requests to a logical set of pod backends in the cluster based on a label selector.
Services also provide a mechanism for surfacing legacy components such as databases with a cluster
#11: But there are also new functionality coming up in 2016. Most of it is already available as beta feature in 1.1 release and all of them will be GA with 1.2 release scheduled for March/April 2016.
#13: In a simple case, one Daemon Set, covering all nodes, would be used for each type of daemon. A more complex setup might use multiple DaemonSets would be used for a single type of daemon, but with different flags and/or different memory and cpu requests for different hardware types.
It is certainly possible to run daemon processes by directly starting them on a node (e.g using init, upstartd, or systemd). This is perfectly fine. However, there are several advantages to running such processes via a DaemonSet:
Ability to monitor and manage logs for daemons in the same way as applications.
Same config language and tools (e.g. pod templates, kubectl) for daemons and applications.
Future versions of Kubernetes will likely support integration between DaemonSet-created pods and node upgrade workflows.
Running daemons in containers with resource limits increases isolation between daemons from app containers. However, this can also be accomplished by running the daemons in a container but not in a pod (e.g. start directly via Docker).
Bare Pods
It is possible to create pods directly which specify a particular node to run on. However, a Daemon Set replaces pods that are deleted or terminated for any reason, such as in the case of node failure or disruptive node maintenance, such as a kernel upgrade. For this reason, you should use a Daemon Set rather than creating individual pods.
#17: We already have cluster resize with 1.1 release on GCE and now we are adding pod autoscaling
#25: Possible use-case for default backend: 404 page if none of the Hosts in your Ingress match the Host in the request header, and/or none of the Paths match the url of the request
#31: A job creates one or more pods and ensures that a specified number of them successfully terminate. As pods successfully complete, the job tracks the successful completions. When a specified number of successful completions is reached, the job itself is complete. Deleting a Job will cleanup the pods it created.
A simple case is to create 1 Job object in order to reliably run one Pod to completion. A Job can also be used to run multiple pods in parallel.
Multiple Completions
By default, a Job is complete when one Pod runs to successful completion. You can also specify that this needs to happen multiple times by specifying .spec.completions with a value greater than 1. When multiple completions are requested, each Pod created by the Job controller has an identical spec. In particular, all pods will have the same command line and the same image, the same volumes, and mostly the same environment variables. It is up to the user to arrange for the pods to do work on different things. For example, the pods might all access a shared work queue service to acquire work units.
To create multiple pods which are similar, but have slightly different arguments, environment variables or images, use multiple Jobs.
Parallelism
You can suggest how many pods should run concurrently by setting .spec.parallelism to the number of pods you would like to have running concurrently. This number is a suggestion. The number running concurrently may be lower or higher for a variety of reasons. For example, it may be lower if the number of remaining completions is less, or as the controller is ramping up, or if it is throttling the job due to excessive failures. It may be higher for example if a pod is gracefully shutdown, and the replacement starts early.
If you do not specify .spec.parallelism, then it defaults to .spec.completions.
#34: Everyone is invited for Google Cloud meetup to follow up on next events and workshops