Deploying and scaling applications with Kubernetes
What you'll learn, and how you can apply it
After this session, you will know how to deploy your containerized applications to production with Kubernetes. Kubernetes has the reputation of being complex to setup and operate, but we will show that it doesn't have to be the case.
Who is this presentation for?
Developers targeting Kubernetes clusters; ops supporting them; architects and tech leads willing to understand cloud native principles.
It's recommended (but not mandatory) to be familiar with container principles and at least one container engine. For instance, if you have already used Docker and written Dockerfiles to containerize an application, that's perfect! We are going to show you how to take that from a single node, to a Kubernetes cluster.
No prior exposure to Kubernetes or other orchestrators is necessary. If you only have superficial knowledge of containers or Docker but consider yourself a quick learner, don't hesitate to attend: there will be numerous examples and demos, and you will be able to test them out on your own cluster.
Hardware and/or installation requirements:
You won't need to pre-install Docker or Kubernetes before the course: each student will be given credentials to connect to an individual Kubernetes cluster. So all you need is a computer with a SSH client.
- What’s an orchestrator?
- From pods to containers
- The control plane
- Declarative vs imperative models
- Kubernetes networking overview
First contact with a Kubernetes cluster
- Getting familiar with kubectl
- Understanding deployments, replica sets, pods
- Listing and inspecting existing resources
- Running our first containers
Service discovery and load balancing
- Accessing pods through services
- Service types: ClusterIP, NodePort, LoadBalancer
- Headless services
- Using DNS for service discovery
Build, ship, and run a microservices app
- Creating deployments
- Exposing deployments internally and externally
- Scaling and load balancing
- Mitigating update impact with rolling deploys
Advanced deployment patterns
- Dynamically update load balancer backends with labels
- Traffic engineering with selectors and labels
- Adjusting rollout speed and resource usage
Using YAML to define resources
- Generating and exporting resource YAML
- Update the cluster state by editing YAML specs
- Use case: creating a Daemon Set from a Deployment
- Knowing the gotchas of YAML
- Resources generating more resources with templates
Operating a Kubernetes cluster
- Installation options
- Accessing application logs
- Centralizing logs
- Collecting metrics
- The Kubernetes dashboard
Deploying multiple apps side by side
- Using namespaces
- Deploying multiple instances of the same app
Managing app complexity
- Review of app configuration mechanisms
- Managing app configuration with config maps
- Managing sensitive information with secrets
Packaging and deploying to multiple environments
- Helm and Helm Charts
- Authentication and Authorization in Kubernetes
- Authentication with certificates and tokens
- Authorization with Role-Based Access Control
- Granting specific permissions to Service Accounts
- Isolating components with Network Policies
- Managing access to multiple clusters
- Securely accessing internal services
The “ingress” resource
- Using “ingress” for HTTP traffic
- Different ingress implementations
- Advanced traffic engineering
Deploying stateful applications
- Declaring and using persistent volumes
- Abstracting storage systems with persistent volume claims
- Scaling or replication with stateful sets
- Deploying resilient stateful applications
About your instructor
Jérôme Petazzoni is a DevOps advocate and international speaker. He was born and raised in France, where he worked on geographic information systems, voice-over-IP, video streaming and encoding, and started a cloud hosting company back when EC2 wasn’t an Amazon product yet. He moved to California to build and scale the dotCloud PaaS, which eventually gave birth to Docker. He worked at Docker for seven years, during which he represented the company at hundreds of conferences and events and trained thousands of engineers to use Docker, Swarm, and Kubernetes. He’s fluent in many languages (mostly programming ones), owns a dozen musical instruments, and can play the theme of Zelda on most of them.
Get the Platinum pass or the Training pass to add this course to your package. Early Price ends 20 September.
Leave a Comment or Question
Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?
Join the conversation here (requires login)
Premier Diamond Sponsor
For conference registration information and customer service
For more information on community discounts and trade opportunities with O’Reilly conferences
For information on exhibiting or sponsoring a conference
View a complete list of Velocity Conference contacts