This document provides an overview of a course on Kubernetes on GKE (Google Kubernetes Engine). It introduces the instructor Ernesto Garbarino and lists relevant course resources. The content will cover getting started with GKE, creating high availability and discovering services, managing configurations and jobs, and various controller types. It is divided into 5 sections, each containing summaries of the topics and concepts that will be discussed.
Gitlab ci e kubernetes, build test and deploy your projects like a prosparkfabrik
This document discusses using GitLab CI and Kubernetes together for continuous integration, delivery, and deployment. It provides an overview of Kubernetes and GitLab, describes how to set up a GitLab runner using the Kubernetes executor, and provides an example YAML configuration. It also covers continuous deployment workflows, running GitLab on Kubernetes, and some tips and tricks as well as techniques for troubleshooting Kubernetes and GitLab CI/CD pipelines.
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...ssuser92b4be
This document summarizes a talk given at KubeCon Austin about kubeadm cluster creation internals. It discusses what kubeadm is and how it fits into the Kubernetes ecosystem. It then details the technical aspects of what kubeadm does during initialization, including generating certificates, config files, static pod manifests, and deploying addons. It also covers how kubeadm handles upgrades and discusses approaches to achieving high availability.
Container Deployment and Management with kubernetessiuyin
This document discusses container deployment and management with Kubernetes. It provides an overview of Kubernetes and describes how to deploy containers using replication controllers and services. Replication controllers allow pods to be automatically recreated if they fail, while services provide a stable IP address or DNS name to access pods. The document demonstrates building Docker images, creating replication controllers and services, and how Kubernetes ensures applications continue running despite pod failures.
Skaffold is an open-source Google Container tool that provides a toolkit for creating CI/CD pipelines for Kubernetes applications. It simplifies the process of building container images, pushing them to registries, and deploying them to Kubernetes clusters. Skaffold monitors source code changes and automatically builds, pushes, and deploys container images. It supports local development workflows as well as deployments to remote clusters. Skaffold improves developer productivity by separating business logic from platform operations management.
Gitlab ci e kubernetes, build test and deploy your projects like a prosparkfabrik
This document discusses using GitLab CI and Kubernetes together for continuous integration, delivery, and deployment. It provides an overview of Kubernetes and GitLab, describes how to set up a GitLab runner using the Kubernetes executor, and provides an example YAML configuration. It also covers continuous deployment workflows, running GitLab on Kubernetes, and some tips and tricks as well as techniques for troubleshooting Kubernetes and GitLab CI/CD pipelines.
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...ssuser92b4be
This document summarizes a talk given at KubeCon Austin about kubeadm cluster creation internals. It discusses what kubeadm is and how it fits into the Kubernetes ecosystem. It then details the technical aspects of what kubeadm does during initialization, including generating certificates, config files, static pod manifests, and deploying addons. It also covers how kubeadm handles upgrades and discusses approaches to achieving high availability.
Container Deployment and Management with kubernetessiuyin
This document discusses container deployment and management with Kubernetes. It provides an overview of Kubernetes and describes how to deploy containers using replication controllers and services. Replication controllers allow pods to be automatically recreated if they fail, while services provide a stable IP address or DNS name to access pods. The document demonstrates building Docker images, creating replication controllers and services, and how Kubernetes ensures applications continue running despite pod failures.
Skaffold is an open-source Google Container tool that provides a toolkit for creating CI/CD pipelines for Kubernetes applications. It simplifies the process of building container images, pushing them to registries, and deploying them to Kubernetes clusters. Skaffold monitors source code changes and automatically builds, pushes, and deploys container images. It supports local development workflows as well as deployments to remote clusters. Skaffold improves developer productivity by separating business logic from platform operations management.
Build Your Own CaaS (Container as a Service)HungWei Chiu
In this slide, I introduce the kubernetes and show an example what is CaaS and what it can provides.
Besides, I also introduce how to setup a continuous integration and continuous deployment for the CaaS platform.
- 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
Idea to Production - with Gitlab and KubernetesSimon Dittlmann
Setting up a continuous delivery pipeline form scratch with gitlab.com and Kubernetes (Google Container Service GKE) on Google Cloud Platform.
The entire source code is available at https://github.com/Pindar/gcloud-k8s-express-app
Blog post https://www.itnotes.de/gitlab/kubernetes/k8s/gke/gcloud/2017/03/05/idea-to-production-with-gitlab-and-kubernetes/
Google kubernetes Engine with Google CI/CD ImplementationPiyushKamboj6
GKE allows users to deploy and manage containerized applications on Google Cloud. It provides scalability, availability, and integration with services like Calico for network policies. The document demonstrates deploying a Node.js app to GKE including building a Docker image, creating deployment and service files, and implementing CI/CD using Cloud Build to automate building and deploying on container cluster updates.
The document provides instructions for setting up a Kubernetes cluster with one master node and one worker node on VirtualBox. It outlines the system requirements for the nodes, describes how to configure the networking and hostnames, install Docker and Kubernetes, initialize the master node with kubeadm init, join the worker node with kubeadm join, and deploy a test pod. It also includes commands to check the cluster status and remove existing Docker installations.
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.
Learn how to get Kubernetes up and running on Google Cloud Platform with GKE. Go over why you should use Kubernetes, and why using a managed service like GKE is important. After that we will go over how to deploy both simple and advanced applications to your cluster.
This document provides an agenda and instructions for learning Kubernetes in 90 minutes. The agenda includes exercises on running a first web service in Kubernetes, revisiting pods, deployments and services, deploying with YAML files, and installing a microservices application called Guestbook. Key Kubernetes concepts covered include pods, deployments, services, YAML descriptors, and using deployments to scale applications. The document also provides background on containers, Docker, and the Kubernetes architecture.
Tectonic Summit 2016: Kubernetes 1.5 and BeyondCoreOS
Kubernetes 1.5 introduces several new features to simplify cluster setup and improve scheduling. It provides an easy way to initialize a Kubernetes cluster with a single command using kubeadm. Multiple clusters can also be easily federated together using kubefed. Additionally, Kubernetes 1.5 enhances scheduling capabilities with taints and tolerations, which allow pods to be selectively scheduled to nodes based on hardware requirements like GPUs. This helps optimize workload placement on large, heterogeneous clusters.
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
This document provides an agenda and instructions for a hands-on introduction to Kubernetes tutorial. The tutorial will cover Kubernetes basics like pods, services, deployments and replica sets. It includes steps for setting up a local Kubernetes environment using Minikube and demonstrates features like rolling updates, rollbacks and self-healing. Attendees will learn how to develop container-based applications locally with Kubernetes and deploy changes to preview them before promoting to production.
Kubernetes is an open-source container cluster manager that was originally developed by Google. It was created as a rewrite of Google's internal Borg system using Go. Kubernetes aims to provide a declarative deployment and management of containerized applications and services. It facilitates both automatic bin packing as well as self-healing of applications. Some key features include horizontal pod autoscaling, load balancing, rolling updates, and application lifecycle management.
2016 - Continuously Delivering Microservices in Kubernetes using Jenkinsdevopsdaysaustin
The document discusses continuous integration and delivery (CI/CD) workflows using Kubernetes and Jenkins. It describes using Jenkins to automate the process of building, testing, and deploying code changes to Kubernetes clusters. The workflow includes steps for continuous integration testing, deploying to staging environments, and approving deployments to production with manual approval gates. It provides examples of implementing the workflow using a Jenkinsfile and Kubernetes resources like deployments.
Kubernetes nodes provide the infrastructure for containers to run by implementing container-centric features, networking, volumes, and interfacing with container runtimes. The node is an unsung hero that bridges the Kubernetes control plane with containers. Pods are the atomic scheduling unit in Kubernetes and are implemented at the node level, allowing for complex workloads using multiple cooperating containers with shared resources. Kubelets run the sync loop that manages pods and containers on each node by communicating with the API server and container runtime.
There will be a future where container workloads and serverless platforms are BFF. An essential building block on this way is Source2Image. It provides the magic of source code being transformed automatically into an executable container image containing all required runtime components. Think of it as a black box continuous integration server for containerized applications. The talk will introduce, showcase, and compare leading Source2Image open source projects.
Serverless Computing 2019, November 2019, London: Talk by Josef Adersberger (@adersberger, CTO QAware)
=== Please download slides if blurred! ===
Abstract:
There will be a future where container workloads and serverless platforms are BFF. An essential building block on this way is Source2Image. It provides the magic of source code being transformed automatically into an executable container image containing all required runtime components. Think of it as a black box continuous integration server for containerized applications. The talk will introduce, showcase, and compare leading Source2Image open source projects like Skaffold, OpenShift S2I, buildpacks.io, Draft, Knative Build, and Garden.
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.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Build Your Own CaaS (Container as a Service)HungWei Chiu
In this slide, I introduce the kubernetes and show an example what is CaaS and what it can provides.
Besides, I also introduce how to setup a continuous integration and continuous deployment for the CaaS platform.
- 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
Idea to Production - with Gitlab and KubernetesSimon Dittlmann
Setting up a continuous delivery pipeline form scratch with gitlab.com and Kubernetes (Google Container Service GKE) on Google Cloud Platform.
The entire source code is available at https://github.com/Pindar/gcloud-k8s-express-app
Blog post https://www.itnotes.de/gitlab/kubernetes/k8s/gke/gcloud/2017/03/05/idea-to-production-with-gitlab-and-kubernetes/
Google kubernetes Engine with Google CI/CD ImplementationPiyushKamboj6
GKE allows users to deploy and manage containerized applications on Google Cloud. It provides scalability, availability, and integration with services like Calico for network policies. The document demonstrates deploying a Node.js app to GKE including building a Docker image, creating deployment and service files, and implementing CI/CD using Cloud Build to automate building and deploying on container cluster updates.
The document provides instructions for setting up a Kubernetes cluster with one master node and one worker node on VirtualBox. It outlines the system requirements for the nodes, describes how to configure the networking and hostnames, install Docker and Kubernetes, initialize the master node with kubeadm init, join the worker node with kubeadm join, and deploy a test pod. It also includes commands to check the cluster status and remove existing Docker installations.
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.
Learn how to get Kubernetes up and running on Google Cloud Platform with GKE. Go over why you should use Kubernetes, and why using a managed service like GKE is important. After that we will go over how to deploy both simple and advanced applications to your cluster.
This document provides an agenda and instructions for learning Kubernetes in 90 minutes. The agenda includes exercises on running a first web service in Kubernetes, revisiting pods, deployments and services, deploying with YAML files, and installing a microservices application called Guestbook. Key Kubernetes concepts covered include pods, deployments, services, YAML descriptors, and using deployments to scale applications. The document also provides background on containers, Docker, and the Kubernetes architecture.
Tectonic Summit 2016: Kubernetes 1.5 and BeyondCoreOS
Kubernetes 1.5 introduces several new features to simplify cluster setup and improve scheduling. It provides an easy way to initialize a Kubernetes cluster with a single command using kubeadm. Multiple clusters can also be easily federated together using kubefed. Additionally, Kubernetes 1.5 enhances scheduling capabilities with taints and tolerations, which allow pods to be selectively scheduled to nodes based on hardware requirements like GPUs. This helps optimize workload placement on large, heterogeneous clusters.
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
This document provides an agenda and instructions for a hands-on introduction to Kubernetes tutorial. The tutorial will cover Kubernetes basics like pods, services, deployments and replica sets. It includes steps for setting up a local Kubernetes environment using Minikube and demonstrates features like rolling updates, rollbacks and self-healing. Attendees will learn how to develop container-based applications locally with Kubernetes and deploy changes to preview them before promoting to production.
Kubernetes is an open-source container cluster manager that was originally developed by Google. It was created as a rewrite of Google's internal Borg system using Go. Kubernetes aims to provide a declarative deployment and management of containerized applications and services. It facilitates both automatic bin packing as well as self-healing of applications. Some key features include horizontal pod autoscaling, load balancing, rolling updates, and application lifecycle management.
2016 - Continuously Delivering Microservices in Kubernetes using Jenkinsdevopsdaysaustin
The document discusses continuous integration and delivery (CI/CD) workflows using Kubernetes and Jenkins. It describes using Jenkins to automate the process of building, testing, and deploying code changes to Kubernetes clusters. The workflow includes steps for continuous integration testing, deploying to staging environments, and approving deployments to production with manual approval gates. It provides examples of implementing the workflow using a Jenkinsfile and Kubernetes resources like deployments.
Kubernetes nodes provide the infrastructure for containers to run by implementing container-centric features, networking, volumes, and interfacing with container runtimes. The node is an unsung hero that bridges the Kubernetes control plane with containers. Pods are the atomic scheduling unit in Kubernetes and are implemented at the node level, allowing for complex workloads using multiple cooperating containers with shared resources. Kubelets run the sync loop that manages pods and containers on each node by communicating with the API server and container runtime.
There will be a future where container workloads and serverless platforms are BFF. An essential building block on this way is Source2Image. It provides the magic of source code being transformed automatically into an executable container image containing all required runtime components. Think of it as a black box continuous integration server for containerized applications. The talk will introduce, showcase, and compare leading Source2Image open source projects.
Serverless Computing 2019, November 2019, London: Talk by Josef Adersberger (@adersberger, CTO QAware)
=== Please download slides if blurred! ===
Abstract:
There will be a future where container workloads and serverless platforms are BFF. An essential building block on this way is Source2Image. It provides the magic of source code being transformed automatically into an executable container image containing all required runtime components. Think of it as a black box continuous integration server for containerized applications. The talk will introduce, showcase, and compare leading Source2Image open source projects like Skaffold, OpenShift S2I, buildpacks.io, Draft, Knative Build, and Garden.
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.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
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
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Zilliz
Join us to introduce Milvus Lite, a vector database that can run on notebooks and laptops, share the same API with Milvus, and integrate with every popular GenAI framework. This webinar is perfect for developers seeking easy-to-use, well-integrated vector databases for their GenAI apps.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
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
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
1. Click to edit Master title style
Kubernetes on GKE
An Introduction to Kubernetes on GKE
Ernesto Garbarino
Course Instructor
2. Click to edit Master title style
About Your Instructor
● Enterprise Architect Fellow at Mphasis, a
Blackstone company.
● Author of Beginning Kubernetes on the
Google Cloud Platform.
● Blogger (https://garba.org) on machine
learning, architecture, productivity, and
software engineering.
Ernesto
Garbarino
3. Click to edit Master title style
Course Resources
Course-specific Code and Examples
https://github.com/egarbarino/safari_gke
Book
Beginning Kubernetes on the Google Cloud Platform:
A Guide to Automating Application Deployment,
Scaling, and Management by Ernesto Garbarino
https://learning.oreilly.com/library/view/beginning-
kubernetes-on/9781484254912/
4. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
Service
Load Balancer
ConfigMap
/
Secret
P P P
P
ReplicaSet
P
P
P
P
P P P
P
Deployment
StatefulSet
HPA
Job
CronJob
DaemonSet
Pod
Image
C C
Ports
Mounts
K8S
Master
Storage (Google Disks)
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Course Summary
5. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
Service
Load Balancer
ConfigMap
/
Secret
P P P
P
ReplicaSet
P
P
P
P
P P P
P
Deployment
StatefulSet
HPA
Job
CronJob
DaemonSet
Pod
Image
C C
Ports
Mounts
K8S
Master
Storage (Google Disks)
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Course Summary
S1
6. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
Service
Load Balancer
ConfigMap
/
Secret
P P P
P
ReplicaSet
P
P
P
P
P P P
P
Deployment
StatefulSet
HPA
Job
CronJob
DaemonSet
Pod
Image
C C
Ports
Mounts
K8S
Master
Storage (Google Disks)
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Course Summary
S1 S2
7. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
Service
Load Balancer
ConfigMap
/
Secret
P P P
P
ReplicaSet
P
P
P
P
P P P
P
Deployment
StatefulSet
HPA
Job
CronJob
DaemonSet
Pod
Image
C C
Ports
Mounts
K8S
Master
Storage (Google Disks)
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Course Summary
S1 S2 S3
8. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
Service
Load Balancer
ConfigMap
/
Secret
P P P
P
ReplicaSet
P
P
P
P
P P P
P
Deployment
StatefulSet
HPA
Job
CronJob
DaemonSet
Pod
Image
C C
Ports
Mounts
K8S
Master
Storage (Google Disks)
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Course Summary
S1 S2 S3 S4
9. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
Service
Load Balancer
ConfigMap
/
Secret
P P P
P
ReplicaSet
P
P
P
P
P P P
P
Deployment
StatefulSet
HPA
Job
CronJob
DaemonSet
Pod
Image
C C
Ports
Mounts
K8S
Master
Storage (Google Disks)
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Course Summary
S1 S2 S3 S4 S5 - Q&A
10. Click to edit Master title style
S1.0 POLL
What is your experience with the Google Cloud Platform?
1. None
2. I have just created an account
3. I have an account and have entered my credit card
4. I have run a few experiments
5. I use it in production
11. Click to edit Master title style
Getting Started with GKE (50m)
1
12. Click to edit Master title style gcloud
S1.1 Setting up The Google Cloud Shell and GKE
13. Click to edit Master title style
Worker Node 1 Worker Node 2 Worker Node n
K8S
Master
kubectl gcloud
~/.kube/config
create/delete
S1.2 Creating and Destroying Kubernetes Clusters
14. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
P
Pod
Image
C C
Ports
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
S1.3 Launching Docker Containers using Pods
Labels
one-off
steady
web server
15. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
S1.4 Managing The Pod’s Life Cycle
Storage (Google Disks)
Pod Life Cycle
Pending Running Succeeded Failed
Pending Init Pod.
Initializing
Running Terminatin
g
Init.
Container
Container Life Cycle
Mount
Storage
Startup
Command
PostStart
Hook
PreStop
Hook
https://garba.org/article/blog/2018/k8s_pod_lc.pdf
16. Click to edit Master title style
S1.5 Implementing Self-Healing Mechanisms
https://garba.org/posts/2020/k8s-life-cycle/
Container
Worker Node 1 Worker Node 2 Worker Node n
P
Pod
Image
C C
Ports
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Labels
Storage (Google Disks)
periodSeconds
Probe
Started
initialDelaySeconds
Container Created
Run Probe Check
(e.g. command/http/tcp)
Liveness Probe
Readiness Probe
is the container alive?
is it ready to service requests?
17. Click to edit Master title style
Timer Animation
10m
18. Click to edit Master title style
S2.0 POLL
How would you describe a ‘Pod’ to your best friend?
1. It is some kind of music player
2. It is like a virtual machine
3. It is the mechanism by which Kubernetes controls the life
cycle of containers, and establishes additional
dependencies such as storage
4. It is just the way Kubernetes refers to containers
5. Don’t ask me about it. It is the worst thing about
Kubernetes; it cannot launch containers straight from
Docker Hub without having to wrap them in Pods first!
19. Click to edit Master title style
High Availability and Service Discovery (45m)
2
20. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
P
ReplicaSet
P
P
P
P
P P P
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
S2.1 Defining and Launching Deployments
1. Creating Deployments
2. Setting # of Replicas
3. Updating Docker Image
4. Using Manifests
Deployment
Storage (Google Disks)
21. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
P
ReplicaSet
P
P
P
P
P P P
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
1. Recreate
2. Rolling
○ One at a Time
○ Blue/Green
S2.2 Performing Rolling and Blue/Green Deployments
Deployment
Storage (Google Disks)
22. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
P
ReplicaSet
P
P
P
P
P P P
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Static vs Auto-Scaling
Using The Horizontal Pod Scaler (HPA)
S2.3 Instrumenting Static Scaling and Autoscaling
Deployment
HPA
Storage (Google Disks)
23. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
P
ReplicaSet
P
P
P
P
P P P
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
S2.4 Pod-to-Pod Service Access
Service
1. Pod-to-Pod (Demo)
2. Internet-to-Pod
Deployment
HPA
Storage (Google Disks)
24. Click to edit Master title style
S2.5 Publishing Services on the Public Internet
Container
Worker Node 1 Worker Node 2 Worker Node n
P
ReplicaSet
P
P
P
P
P P P
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Service
Load Balancer
1. Pod-to-Pod
2. Internet-to-Pod (Demo)
Deployment
HPA
Storage (Google Disks)
25. Click to edit Master title style
S2.6 Performing Zero Downtime Deployments
Container
Worker Node 1 Worker Node 2 Worker Node n
P
ReplicaSet
P
P
P
P
P P P
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Service
Canary
Zero Downtime Deployments
Load Balancer
Deployment
HPA
Storage (Google Disks)
27. Click to edit Master title style
S3.0 POLL
How do the Deployment controller and the Service controller
typically collaborate?
1. The Deployment controller manages the scaling and
release of new Pod versions, whereas the Service
controller manages the exposure of the relevant Pods to a
load balancer.
2. The Service controller controls the Deployment controller
so that it can perform releases according to the load
balancer’s needs.
28. Click to edit Master title style
Configuration and Jobs (45m)
3
29. Click to edit Master title style
S3.1 Externalizing Configuration using ConfigMap
Container
Worker Node 1 Worker Node 2 Worker Node n
P
ReplicaSet
P
P
P
P
P P P
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Service
Load Balancer
ConfigMap
Deployment
HPA
Storage (Google Disks)
30. Click to edit Master title style
S3.2 Protecting Credentials using Secrets
Container
Worker Node 1 Worker Node 2 Worker Node n
P
ReplicaSet
P
P
P
P
P P P
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Service
Load Balancer
ConfigMap
/
Secret
Deployment
HPA
Storage (Google Disks)
31. Click to edit Master title style
S3.3 Implementing Batch Processes using Jobs
Container
Worker Node 1 Worker Node 2 Worker Node n
P
ReplicaSet
P
P
P
P
P P P
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Service
Load Balancer
ConfigMap
/
Secrets
Job
1. Single Batch Process
2. Completion Count-Based Batch Process
3. Externally Coordinated Batch Process
Deployment
HPA
Storage (Google Disks)
32. Click to edit Master title style
S3.4 Scheduling Recurring Tasks Using CronJobs
Container
Worker Node 1 Worker Node 2 Worker Node n
P
ReplicaSet
P
P
P
P
P P P
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Service
Load Balancer
ConfigMap
/
Secret
Job
CronJob
Deployment
HPA
Storage (Google Disks)
33. Click to edit Master title style
Timer Animation
10m
34. Click to edit Master title style
S4.0 POLL
What is the difference between the CronJob controller and the
Job controller?
1. The Job controller is the one that actually encapsulates the
intended workload, whereas the CronJob controller is just
a scheduling mechanism for Jobs.
2. They are two unrelated controllers. Jobs are for one-off
workloads whereas CronJobs are for recurrent ones.
35. Click to edit Master title style
Further Controller Types (45m)
4
36. Click to edit Master title style
S4.1 Running Server-Wide Services using DaemonSets
Container
Worker Node 1 Worker Node 2 Worker Node n
P
ReplicaSet
P
P
P
P
P P P
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Service
Load Balancer
ConfigMap
/
Secret
Job
CronJob
P P P
DaemonSet
Deployment
HPA
Storage (Google Disks)
37. Click to edit Master title style
S4.2 Instrument Stateful Applications using StatefulSets
Container
Worker Node 1 Worker Node 2 Worker Node n
P
ReplicaSet
P
P
P
P
P P P
P
Pod
Image
C C
Ports
Mounts
K8S
Master
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
Service
Load Balancer
ConfigMap
/
Secret
Job
CronJob
P P P
DaemonSet
Deployment
HPA
Storage (Google Disks)
StatefulSet
38. Click to edit Master title style
Timer Animation
10m
39. Click to edit Master title style
S5.0 POLL
Which statement is correct? (Select only one)
1. Both Deployments and StatefulSets create randomly-named Pods.
2. If a StatefulSet’s Pod crashes, the controller will use the next available sequence
number to restart it.
3. StatefulSet’s Pods are best accessed through a Load Balancer.
4. StatefulSet’s Pod are created and destroyed in sequential, and reverse
sequential order, respectively.
5. Databases implemented using StatefulSets can be easily scaled using the ‘kubectl
scale’ command.
40. Click to edit Master title style
Wrap Up and Q&A (20m)
5
41. Click to edit Master title style
Container
Worker Node 1 Worker Node 2 Worker Node n
Service
Load Balancer
ConfigMap
/
Secret
P P P
P
ReplicaSet
P
P
P
P
P P P
P
Deployment
StatefulSet
HPA
Job
CronJob
DaemonSet
Pod
Image
C C
Ports
Mounts
K8S
Master
Storage (Google Disks)
kubectl gcloud
~/.kube/config
Docker
Hub
create/delete
S5.1 What We’ve Learned
42. Click to edit Master title style
S5.2 Topics for Further Exploration
Pods
● Multiple containers (p. 45)
● Namespaces (p. 79)
● Labels (p. 83)
● Annotations (p. 88)
Service Discovery
● GKE Node-wise autoscaling (p. 126)
● DNS and namespaces (p. 139)
ConfigMap and Secrets
● Large Files and Binary Data (p. 167,177)
● Docker Registry Credentials (p. 185)
Jobs
● Timing out Stuck Jobs (p. 213)
CronJobs
● Missed Scheduled Events (p. 235)
StatefulSets
● Scaling Up and Down (p. 295-307)
Cluster Architecture, Installation, And
Configuration (Chp. 2)
● Role-Based Access Control
Services and Networking (Chp. 5)
● Understanding Ingress
Storage (Chp. 6)
● Understanding Volumes
● Understanding Persistent Volumes
● Understanding Storage Classes
43. Click to edit Master title style
S5.3 Questions and Answers
Course-specific Code and Examples + FAQ
https://github.com/egarbarino/safari_gke