This document provides an overview of Docker and Kubernetes concepts and demonstrates how to create and run Docker containers and Kubernetes pods and deployments. It begins with an introduction to virtual machines and containers before demonstrating how to build a Docker image and container. It then introduces Kubernetes concepts like masters, nodes, pods and deployments. The document walks through running example containers and pods using commands like docker run, kubectl run, kubectl get and kubectl delete. It also shows how to create pods and deployments from configuration files and set resource limits.
Kubernetes for Beginners: An Introductory GuideBytemark
An introduction to Kubernetes for beginners. Includes the definition, architecture, benefits and misconceptions of Kubernetes. Written in plain English, ideal for both developers and non-developers who are new to Kubernetes.
Find out more about Kubernetes at Bytemark here: https://www.bytemark.co.uk/managed-kubernetes/
** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification **
This Edureka tutorial on "Kubernetes Architecture" will give you an introduction to popular DevOps tool - Kubernetes, and will deep dive into Kubernetes Architecture and its working. The following topics are covered in this training session:
1. What is Kubernetes
2. Features of Kubernetes
3. Kubernetes Architecture and Its Components
4. Components of Master Node and Worker Node
5. ETCD
6. Network Setup Requirements
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
A Comprehensive Introduction to Kubernetes. This slide deck serves as the lecture portion of a full-day Workshop covering the architecture, concepts and components of Kubernetes. For the interactive portion, please see the tutorials here:
https://github.com/mrbobbytables/k8s-intro-tutorials
Kubernetes for Beginners: An Introductory GuideBytemark
An introduction to Kubernetes for beginners. Includes the definition, architecture, benefits and misconceptions of Kubernetes. Written in plain English, ideal for both developers and non-developers who are new to Kubernetes.
Find out more about Kubernetes at Bytemark here: https://www.bytemark.co.uk/managed-kubernetes/
** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification **
This Edureka tutorial on "Kubernetes Architecture" will give you an introduction to popular DevOps tool - Kubernetes, and will deep dive into Kubernetes Architecture and its working. The following topics are covered in this training session:
1. What is Kubernetes
2. Features of Kubernetes
3. Kubernetes Architecture and Its Components
4. Components of Master Node and Worker Node
5. ETCD
6. Network Setup Requirements
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
A Comprehensive Introduction to Kubernetes. This slide deck serves as the lecture portion of a full-day Workshop covering the architecture, concepts and components of Kubernetes. For the interactive portion, please see the tutorials here:
https://github.com/mrbobbytables/k8s-intro-tutorials
Everything You Need To Know About Persistent Storage in KubernetesThe {code} Team
Applications need data. Containers remain ephemeral but we don't want our data to disappear. So how does it work with Kubernetes?
This session will examine the individual pieces required for creating persistent applications in Kubernetes. You will learn about in-tree and out-of-tree storage drivers, PersistentVolumes (PV), PersistentVolumeClaims (PVC), Dyanamic Provisioning, how to use all of these in your Deployments and StatefulSets, high availability, and what happens to the volumes when you delete objects. Get ramped up on everything you need to know about using persistent storage in Kubernetes
This presentation was delivered at Open Source Summit EU 2017
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
If you’re working with just a few containers, managing them isn't too complicated. But what if you have hundreds or thousands? Think about having to handle multiple upgrades for each container, keeping track of container and node state, available resources, and more. That’s where Kubernetes comes in. Kubernetes is an open source container management platform that helps you run containers at scale. This talk will cover Kubernetes components and show how to run applications on it.
A brief study on Kubernetes and its componentsRamit Surana
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. Using the concepts of "labels" and "pods", it groups the containers which make up an application into logical units for easy management and discovery.
Introduction of Kubernetes - Trang NguyenTrang Nguyen
This presentation provides the basic concepts of the Kubernetes for Beginners.
1) Introduction of Kubernetes
Before Kubernetes
What is Kubernetes
What Kubernetes can do?
What Kubernetes can't do?
Features of Kubernetes
Kubernetes Architecture
Kubernetes vs Docker Swarm
Kubernetes 7 use cases
...
2) Kubernetes Component
What is Kubelet?
What is Kubectl?
What is Kubeadm?
3) Nodes in Kubernetes
What is a node in Kubernetes?
Master node
Worker node
4) Kubernetes Development Process
What is blue green deployment?
How to automate the deployment?
5) Networking in Kubernetes
Kubernetes networking model
Ingress networking in Kubernetes
6) Security Measures in Kubernetes
Best security measures in Kubernetes
- 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
History and Basics of containers, LXC, Docker and Kubernetes. This presentation is given to Engineering colleage students at VIT DevFest 2018. Beginner to Intermediate level.
Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.
https://thinkcloudly.com/
OpenShift 4, the smarter Kubernetes platformKangaroot
OpenShift 4 introduces automated installation, patching, and upgrades for every layer of the container stack from the operating system through application services.
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.
Everything You Need To Know About Persistent Storage in KubernetesThe {code} Team
Applications need data. Containers remain ephemeral but we don't want our data to disappear. So how does it work with Kubernetes?
This session will examine the individual pieces required for creating persistent applications in Kubernetes. You will learn about in-tree and out-of-tree storage drivers, PersistentVolumes (PV), PersistentVolumeClaims (PVC), Dyanamic Provisioning, how to use all of these in your Deployments and StatefulSets, high availability, and what happens to the volumes when you delete objects. Get ramped up on everything you need to know about using persistent storage in Kubernetes
This presentation was delivered at Open Source Summit EU 2017
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
If you’re working with just a few containers, managing them isn't too complicated. But what if you have hundreds or thousands? Think about having to handle multiple upgrades for each container, keeping track of container and node state, available resources, and more. That’s where Kubernetes comes in. Kubernetes is an open source container management platform that helps you run containers at scale. This talk will cover Kubernetes components and show how to run applications on it.
A brief study on Kubernetes and its componentsRamit Surana
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. Using the concepts of "labels" and "pods", it groups the containers which make up an application into logical units for easy management and discovery.
Introduction of Kubernetes - Trang NguyenTrang Nguyen
This presentation provides the basic concepts of the Kubernetes for Beginners.
1) Introduction of Kubernetes
Before Kubernetes
What is Kubernetes
What Kubernetes can do?
What Kubernetes can't do?
Features of Kubernetes
Kubernetes Architecture
Kubernetes vs Docker Swarm
Kubernetes 7 use cases
...
2) Kubernetes Component
What is Kubelet?
What is Kubectl?
What is Kubeadm?
3) Nodes in Kubernetes
What is a node in Kubernetes?
Master node
Worker node
4) Kubernetes Development Process
What is blue green deployment?
How to automate the deployment?
5) Networking in Kubernetes
Kubernetes networking model
Ingress networking in Kubernetes
6) Security Measures in Kubernetes
Best security measures in Kubernetes
- 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
History and Basics of containers, LXC, Docker and Kubernetes. This presentation is given to Engineering colleage students at VIT DevFest 2018. Beginner to Intermediate level.
Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.
https://thinkcloudly.com/
OpenShift 4, the smarter Kubernetes platformKangaroot
OpenShift 4 introduces automated installation, patching, and upgrades for every layer of the container stack from the operating system through application services.
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.
Dockerizing Symfony2 application. Why Docker is so cool And what is Docker? And what are Containers? How they works? What are the ecosystem of Docker? And how to dockerize your web application (can be based on Symfony2 framework)?
Kubernetes is exploding in popularity right now and has all the buzz and cargo-culting that Docker enjoyed just a few years ago. But what even is Kubernetes? How do I run my PHP apps in it? Should I run my PHP apps in it ?
WKSctl: Gitops Management of Kubernetes ClustersWeaveworks
Watch the recording here: https://youtu.be/doren6cnvac
-------------------------------------------
Wksctl supports the creation and GitOps management of Kubernetes clusters on any set of machines with an SSH key. Jerry Jackson from the wksctl engineering team will discuss various aspects of wksctl including:
- its architecture and implementation
- how to use it to create clusters
- its relationship to flux and how to work with it using a GitOps model
- how to combine it with footloose for easy use in development environments
- how it enables consistent environments across the spectrum from development to production
-------------------------------------------
Speaker: Jerry Jackson, Software Engineer, Weaveworks
Bio: Jerry is an expert developer and architect of infrastructure and backend systems. For the last 15 years, his main work has been in the areas of system and cluster management, for which he has received over a dozen patents. Most recently, Jerry has worked on the automated construction of Kubernetes clusters and generation of Kubernetes application definitions from graphical models and Docker compose files.
Over his 30+ year career, he has developed firmware, compilers, database mapping tools, and a cluster management expert system. Jerry is the author of “Java by Example”, one of the first books available about Java. When he isn’t working, Jerry loves to run and read science fiction.
Containerization Is More than the New VirtualizationC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1E5GzZX.
Jérôme Petazzoni borrows from his experience at Docker Inc. to explain live applications running in Docker, including reading logs, remote access, and troubleshooting tips. Filmed at qconsf.com.
Jérôme Petazzoni is a senior engineer at dotCloud, where he rotates between Ops, Support and Evangelist duties and the nickname of “master Yoda”, has earned.
A small introduction to get started on Kubernetes as a user. This explains the main concepts like pod, deployment and services and gives some hints to help you use kubectl command.
These slides were presented in Grenoble Docker meetup in November 2017.
This talk will focus on a brief overview of Kubernetes, with a brief demo, and then more of an in-depth focus on issues we've faced moving PHP projects into Docker and Kubernetes like signal propagation, init systems, and logging.
Talk from Cape Town PHP meetup on Feb. 7, 2016:
https://www.meetup.com/Cape-Town-PHP-Group/events/237226310/
Code: https://github.com/zoidbergwill/kubernetes-php-examples
Slides as markdown: http://www.zoidbergwill.com/presentations/2017/kubernetes-php/index.md
Microsoft Ventures Hackday 2014 Bangalore - Limitless AppSathish VJ
Presentation of the app I created in the one day hackathon at Microsoft Ventures Hackday 2014 at Bangalore. Won the second prize too. Created using Ionic, AngularJS, HTML, CSS, etc. and the Frrole API.
Material I prepared for a beginner's workshop on AngularJS. Feel free to change it for your own use. I would appreciate it if you attributed the original to me.
Smart Ride - our winning Internet of Things hack at the weekend Apigee hackathonSathish VJ
Our winning entry at the Apigee weekend hackathon. We created a hack that took data from sensors placed on bikes using Arduino and Raspberry Pi (written in Go and C), loaded it to Apigee data stores, retrieved it from the browser ( angularjs, bootstrap, html, js, css, less) and then analyzed and visualized it (just a bit) using d3js and ng-grid.
A presentation I made to the Google Business Group (GBG) Bangalore. The agenda was to provide a view of Google AppEngine usage with a substantial business view of it based on both my technical and business experience on it.
Internet of things - what it is, what companies are doing, technologies in use, some projects done at micrograce.co, architecture with Google Technologies, etc.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
18. FROM ubuntu:latest
MAINTAINER me@email.com v0.1
RUN apt-get update
&& apt-get install -y nginx
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
filename: Dockerfile
Use the latest version of ubuntu as the base image.
You could add this note on who created/maintains the image.
Add this local file(s)/dir to the image. E.g. data, config files.
Run these commands in the image. E.g. software installs.
Allow port 80 to be accessed when the image is run.
Execute this command.
45. Starting and using Kubernetes
● Step 1: Preferably create a new VM on your computer
○ Download and install virtualbox
○ Install an OS like Fedora/Ubuntu on virtualbox
○ Start the VM instance
○ Install kubernetes tools as below …
● Step 2: create a kubernetes cluster
○ kubeadm: multi node (or)
○ minikube: single node - we’ll use this (or)
○ minishift: single node version of Red Hat OpenShift
● Step 3:
○ kubectl: use command line interface to control the cluster
51. kubectl run sise --image=mhausenblas/simpleservice:0.5.0
● Through this workshop we’ll try to construct commands instead of
trying to remember or byheart them.
○ So, get an idea of the general structure of commands.
● Main command immediately follows kubectl
● run requires a name for the cluster and is mandatory.
● Options follow “--”.
? get a list of pods now Kubernetes
Master
A
P
I
Kubelet
sise-309...
52. ● But what’s running inside the pod?
Navigate to: https://hub.docker.com/r/mhausenblas/simpleservice/~/dockerfile/
Navigate to: https://github.com/mhausenblas/simpleservice/blob/master/simpleservice.py
Kubernetes
Master
A
P
I
Kubelet
sise-309...
56. Can you construct the command to delete the deployment (a.k.a. deploy) ‘sise’?
57. kubectl delete deploy sise
Is cluster still running? Hint: cluster-info.
Redeploy the earlier one again.
kubectl run sise --image=mhausenblas/simpleservice:0.5.0
58. Can you construct the command to delete the pod?
Once you delete the pod, check pods again. What do you see?
59. kubectl delete pod sise-...
kubectl get pods
k8s automatically maintains required state.
Kubelet
sise-309... sise-309...
new
60. What is a Pod?
● a group of one or more containers
● shared storage/network, and a specification for how to run the containers
● pod’s contents are always co-located and co-scheduled, and run in a shared context
● it contains one or more application containers which are relatively tightly coupled
○ in a pre-container world, they would have executed on the same physical or virtual machine
● The shared context of a pod is a set of Linux namespaces, cgroups, and potentially other facets of isolation.
○ Within a pod’s context, the individual applications may have further sub-isolations applied.
● Containers within a pod share an IP address and port space, and can find each other via localhost
● Applications within a pod also have access to shared volumes, which are defined as part of a pod and are made
available to be mounted into each application’s filesystem.
● considered to be relatively ephemeral (rather than durable) entities
● pods are created, assigned a unique ID (UID), and scheduled to nodes where they remain until termination (according
to restart policy) or deletion
● When something is said to have the same lifetime as a pod, such as a volume, that means that it exists as long as
that pod (with that UID) exists. If that pod is deleted for any reason, even if an identical replacement is created, the
related thing (e.g. volume) is also destroyed and created anew.
61. Pod Management
● Pods are a model of the pattern of multiple cooperating processes which form a cohesive unit of
service.
● Pods serve as unit of deployment, horizontal scaling, and replication.
● Colocation (co-scheduling), shared fate (e.g. termination), coordinated replication, resource sharing,
and dependency management are handled automatically for containers in a pod.
63. apiVersion: v1
kind: Pod
metadata:
name: twocontainers
spec:
containers:
- name: sise
image: mhausenblas/simpleservice:0.5.0
ports:
- containerPort: 9876
- name: shell
image: centos:7
command:
- "bin/bash"
- "-c"
- "sleep 10000"
This configuration is only a pod.
The pod will have 2 containers.
This one is based on the earlier image, will be named ‘sise’,
and will expose the port 9876 outside the pod.
The pod will be called ‘twocontainers’
twocontainers
66. kubectl logs sise-3210265840-6p2wd
Logs of this pod default to the only container in it.
kubectl logs twocontainers
kubectl logs twocontainers -c sise
If there is more than 1, specify the container name.
67. Can you construct the command to exec into the terminal in container ‘shell’?
Hint: -i -t -- bash
68. kubectl exec twocontainers -c shell -i -t -- bash
curl -s localhost:9876/info
Containers within this pod are sharing resources like
network localhost.
74. apiVersion: v1
kind: Pod
metadata:
name: constraintpod
spec:
containers:
- name: sise
image: mhausenblas/simpleservice:0.5.0
ports:
- containerPort: 9876
resources:
limits:
memory: "64Mi"
cpu: "500m"
This container will have max limits on memory and cpu.
75. Use create -f to add constraint pod.
Then describe it to check.
77. apiVersion: apps extensions/v1beta1
kind: Deployment
metadata:
name: sise-deploy
spec:
replicas: 2
template:
metadata:
labels:
app: sise
spec:
containers:
- name: sise
image: mhausenblas/simpleservice:0.5.0
ports:
- containerPort: 9876
env:
- name: SIMPLE_SERVICE_VERSION
value: "0.9"
This is a deployment.
There should always be 2 pods with these specs.
It has only this one container.
We will be able to search/filter this pod using this label.