Kubernetes can schedule and manage containers across multiple clusters in different regions through cluster federation. The federation control plane manages deploying replicated applications and services across clusters. It creates a single API and DNS name to discover services running on pods in any federated cluster.
2016 08-30 Kubernetes talk for Waterloo DevOpscraigbox
This document discusses Kubernetes and container orchestration on Google Cloud Platform. It provides an overview of Kubernetes and how it allows users to manage applications and deploy containers across clusters. Key points include that Kubernetes was created at Google and is now open source, it provides tools for scheduling, load balancing and ensuring availability of containerized applications, and that adoption is growing rapidly across startups and enterprises due to benefits like portability and ease of updating clusters.
KubeOne is an open source tool for managing the lifecycle of Kubernetes clusters, including installing, upgrading, and decommissioning clusters on major cloud providers and on-premises. It uses tools like kubeadm and Kubermatic machine-controller to provision clusters in a declarative way. The presentation demonstrates installing a highly available Kubernetes cluster on AWS using KubeOne by defining a cluster manifest and running the install command.
Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...Tobias Schneck
Have you ever thought about migrating your Kubernetes clusters to Google Cloud to get your services closer to your customers? Yes? We too! Join us on an interactive journey to discover the main challenges of live migration at scale of etcd's, traffic routing and application workloads from your on-premise platform to GCP. The talk will discuss the current state of the technical concept, known problems and insides of the already proven migration steps for stateless workload.
As part of the journey, we'll see the differences between migrating one or one hundred clusters with productive workloads; What parts can be automated? What steps may need to be manual? Let's see how an automated solution could look like in the future and what steps are missing.
DockerDay2015: Getting started with Google Container EngineDocker-Hanoi
This document introduces Google Container Engine and Kubernetes for container orchestration. It discusses how containers provide isolation and portability compared to traditional virtual machines. Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. It allows grouping containers into pods and uses labels to identify pods. Services provide discovery and load balancing for pods. Replication controllers help maintain the desired number of pods. Kubernetes handles scheduling pods across a cluster and replacing pods when needed through this type of declarative management.
This document provides an overview of Cloud Spanner including:
1. What Cloud Spanner is and how it compares to other database offerings.
2. Key product highlights such as it being fully managed, providing relational database capabilities at massive scale with strong consistency, and high availability.
3. Common use cases such as user data, order management, and electronic medical records.
4. Details on Spanner's architecture including splits, TrueTime, reads/writes, and Paxos.
5. Current areas of focus such as new features, developer productivity, and growing the open source ecosystem.
Terraforming your Infrastructure on GCPSamuel Chow
A talk I gave at the Google Cloud Platform LA Meetup event at Google Playa Vista on Nov 6, 2019. This is a 1+ hour-long, tutorial-oriented talk on Infrastructure as Code (IaC), Terraform (as a toolset for IaC and modern devops), and leverage the practice and tools in defining, deploying, and managing your infrastructure in GCP.
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.
This document discusses testing Kubernetes and OpenShift at scale. It describes installing large clusters of 1000+ nodes, using scalability test tools like the Kubernetes performance test repo and OpenShift SVT repo to load clusters and generate traffic. Sample results show loading clusters with thousands of pods and projects, and peaks in master node resource usage when loading and deleting hundreds of pods simultaneously.
2016 08-30 Kubernetes talk for Waterloo DevOpscraigbox
This document discusses Kubernetes and container orchestration on Google Cloud Platform. It provides an overview of Kubernetes and how it allows users to manage applications and deploy containers across clusters. Key points include that Kubernetes was created at Google and is now open source, it provides tools for scheduling, load balancing and ensuring availability of containerized applications, and that adoption is growing rapidly across startups and enterprises due to benefits like portability and ease of updating clusters.
KubeOne is an open source tool for managing the lifecycle of Kubernetes clusters, including installing, upgrading, and decommissioning clusters on major cloud providers and on-premises. It uses tools like kubeadm and Kubermatic machine-controller to provision clusters in a declarative way. The presentation demonstrates installing a highly available Kubernetes cluster on AWS using KubeOne by defining a cluster manifest and running the install command.
Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...Tobias Schneck
Have you ever thought about migrating your Kubernetes clusters to Google Cloud to get your services closer to your customers? Yes? We too! Join us on an interactive journey to discover the main challenges of live migration at scale of etcd's, traffic routing and application workloads from your on-premise platform to GCP. The talk will discuss the current state of the technical concept, known problems and insides of the already proven migration steps for stateless workload.
As part of the journey, we'll see the differences between migrating one or one hundred clusters with productive workloads; What parts can be automated? What steps may need to be manual? Let's see how an automated solution could look like in the future and what steps are missing.
DockerDay2015: Getting started with Google Container EngineDocker-Hanoi
This document introduces Google Container Engine and Kubernetes for container orchestration. It discusses how containers provide isolation and portability compared to traditional virtual machines. Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. It allows grouping containers into pods and uses labels to identify pods. Services provide discovery and load balancing for pods. Replication controllers help maintain the desired number of pods. Kubernetes handles scheduling pods across a cluster and replacing pods when needed through this type of declarative management.
This document provides an overview of Cloud Spanner including:
1. What Cloud Spanner is and how it compares to other database offerings.
2. Key product highlights such as it being fully managed, providing relational database capabilities at massive scale with strong consistency, and high availability.
3. Common use cases such as user data, order management, and electronic medical records.
4. Details on Spanner's architecture including splits, TrueTime, reads/writes, and Paxos.
5. Current areas of focus such as new features, developer productivity, and growing the open source ecosystem.
Terraforming your Infrastructure on GCPSamuel Chow
A talk I gave at the Google Cloud Platform LA Meetup event at Google Playa Vista on Nov 6, 2019. This is a 1+ hour-long, tutorial-oriented talk on Infrastructure as Code (IaC), Terraform (as a toolset for IaC and modern devops), and leverage the practice and tools in defining, deploying, and managing your infrastructure in GCP.
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.
This document discusses testing Kubernetes and OpenShift at scale. It describes installing large clusters of 1000+ nodes, using scalability test tools like the Kubernetes performance test repo and OpenShift SVT repo to load clusters and generate traffic. Sample results show loading clusters with thousands of pods and projects, and peaks in master node resource usage when loading and deleting hundreds of pods simultaneously.
Kubernetes and OpenStack at Scale at OpenStack Summit Boston 2017
Imagine being able to stand up thousands of tenants with thousands of apps, running thousands of Docker-formatted container images and routes, all on a self-healing cluster and elastic infrastructure. Now, take that one step further - all of those images being updatable through a single upload to the registry, and with zero downtime. In this session, you will see just that.
In this presentation, we will walk through a recent benchmarking deployment using Kubernetes and OpenStack on the Cloud Native Computing Foundation’s (CNCF's) 1,000 node cluster with OpenStack and Red Hat’s OpenShift Container Platform, the enterprise-ready Kubernetes for developers.
You'll also what's been happening in subsequent rounds of testing in Red Hat's own SCALE lab and the CNCF cluster and how we are working with the relevant open source communities including OpenStack, Kubernetes, and Ansible to continue to raise the bar for horizontal scaling of these platforms via community powered innovation.
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
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.
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/
Kubernetes Architecture - beyond a black box - Part 2Hao H. Zhang
This continues the Kubernetes architecture deep dive series. (Part 1 see https://www.slideshare.net/harryzhang735/kubernetes-beyond-a-black-box-part-1)
In Part 2 I'm going to cover the following:
- Kubernetes's 3 most import design choices: Micro-service Choreography, Level-Triggered Control, Generalized Workload and Centralized Controller
- Default scheduler limitation and community's next step
- Interface to production environment
- Workload abstraction: strength and limitations
This concludes my work and knowledge sharing about 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:
KubeCon EU 2016 Keynote: Pushing Kubernetes ForwardKubeAcademy
The Kubernetes community has aspirations of becoming the Linux kernel of distributed systems. Together we want to build a scalable, stable, and secure platform for distributed system that is the ubiquitous choice for people building server infrastructure. This talk will discuss the major community efforts made in recent months to deliver this goal and the work we need to do to continue our momentum.
Sched Link: http://sched.co/68lU
Magnum is an OpenStack service that simplifies the deployment and management of container orchestration systems, such as Kubernetes and Docker Swarm, as first-class objects on OpenStack. It allows users to easily deploy and manage multiple container clusters on OpenStack that are isolated by tenant and project. Magnum uses Heat orchestration templates to deploy container clusters and integrates with other OpenStack services like Nova, Neutron, Keystone, and Cinder.
K8s NodeSet allows a Kubernetes cluster to manage its own worker nodes. It provides a native integration that allows developers to scale the cluster themselves using a "pets vs cattle" approach for nodes. The NodeSet controller creates and deletes node resources to ensure the number of nodes matches the specified replicas in the NodeSet manifest.
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)
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019confluent
Cloud migration: it's practically a rite of passage for anyone who's built infrastructure on bare metal. When we migrated our 5-year-old Kafka deployment from the datacenter to GCP, we were faced with the task of making our highly mutable server infrastructure more cloud-friendly. This led to a surprising decision: we chose to run our Kafka cluster on Kubernetes. I'll share war stories from our Kafka migration journey, explain why we chose Kubernetes over arguably simpler options like GCP VMs, and present the lessons we learned while making our way toward a stable and self-healing Kubernetes deployment. I'll also go through some improvements in the more recent Kafka releases that make upgrades crucial for any Kafka deployment on immutable and ephemeral infrastructure. You'll learn what happens when you try to run one complex distributed system on top of another, and come away with some handy tricks for automating cloud cluster management, plus some migration pitfalls to avoid. And if you're not sure whether running Kafka on Kubernetes is right for you, our experiences should provide some extra data points that you can use as you make that decision.
Why do containers suddenly matter so much when they have been around since 1998? Take a look at the potential of OpenStack's Magnum, Murano and Nova-Docker in the context leveraging the incredible interest in Linux Containers brought about by Docker.
Check out www.stackengine.com to learn more about our excellent container management solution.
Kubernetes has become the defacto standard as a platform for container orchestration. Its ease of extending and many integrations has paved the way for a wide variety of data science and research tooling to be built on top of it.
From all encompassing tools like Kubeflow that make it easy for researchers to build end-to-end Machine Learning pipelines to specific orchestration of analytics engines such as Spark; Kubernetes has made the deployment and management of these things easy. This presentation will showcase some of the larger research tools in the ecosystem and go into how Kubernetes has enabled this easy form of application management.
Kubernetes - A Short Ride Throught the project and its ecosystemMaciej Kwiek
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups related containers together and manages the deployment of these container pods across clusters of physical or virtual machines. Kubernetes has master components that control the cluster and node components that run on each machine in the cluster. It uses pods as the basic building block and schedules the pods across nodes to provide high availability and easy management of applications.
This document discusses autoscaling in Kubernetes. It describes horizontal and vertical autoscaling, and how Kubernetes can autoscale nodes and pods. For nodes, it proposes using Google Compute Engine's managed instance groups and cloud autoscaler to automatically scale the number of nodes based on resource utilization. For pods, it discusses using an autoscaler controller to scale the replica counts of replication controllers based on metrics from cAdvisor or Google Cloud Monitoring. Issues addressed include rebalancing pods and handling autoscaling during rolling updates.
Craig Box (Google) - The road to Kubernetes 1.0Outlyer
Review Kubernetes history as the project moves towards a 1.0 release.
Video: https://www.youtube.com/watch?v=_JDUbitRYws
Join DevOps Exchange London here: http://www.meetup.com/DevOps-Exchange-London
Follow DOXLON on twitter http://www.twitter.com/doxlon
This document provides an introduction to Kubernetes, including what it is, why it is needed, how to install it, and its main components. Kubernetes is an open-source platform for automating deployment, scaling, and operations of containerized applications. It groups containers together in pods and uses controllers like replication controllers and deployments to maintain the desired number of pods. Services provide a way for pods to discover and communicate with each other. Installation can be done using kubeadm to create a multi-node cluster with a master and nodes.
In this deck from the Docker Workshop at ISC 2015, Andreas Schmidt from Cassini Consulting describes Docker in a Nutshell
"As the newest flavor of Linux Containers, Docker gained a lot of momentum in the last 12 months. With a very convenient and open API-driven architecture Docker is able to help decrease the complexity of operations and increase the productivity of computation. During the last two years Andreas, Christian, and Wolfgang gained a lot of experience with Docker and were thrilled by its possible impact early on. Andreas started working with Docker in mid-2013 and is interested in developing tools for solving Enterprise IT requirements on networking and security. In 2014 he held talks and workshops about these topics. Christian started using Docker in 2013 to virtualize a complete HPC cluster stack and since then held multiple talks about how Docker might impact HPC. Wolfgang and his partner Burak Yenier introduced Docker as a corner-stone of the UberCloud Marketplace to drastically improve and simplify access to HPC cloud resources. UberCloud just announced their new containers for computational fluid dynamics software like Fluent, STAR-CCM+ and OpenFOAM."
Watch the video presentation: http://wp.me/p3RLHQ-enP
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
This document discusses methods for providing high availability services in Kubernetes including NodePort, cloud provider load balancers, Ingress, and Keepalived VIP. NodePort exposes services on each node's IP at a static port. Cloud provider load balancers rely on the cloud platform to provide an external IP for services. Ingress is for HTTP load balancing but does not fully support external networking. Keepalived VIP uses a virtual IP address, IP to service mapping, and daemonset to provide high availability services on bare metal clusters without a cloud provider.
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.
This document summarizes a company's two year journey migrating their infrastructure to Kubernetes on AWS. It describes their stack including tools like Terraform, AWS, CoreOS, Kubernetes and Docker. It outlines their architecture with masters, workers and stateful/stateless nodes. It discusses their lifecycles for development, testing and production. It also covers some struggles they faced around node availability and networking issues. Finally, it provides lessons learned around costs, using Terraform with Kubernetes, separating concerns, and prioritizing automation and testing in their workflows.
Kubernetes and OpenStack at Scale at OpenStack Summit Boston 2017
Imagine being able to stand up thousands of tenants with thousands of apps, running thousands of Docker-formatted container images and routes, all on a self-healing cluster and elastic infrastructure. Now, take that one step further - all of those images being updatable through a single upload to the registry, and with zero downtime. In this session, you will see just that.
In this presentation, we will walk through a recent benchmarking deployment using Kubernetes and OpenStack on the Cloud Native Computing Foundation’s (CNCF's) 1,000 node cluster with OpenStack and Red Hat’s OpenShift Container Platform, the enterprise-ready Kubernetes for developers.
You'll also what's been happening in subsequent rounds of testing in Red Hat's own SCALE lab and the CNCF cluster and how we are working with the relevant open source communities including OpenStack, Kubernetes, and Ansible to continue to raise the bar for horizontal scaling of these platforms via community powered innovation.
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
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.
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/
Kubernetes Architecture - beyond a black box - Part 2Hao H. Zhang
This continues the Kubernetes architecture deep dive series. (Part 1 see https://www.slideshare.net/harryzhang735/kubernetes-beyond-a-black-box-part-1)
In Part 2 I'm going to cover the following:
- Kubernetes's 3 most import design choices: Micro-service Choreography, Level-Triggered Control, Generalized Workload and Centralized Controller
- Default scheduler limitation and community's next step
- Interface to production environment
- Workload abstraction: strength and limitations
This concludes my work and knowledge sharing about 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:
KubeCon EU 2016 Keynote: Pushing Kubernetes ForwardKubeAcademy
The Kubernetes community has aspirations of becoming the Linux kernel of distributed systems. Together we want to build a scalable, stable, and secure platform for distributed system that is the ubiquitous choice for people building server infrastructure. This talk will discuss the major community efforts made in recent months to deliver this goal and the work we need to do to continue our momentum.
Sched Link: http://sched.co/68lU
Magnum is an OpenStack service that simplifies the deployment and management of container orchestration systems, such as Kubernetes and Docker Swarm, as first-class objects on OpenStack. It allows users to easily deploy and manage multiple container clusters on OpenStack that are isolated by tenant and project. Magnum uses Heat orchestration templates to deploy container clusters and integrates with other OpenStack services like Nova, Neutron, Keystone, and Cinder.
K8s NodeSet allows a Kubernetes cluster to manage its own worker nodes. It provides a native integration that allows developers to scale the cluster themselves using a "pets vs cattle" approach for nodes. The NodeSet controller creates and deletes node resources to ensure the number of nodes matches the specified replicas in the NodeSet manifest.
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)
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019confluent
Cloud migration: it's practically a rite of passage for anyone who's built infrastructure on bare metal. When we migrated our 5-year-old Kafka deployment from the datacenter to GCP, we were faced with the task of making our highly mutable server infrastructure more cloud-friendly. This led to a surprising decision: we chose to run our Kafka cluster on Kubernetes. I'll share war stories from our Kafka migration journey, explain why we chose Kubernetes over arguably simpler options like GCP VMs, and present the lessons we learned while making our way toward a stable and self-healing Kubernetes deployment. I'll also go through some improvements in the more recent Kafka releases that make upgrades crucial for any Kafka deployment on immutable and ephemeral infrastructure. You'll learn what happens when you try to run one complex distributed system on top of another, and come away with some handy tricks for automating cloud cluster management, plus some migration pitfalls to avoid. And if you're not sure whether running Kafka on Kubernetes is right for you, our experiences should provide some extra data points that you can use as you make that decision.
Why do containers suddenly matter so much when they have been around since 1998? Take a look at the potential of OpenStack's Magnum, Murano and Nova-Docker in the context leveraging the incredible interest in Linux Containers brought about by Docker.
Check out www.stackengine.com to learn more about our excellent container management solution.
Kubernetes has become the defacto standard as a platform for container orchestration. Its ease of extending and many integrations has paved the way for a wide variety of data science and research tooling to be built on top of it.
From all encompassing tools like Kubeflow that make it easy for researchers to build end-to-end Machine Learning pipelines to specific orchestration of analytics engines such as Spark; Kubernetes has made the deployment and management of these things easy. This presentation will showcase some of the larger research tools in the ecosystem and go into how Kubernetes has enabled this easy form of application management.
Kubernetes - A Short Ride Throught the project and its ecosystemMaciej Kwiek
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups related containers together and manages the deployment of these container pods across clusters of physical or virtual machines. Kubernetes has master components that control the cluster and node components that run on each machine in the cluster. It uses pods as the basic building block and schedules the pods across nodes to provide high availability and easy management of applications.
This document discusses autoscaling in Kubernetes. It describes horizontal and vertical autoscaling, and how Kubernetes can autoscale nodes and pods. For nodes, it proposes using Google Compute Engine's managed instance groups and cloud autoscaler to automatically scale the number of nodes based on resource utilization. For pods, it discusses using an autoscaler controller to scale the replica counts of replication controllers based on metrics from cAdvisor or Google Cloud Monitoring. Issues addressed include rebalancing pods and handling autoscaling during rolling updates.
Craig Box (Google) - The road to Kubernetes 1.0Outlyer
Review Kubernetes history as the project moves towards a 1.0 release.
Video: https://www.youtube.com/watch?v=_JDUbitRYws
Join DevOps Exchange London here: http://www.meetup.com/DevOps-Exchange-London
Follow DOXLON on twitter http://www.twitter.com/doxlon
This document provides an introduction to Kubernetes, including what it is, why it is needed, how to install it, and its main components. Kubernetes is an open-source platform for automating deployment, scaling, and operations of containerized applications. It groups containers together in pods and uses controllers like replication controllers and deployments to maintain the desired number of pods. Services provide a way for pods to discover and communicate with each other. Installation can be done using kubeadm to create a multi-node cluster with a master and nodes.
In this deck from the Docker Workshop at ISC 2015, Andreas Schmidt from Cassini Consulting describes Docker in a Nutshell
"As the newest flavor of Linux Containers, Docker gained a lot of momentum in the last 12 months. With a very convenient and open API-driven architecture Docker is able to help decrease the complexity of operations and increase the productivity of computation. During the last two years Andreas, Christian, and Wolfgang gained a lot of experience with Docker and were thrilled by its possible impact early on. Andreas started working with Docker in mid-2013 and is interested in developing tools for solving Enterprise IT requirements on networking and security. In 2014 he held talks and workshops about these topics. Christian started using Docker in 2013 to virtualize a complete HPC cluster stack and since then held multiple talks about how Docker might impact HPC. Wolfgang and his partner Burak Yenier introduced Docker as a corner-stone of the UberCloud Marketplace to drastically improve and simplify access to HPC cloud resources. UberCloud just announced their new containers for computational fluid dynamics software like Fluent, STAR-CCM+ and OpenFOAM."
Watch the video presentation: http://wp.me/p3RLHQ-enP
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
This document discusses methods for providing high availability services in Kubernetes including NodePort, cloud provider load balancers, Ingress, and Keepalived VIP. NodePort exposes services on each node's IP at a static port. Cloud provider load balancers rely on the cloud platform to provide an external IP for services. Ingress is for HTTP load balancing but does not fully support external networking. Keepalived VIP uses a virtual IP address, IP to service mapping, and daemonset to provide high availability services on bare metal clusters without a cloud provider.
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.
This document summarizes a company's two year journey migrating their infrastructure to Kubernetes on AWS. It describes their stack including tools like Terraform, AWS, CoreOS, Kubernetes and Docker. It outlines their architecture with masters, workers and stateful/stateless nodes. It discusses their lifecycles for development, testing and production. It also covers some struggles they faced around node availability and networking issues. Finally, it provides lessons learned around costs, using Terraform with Kubernetes, separating concerns, and prioritizing automation and testing in their workflows.
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...OW2
Kubernetes, the rising tide of systems administration Containers and cloud have moved from "why" to "how and when?" Learn how Google is helping the world go Cloud Native.
Free GitOps Workshop + Intro to Kubernetes & GitOpsWeaveworks
Follow along in this free workshop and experience GitOps!
AGENDA:
Welcome - Tamao Nakahara, Head of DX (Weaveworks)
Introduction to Kubernetes & GitOps - Mark Emeis, Principal Engineer (Weaveworks)
Weave Gitops Overview - Tamao Nakahara
Free Gitops Workshop - David Harris, Product Manager (Weaveworks)
If you're new to Kubernetes and GitOps, we'll give you a brief introduction to both and how GitOps is the natural evolution of Kubernetes.
Weave GitOps Core is a continuous delivery product to run apps in any Kubernetes. It is free and open source, and you can get started today!
https://www.weave.works/product/gitops-core
If you’re stuck, also come talk to us at our Slack channel! #weave-gitops http://bit.ly/WeaveGitOpsSlack (If you need to invite yourself to the Slack, visit https://slack.weave.works/)
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.
For this info-packed and hands-on workshop we cover:
📍 Introduction to Kubernetes & GitOps talk:
We cover the most popular path that has brought success to many users already - GitOps as a natural evolution of Kubernetes. We'll give an overview of how you can benefit from Kubernetes and GitOps: greater security, reliability, velocity and more. Importantly, we cover definitions and principles standardized by the CNCF's OpenGitOps group and what it means for you.
📍 Get Started with GitOps:
You'll have GitOps up and running in about 30 mins using our free and open source tools! We'll give a brief vision of where you want to be with those security, reliability, and velocity benefits, and then we'll support you while go through the getting started steps. During the workshop, you'll also experience in action and see demos for:
- an opinionated repo structure to minimize decision fatigue
- disaster recovery using GitOps
- Helm charts example
- Multi-cluster example
- all with free and open source tools mostly in the CNCF (eg. Flux and Helm).
If you have questions before or after the workshop, talk to us at #weave-gitops http://bit.ly/WeaveGitOpsSlack (If you need to invite yourself to the Slack, visit https://slack.weave.works/)
Join this workshop and accelerate your journey to production-ready Kubernetes by learning the practical techniques for reliably operating your software lifecycle using the GitOps pattern. The Weaveworks team will be running a full-day workshop, sharing their expertise as users and contributors of Kubernetes and Prometheus, as well as followers of GitOps (operations by pull request) practices.
Using a combination of instructor led demonstrations and hands-on exercises, the workshop will enable the attendee to go into detail on the following topics:
• Developing and operating your Kubernetes microservices at scale
• DevOps best practices and the movement towards a “GitOps” approach
• Building with Kubernetes in production: caring for your apps, implementing CI/CD best practices, and utilizing the right metrics, monitoring tools, and automated alerts
• Operating Kubernetes in production: Upgrading and managing Kubernetes, managing incident response, and adhering to security best practices for Kubernetes
Kubernetes - how to orchestrate containersinovex GmbH
http://www.meetup.com/Docker-Karlsruhe/events/220797663/
mehr Meetups von inovex:
http://www.meetup.com/inovex-karlsruhe
http://www.meetup.com/inovex-munich
http://www.meetup.com/inovex-cologne
Hybrid and multicloud deployments are critical approaches for bridging the gap between legacy and modern architectures. Sandeep Parikh discusses common patterns for creating scalable cross-environment deployments using Kubernetes and explores best practices and repeatable patterns for leveraging Kubernetes as a consistent abstraction layer across multiple environments.
Overview of kubernetes network functionsHungWei Chiu
In this slides, I briefly introduce the network function in the kubernetes and explain how kubernetes implement them.
Those function includes the container network interface (CNI) and kubernetes service.
In the last, I introduce the multus CNI which is designed for multiple networks in the container and it's necessary in some use case, such as SDN/NFV/5G
To Russia with Love: Deploying Kubernetes in Exotic Locations On PremCloudOps2005
Michael Wojcikiewicz, Container Solutions Architect at CloudOps, showed the communities in Montreal and Kitchener-Waterloo how to deploy Kubernetes on prem at the Kubernetes + Cloud Native meetups for March, 2019.
Slides used for Orchestructure May 2018 workshop.
Labs:
https://github.com/mrbobbytables/k8s-intro-tutorials
Event Information:
https://www.meetup.com/orchestructure/events/250189685/
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsAmbassador Labs
DevOps Days Boston 2017
Microservices is an increasingly popular approach to building cloud-native applications. Dozens of new technologies that streamline adopting microservices development such as Docker, Kubernetes, and Envoy have been released over the past few years. But how do you actually use these technologies together to develop, deploy, and run microservices?
In this presentation, we’ll cover the nuances of deploying containerized applications on Kubernetes, including creating a Kubernetes manifest, debugging and logging, and how to build an automated continuous deployment pipeline. Then, we’ll do a brief tour of some of the advanced concepts related to microservices, including service mesh, canary deployments, resilience, and security.
Speaker: Alexander Kukushkin
Kubernetes is a solid leader among different cloud orchestration engines and its adoption rate is growing on a daily basis. Naturally people want to run both their applications and databases on the same infrastructure.
There are a lot of ways to deploy and run PostgreSQL on Kubernetes, but most of them are not cloud-native. Around one year ago Zalando started to run HA setup of PostgreSQL on Kubernetes managed by Patroni. Those experiments were quite successful and produced a Helm chart for Patroni. That chart was useful, albeit a single problem: Patroni depended on Etcd, ZooKeeper or Consul.
Few people look forward to deploy two applications instead of one and support them later on. In this talk I would like to introduce Kubernetes-native Patroni. I will explain how Patroni uses Kubernetes API to run a leader election and store the cluster state. I’m going to live-demo a deployment of HA PostgreSQL cluster on Minikube and share our own experience of running more than 130 clusters on Kubernetes.
Patroni is a Python open-source project developed by Zalando in cooperation with other contributors on GitHub: https://github.com/zalando/patroni
Kubernetes is a solid leader among different cloud orchestration engines and its adoption rate is growing on a daily basis. Naturally people want to run both their applications and databases on the same infrastructure.
There are a lot of ways to deploy and run PostgreSQL on Kubernetes, but most of them are not cloud-native. Around one year ago Zalando started to run HA setup of PostgreSQL on Kubernetes managed by Patroni. Those experiments were quite successful and produced a Helm chart for Patroni. That chart was useful, albeit a single problem: Patroni depended on Etcd, ZooKeeper or Consul.
Few people look forward to deploy two applications instead of one and support them later on. In this talk I would like to introduce Kubernetes-native Patroni. I will explain how Patroni uses Kubernetes API to run a leader election and store the cluster state. I’m going to live-demo a deployment of HA PostgreSQL cluster on Minikube and share our own experience of running more than 130 clusters on Kubernetes.
Patroni is a Python open-source project developed by Zalando in cooperation with other contributors on GitHub: https://github.com/zalando/patroni
How to do a LIVE-demo with minikube:
1. git clone https://github.com/zalando/patroni
2. cd patroni
3. git checkout feature/demo
4. cd kubernetes
5. open demo.sh and edit line #4 (specify the minikube context )
6. docker build -t patroni .
7. may be docker push patroni
8. may be edit patroni_k8s.yaml line #22 and put the name of patroni image you build there
9. install tmux
10. run tmux in one terminal
11. run bash demo.sh in another terminal and press Enter from time to time
Watch this presentation and learn about Kubernetes Networking:
How to build applications without knowing subnets & IP addresses and build modern cloud-friendly applications in an agile fashion.
The document discusses Docker networking and Kubernetes networking concepts. It provides an overview of Docker networking and how containers on the same host can communicate. It then summarizes key Kubernetes concepts like pods, replication controllers, services and networking. It demonstrates how to set up a sample application topology in Kubernetes using replication controllers and services. It also discusses exposing services externally and additional resources for learning about Docker and Kubernetes.
- Docker started as an internal project at dotcloud and was later open sourced in 2013. It allows for standardized packaging of software and isolates applications from each other while sharing the same OS kernel.
- Containers provide benefits over traditional virtual machines by providing an application-level rather than infrastructure-level construct, resulting in better performance and efficiency.
- Kubernetes is an open source container orchestration platform originally developed by Google that provides self-healing and automated scaling of containerized applications. It abstracts away underlying infrastructure to provide a uniform interface for workloads.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1FjjXpZ.
Andrew Kennedy talks about the reasons for creating a Docker cloud and how they realized that to do this properly they needed first class networking to handle composite distributed applications such as Riak. It was a short step from this to using Brooklyn itself to bootstrap a Docker cloud effectively colonizing the infrastructure. And so Clocker was born. Filmed at qconlondon.com.
Andrew Kennedy is a Senior Software Engineer at Cloudsoft and the founder of the Clocker project. He is a contributor to several Open Source projects including Apache jclouds and Apache Qpid and is also a founder member of the Apache Brooklyn project.
Similar to Container Camp London (2016-09-09) (20)
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Infrastructure Challenges in Scaling RAG with Custom AI modelsZilliz
Building Retrieval-Augmented Generation (RAG) systems with open-source and custom AI models is a complex task. This talk explores the challenges in productionizing RAG systems, including retrieval performance, response synthesis, and evaluation. We’ll discuss how to leverage open-source models like text embeddings, language models, and custom fine-tuned models to enhance RAG performance. Additionally, we’ll cover how BentoML can help orchestrate and scale these AI components efficiently, ensuring seamless deployment and management of RAG systems in the cloud.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
CAKE: Sharing Slices of Confidential Data on BlockchainClaudio Di Ciccio
Presented at the CAiSE 2024 Forum, Intelligent Information Systems, June 6th, Limassol, Cyprus.
Synopsis: Cooperative information systems typically involve various entities in a collaborative process within a distributed environment. Blockchain technology offers a mechanism for automating such processes, even when only partial trust exists among participants. The data stored on the blockchain is replicated across all nodes in the network, ensuring accessibility to all participants. While this aspect facilitates traceability, integrity, and persistence, it poses challenges for adopting public blockchains in enterprise settings due to confidentiality issues. In this paper, we present a software tool named Control Access via Key Encryption (CAKE), designed to ensure data confidentiality in scenarios involving public blockchains. After outlining its core components and functionalities, we showcase the application of CAKE in the context of a real-world cyber-security project within the logistics domain.
Paper: https://doi.org/10.1007/978-3-031-61000-4_16
Things to Consider When Choosing a Website Developer for your Website | FODUUFODUU
Choosing the right website developer is crucial for your business. This article covers essential factors to consider, including experience, portfolio, technical skills, communication, pricing, reputation & reviews, cost and budget considerations and post-launch support. Make an informed decision to ensure your website meets your business goals.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
5. Container Camp London // @craigboxGoogle Cloud Platform 5
● Scheduling: Decide where my containers should run
● Lifecycle and health: Keep my containers running despite
failures
● Scaling: Make sets of containers bigger or smaller
● Naming and discovery: Find where my containers are now
● Load balancing: Distribute traffic across a set of containers
● Storage volumes: Provide data to containers
● Logging and monitoring: Track what’s happening with my
containers
● Debugging and introspection: Enter or attach to containers
● Identity and authorization: Control who can do things to my
containers
Kubernetes: a quick recap
6. Container Camp London // @craigboxGoogle Cloud Platform 6
● Kubernetes is one of the three legs of Cloud Native
○ Takes in container packaged apps
○ Emits microservices architectures
● Announced June 2014, in GA since June 2015
● 1.4 is due out in 1 week!
● Under half the code is now written by Google
● Stewarded by the Cloud Native Compute Foundation™
○ A Linux Foundation Collaborative Project™
Kubernetes: a quick recap
7. Container Camp London // @craigboxGoogle Cloud Platform 7
Kubernetes is stable
● Concrete ideas from 10 years of production experience
○ and mistakes!
● v1 API; breaking changes held until v2
● Alpha, Beta and GA tracks for new features
● Thorough end-to-end testing
● New work taking place outside of core
○ Volume & network plugins
○ Custom controllers
○ ThirdPartyResources
8. Container Camp London // @craigboxGoogle Cloud Platform 8
Kubernetes has a solid core
● Core primitives:
○ pods, services, volumes, labels, controllers, etc
● Continual improvement using these basic concepts
○ Ingress: connect a load balancer to a Service
○ ReplicaSet: fungible replicas
○ DaemonSet: put a pod on every node
○ Job: batch workloads
○ ScheduledJob: run a Job at a certain time (cron)
10. Container Camp London // @craigboxGoogle Cloud Platform 10
Kubernetes has great momentum
11. To host a similar set of services on our older Openstack environment
would require at least 2-3x the number of servers. The cost savings
isn't even the best part. Kubernetes has allowed us to build a
completely self-service pipeline for our devs and has taken the ops
team out of day-to-day app management. The nodes update
themselves with the latest OS and Kube shifts the workload around
as they do. This infrastructure is faster, more nimble, more
cost-effective and so much easier to run.
This is the best infrastructure I've ever used in twenty years
of doing ops and leading ops teams.
12. Since we started using kubernetes, we reduced our bill to 30%
of its original price, and it made everything easier and scalable
just as if we were using the costly [alternative]
14. laptop$ kubeadm --help
kubeadm: bootstrap a secure Kubernetes cluster easily.
/==========================================================
| KUBEADM IS ALPHA, DO NOT USE IT FOR PRODUCTION CLUSTERS! |
| |
| But, please try it out! Give us feedback at: |
| https://github.com/kubernetes/kubernetes/issues |
| and at-mention @kubernetes/sig-cluster-lifecycle |
==========================================================/
Example usage:
Create a two-machine cluster with one master (which controls the cluster),
and one node (where workloads, like pods and containers run).
On the first machine
====================
master# kubeadm init master
Your token is: <token>
On the second machine
=====================
node# kubeadm join node --token=<token> <ip-of-master>
16. Container Camp London // @craigboxGoogle Cloud Platform 16
The problems to be solved
1. Preserve individual identity for fungible entities
2. Provide predictable ordering and control as those entities change
3. To enable the software entities to identify and recognize the other entities
by those identities
4. To get access to a consistent storage mechanism (because their identity
also corresponds to data)
17. Container Camp London // @craigboxGoogle Cloud Platform 17
I apologise in advance for this horrible metaphor
18. Container Camp London // @craigboxGoogle Cloud Platform 18
Pets vs Cattle
It's so horrible it can only be written in Comic Sans
27. Container Camp London // @craigboxGoogle Cloud Platform 27
(In fairness, I can tell you the UDP joke, but I can't guarantee you will get it)
28. Container Camp London // @craigboxGoogle Cloud Platform 28
What is a pet?
A Pet Set ensures that a specified number of “pets” with unique identities are
running at any given time.
The identity of a Pet is comprised of:
● a stable hostname, available in DNS
● an ordinal index
● stable storage: linked to the ordinal & hostname
33. Container Camp London // @craigboxGoogle Cloud Platform 33
ReplicaSets
web-7ci7o
web-kzszj
web-qqcnn
Master
web-khku8
web-nacti
web-z9gth
at least i'm not
passing the butter
lol jk, 2 is plenty
34. Container Camp London // @craigboxGoogle Cloud Platform 34
ReplicaSets
web-7ci7o
Master
web-z9gth
at least i'm not
passing the butter
35. Container Camp London // @craigboxGoogle Cloud Platform 35
you're awesome
three please,
with storage
PetSets
Master
36. Container Camp London // @craigboxGoogle Cloud Platform 36
you're awesome
three please,
with storage
PetSets
db-0
Master
pvc-db-0pv-db-0
1:1 mapping
37. Container Camp London // @craigboxGoogle Cloud Platform 37
you're awesome
three please,
with storage
PetSets
db-0
db-1
Master
pvc-db-0
pvc-db-1
pv-db-0
pv-db-1
1:1 mapping
39. Container Camp London // @craigboxGoogle Cloud Platform 39
no robots shall
touch my pets
PetSets
db-0
db-1
db-2
Master
pvc-db-0
pvc-db-1
pvc-db-2
pv-db-0
pv-db-1
pv-db-2
scale down to
2, please
40. Container Camp London // @craigboxGoogle Cloud Platform 40
no robots shall
touch my pets
PetSets
db-0
db-1
Master
pvc-db-0
pvc-db-1
pvc-db-2
pv-db-0
pv-db-1
I might come in
useful some day
41. Container Camp London // @craigboxGoogle Cloud Platform 41
What other problems do I have?
● Discovery of peers for quorum
○ Sidecars and peer finder scripts
● Startup/teardown ordering
○ Init containers
○ Implicit ordering
42. Container Camp London // @craigboxGoogle Cloud Platform 42
InitContainers
db-0
Mount some
things
43. Container Camp London // @craigboxGoogle Cloud Platform 43
InitContainers
db-0
Mount some
things
pv-db-0
44. Container Camp London // @craigboxGoogle Cloud Platform 44
InitContainers
db-0
Copy some
stuff
pv-db-0
45. Container Camp London // @craigboxGoogle Cloud Platform 45
InitContainers
db-0
Write some
configs
pv-db-0
DNS
46. Container Camp London // @craigboxGoogle Cloud Platform 46
InitContainers
db-0
Be a database
pv-db-0
47. Container Camp London // @craigboxGoogle Cloud Platform 47
● InitContainers and PetSet introduced in 1.3
● InitContainers are Beta in 1.4
● PetSet remain in Alpha
"The real P0 beta blocker is solid prototypes that
increase our confidence in the core feature set."
https://github.com/kubernetes/charts/tree/master/incubator
Status: Alpha
Thanks to Christian and Matt from
49. Container Camp London // @craigboxGoogle Cloud Platform 49
Some terminology
● What is a cluster?
○ A bunch of machines on a high-speed network
● What is high-speed?
○ Generally "in the same building"
○ Same latency and throughput between any two machines
● How much is a bunch?
○ Enough to get the benefits of packing
○ Not too many to Accidentally Kill Everything
50. Container Camp London // @craigboxGoogle Cloud Platform 50
shared cell
(original)
shared cell
(compacted)
non-prod load
(compacted)
prod-only load
(compacted)
# machines
25% overhead
The bigger
the bin,
the better
the packing
51. Container Camp London // @craigboxGoogle Cloud Platform 51
How to separate
● Within a cluster
○ Use namespaces
● Within a region
○ Use NodePools to create "regional" cluster
● With multiple regions
○ Use cluster federation
52. Container Camp London // @craigboxGoogle Cloud Platform 52
etcd
scheduler
controllers
apiserver
Users Master Nodes
kubelet
kubelet
kubelet
CLI
UI
API
Single Kubernetes cluster
53. Container Camp London // @craigboxGoogle Cloud Platform 53
Container
Cluster
All you care about
API
54. Container Camp London // @craigboxGoogle Cloud Platform 54
kubelet
Control Plane
Users Control Plane Clusters
Federation
APICLI
UI
API
55. Container Camp London // @craigboxGoogle Cloud Platform 55
Cluster 2
us-central1-b
Cluster 1
us-east1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
API CLI
UI
Create the clusters
API API API API
56. Container Camp London // @craigboxGoogle Cloud Platform 56
Federation consists of
● Namespace
● API Server Service with public VIP
● API Server Deployment with 2 replicas
● Controller Manager Pod with 1 replica
● Database key/value store
Familiar? --context=federation-cluster
Deploy the Federated Control Plane
Cluster 2
us-central1-b
Cluster 1
us-east1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
API API API API
57. Container Camp London // @craigboxGoogle Cloud Platform 57
Add clusters to federation
Cluster 2
us-central1-b
Cluster 1
us-east1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
API API API API
Federation Control Plane
kubectl --context=federation-cluster create -f clusters/gce-asia-east1.yaml
apiVersion: federation/v1beta1
kind: Cluster
metadata:
name: gce-asia-east1
spec:
serverAddressByClientCIDRs:
- clientCIDR: "0.0.0.0/0"
serverAddress: "https://257.100.194.68"
secretRef:
name: gce-asia-east1
58. Container Camp London // @craigboxGoogle Cloud Platform 58
Deploy a federated ReplicaSet
Cluster 2
us-central1-b
Cluster 1
us-east1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
API API API API
Federation Control Plane
kubectl --context=federation-cluster create -f rs/nginx.yaml
apiVersion: extensions/v1beta1
kind: ReplicaSet
metadata:
name: nginx
spec:
replicas: 4
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.10
me again
59. Container Camp London // @craigboxGoogle Cloud Platform 59
Deploy a federated Service
Cluster 2
us-central1-b
Cluster 1
us-east1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
API API API API
Federation Control Plane
kubectl --context=federation-cluster create -f service/nginx.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx
name: nginx
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
name: http
selector:
app: nginx
type: LoadBalancer
60. Container Camp London // @craigboxGoogle Cloud Platform 60
Each service shard gets a load balancer
Cluster 1
us-east1-b
Cluster 2
us-central1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
61. Container Camp London // @craigboxGoogle Cloud Platform 61
...and each service creates a DNS entry
70. Container Camp London // @craigboxGoogle Cloud Platform 70
Q2 2016 Q3 2016 Q4 2016 (**) 2017 and beyond (**)
Beta 1
● Public facing,
multi-region/Cloud,
cross-cluster
service discovery
(internal/external DNS)
● Service object API
support
Beta 2
● Replica Sets
● Multi-region Ingress (L7)
Load Balancing across
clusters for GCP only
Beta 3
● Cross-provider,
multi-region Ingress (L7)
Load Balancing
● GKE IAM Integration
GA!
● Non-public-facing
cross-cluster
service discovery
● Full support for
Kubernetes API objects
● UI support for
Federated Clusters
● Federated IAM
● GKE hosted control plane
(**) - this is a proposed roadmap. Items listed here are subject to change.
Status: Beta
71. Container Camp London // @craigboxGoogle Cloud Platform 71
● Kubernetes Cluster Federation Sneak Peak
● Kubernetes Cluster Federation using GKE
● Cluster Federation Admin Guide
● Cross Cluster Service Discovery Deployment Guide
● Cross Cluster Services - Achieving Higher Availability for your Kubernetes Applications
Also,
● Participate with us on the Kubernetes #sig-federation
● Post issues or feature requests on GitHub
● Join us in the #federation channel on Slack
Want to learn more?