My Account Log in

1 option

Kubernetes - an Enterprise Guide : Master Containerized Application Deployments, Integrate Enterprise Systems, and Achieve Scalability / Marc Boorshtein, Scott Surovich, and Ed Price.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Boorshtein, Marc, author.
Surovich, Scott, author.
Price, Ed, author.
Series:
Expert insight.
Expert insight
Language:
English
Subjects (All):
Kubernetes.
Application software--Development--Computer programs.
Application software.
Application program interfaces (Computer software).
Open source software.
Physical Description:
1 online resource (683 pages)
Edition:
Third edition.
Place of Publication:
Birmingham, England : Packt Publishing Ltd., [2024]
Biography/History:
Boorshtein Marc: Marc Boorshtein has been a software engineer and consultant for 20 years and is currently the CTO (Chief Technology Officer) of Tremolo Security, Inc. Marc has spent most of his career building identity management solutions for large enterprises, U. S. Government civilian agencies, and local government public safety systems. Surovich Scott: Scott Surovich has been involved in the industry for over 25 years and is currently the Global Container Engineering Lead at a tier 1 bank as the Global on-premises Kubernetes product owner architecting and, delivering cluster standards, including the surrounding ecosystem. His previous roles include working on other global engineering teams, including Windows, Linux, and virtualization.
Summary:
Stay at the forefront of cloud-native technologies with the eagerly awaited Kubernetes – An Enterprise Guide, Third Edition. Delve deep into Kubernetes and emerge with the latest insights to conquer today's dynamic enterprise challenges. This meticulously crafted edition equips you with the latest insights to skillfully navigate the twists and turns of ever-evolving cloud technology. Experience a more profound exploration of advanced Kubernetes deployments, revolutionary techniques, and expert strategies that redefine your cloud-native skill set. Discover cutting-edge topics reshaping the technological frontier like virtual clusters, container security, and secrets management. Gain an edge by mastering these critical aspects of Kubernetes and propelling your enterprise to new heights. Expertly harness Kubernetes' power for business-critical applications with insider techniques. Smoothly transition to microservices with Istio, excel at modern deployments with GitOps/CI/CD, and bolster security with OPA/Gatekeeper and KubeArmor. Integrate Kubernetes with leading tools for maximum impact in a competitive landscape. Stay ahead of the technology curve with cutting-edge strategies for innovation and growth. Redefine cloud-native excellence with this definitive guide to leveraging Kubernetes.
Contents:
Cover
Copyright
Foreword
Contributors
Table of Contents
Preface
Chapter 1: Docker and Container Essentials
Technical requirements
Understanding the need for containerization
Understanding why Kubernetes removed Docker
Introducing Docker
Docker versus Moby
Understanding Docker
Containers are ephemeral
Docker images
Image layers
Persistent data
Accessing services running in containers
Installing Docker
Preparing to install Docker
Installing Docker on Ubuntu
Granting Docker permissions
Using the Docker CLI
docker help
docker run
docker ps
docker start and stop
docker attach
docker exec
docker logs
docker rm
docker pull/run
docker build
Summary
Questions
Chapter 2: Deploying Kubernetes Using KinD
Introducing Kubernetes components and objects
Interacting with a cluster
Using development clusters
Why did we select KinD for this book?
Working with a basic KinD Kubernetes cluster
Understanding the node image
KinD and Docker networking
Keeping track of the nesting dolls
Installing KinD
Installing KinD - prerequisites
Installing kubectl
Installing the KinD binary
Creating a KinD cluster
Creating a simple cluster
Deleting a cluster
Creating a cluster config file
Multi-node cluster configuration
Customizing the control plane and Kubelet options
Creating a custom KinD cluster
Reviewing your KinD cluster
KinD storage objects
Storage drivers
KinD storage classes
Using KinD's Storage Provisioner
Adding a custom load balancer for Ingress
Creating the KinD cluster configuration
The HAProxy configuration file
Understanding HAProxy traffic flow
Simulating a kubelet failure
Chapter 3: Kubernetes Bootcamp.
Technical requirements
An overview of Kubernetes components
Exploring the control plane
The Kubernetes API server
The etcd database
kube-scheduler
kube-controller-manager
cloud-controller-manager
Understanding the worker node components
kubelet
kube-proxy
Container runtime
Interacting with the API server
Using the Kubernetes kubectl utility
Understanding the verbose option
General kubectl commands
Introducing Kubernetes resources
Kubernetes manifests
What are Kubernetes resources?
Reviewing Kubernetes resources
Apiservices
CertificateSigningRequests
ClusterRoles
ClusterRoleBindings
ComponentStatus
ConfigMaps
ControllerRevisions
CronJobs
CSI drivers
CSI nodes
CSIStorageCapacities
CustomResourceDefinitions
DaemonSets
Deployments
Endpoints
EndPointSlices
Events
FlowSchemas
HorizontalPodAutoscalers
IngressClasses
Ingress
Jobs
LimitRanges
LocalSubjectAccessReview
MutatingWebhookConfiguration
Namespaces
NetworkPolicies
Nodes
PersistentVolumeClaims
PersistentVolumes
PodDisruptionBudgets
Pods
PodTemplates
PriorityClasses
PriorityLevelConfigurations
ReplicaSets
Replication controllers
ResourceQuotas
RoleBindings
Roles
RuntimeClasses
Secrets
SelfSubjectAccessReviews
SelfSubjectRulesReviews
Service accounts
Services
StatefulSets
Storage classes
SubjectAccessReviews
TokenReviews
ValidatingWebhookConfigurations
VolumeAttachments
Chapter 4: Services, Load Balancing, and Network Policies
Exposing workloads to requests
Understanding how Services work
Creating a Service
Using DNS to resolve services
Understanding different service types
The ClusterIP service
The NodePort service.
The LoadBalancer service
The ExternalName service
Introduction to load balancers
Understanding the OSI model
Layer 7 load balancers
Name resolution and layer 7 load balancers
Using nip.io for name resolution
Creating Ingress rules
Resolving Names in Ingress Controllers
Using Ingress Controllers for non-HTTP traffic
Layer 4 load balancers
Layer 4 load balancer options
Using MetalLB as a layer 4 load balancer
Installing MetalLB
Understanding MetalLB's custom resources
MetalLB components
Creating a LoadBalancer service
Advanced pool configurations
Disabling automatic address assignments
Assigning a static IP address to a service
Using multiple address pools
IP pool scoping
Handling buggy networks
Using multiple protocols
Introducing Network Policies
Network policy object overview
The podSelector
The policyTypes
Creating a Network Policy
Tools to create network policies
Chapter 5: External DNS and Global Load Balancing
Making service names available externally
Setting up ExternalDNS
Integrating ExternalDNS and CoreDNS
Adding an ETCD zone to CoreDNS
ExternalDNS configuration options
Creating a LoadBalancer service with ExternalDNS integration
Integrating CoreDNS with an enterprise DNS server
Exposing CoreDNS to external requests
Configuring the primary DNS server
Testing DNS forwarding to CoreDNS
Load balancing between multiple clusters
Introducing the Kubernetes Global Balancer
Requirements for K8GB
Deploying K8GB to a cluster
Understanding K8GB load balancing options
Customizing the Helm chart values
Using Helm to install K8GB
Delegating our load balancing zone
Deploying a highly available application using K8GB.
Adding an application to K8GB using custom resources
Adding an application to K8GB using Ingress annotations
Understanding how K8GB provides global load balancing
Keeping the K8GB CoreDNS servers in sync
Chapter 6: Integrating Authentication into Your Cluster
Getting Help
Understanding how Kubernetes knows who you are
External users
Groups in Kubernetes
Understanding OpenID Connect
The OpenID Connect protocol
Following OIDC and the API's interaction
id_token
Other authentication options
Certificates
TokenRequest API
Custom authentication webhooks
Configuring KinD for OpenID Connect
Addressing the requirements
Using LDAP and Active Directory with Kubernetes
Mapping Active Directory groups to RBAC RoleBindings
Kubernetes Dashboard access
Kubernetes CLI access
Enterprise compliance requirements
Pulling it all together
Deploying OpenUnison
Configuring the Kubernetes API to use OIDC
Verifying OIDC integration
Using your tokens with kubectl
Introducing impersonation to integrate authentication with cloud-managed clusters
What is Impersonation?
Security considerations
Configuring your cluster for impersonation
Testing Impersonation
Using Impersonation for Debugging
Configuring Impersonation without OpenUnison
Impersonation RBAC policies
Default groups
Inbound Impersonation
Privileged Access to Clusters
Using a Privileged User Account
Impersonating a Privileged User
Temporarily Authorizing Privilege
Authenticating from pipelines
Using tokens
Using certificates
Using a pipeline's identity
Avoiding anti-patterns
Answers
Chapter 7: RBAC Policies and Auditing
Technical requirements.
Introduction to RBAC
What's a Role?
Identifying a Role
Roles versus ClusterRoles
Negative Roles
Aggregated ClusterRoles
RoleBindings and ClusterRoleBindings
Combining ClusterRoles and RoleBindings
Mapping enterprise identities to Kubernetes to authorize access to resources
Implementing namespace multi-tenancy
Kubernetes auditing
Creating an audit policy
Enabling auditing on a cluster
Using audit2rbac to debug policies
Chapter 8: Managing Secrets
Technical Requirements
Examining the difference between Secrets and Configuration Data
Managing Secrets in an Enterprise
Threats to Secrets at Rest
Threats to Secrets in Transit
Protecting Secrets in Your Applications
Understanding Secrets Managers
Storing Secrets as Secret Objects
Sealed Secrets
External Secrets Managers
Using a Hybrid of External Secrets Management and Secret Objects
Integrating Secrets into Your Deployments
Volume Mounts
Using Kubernetes Secrets
Using Vault's Sidecar Injector
Environment Variables
Using the Vault Sidecar
Using the Kubernetes Secrets API
Using the Vault API
Chapter 9: Building Multitenant Clusters with vClusters
The Benefits and Challenges of Multitenancy
Exploring the Benefits of Multitenancy
The Challenges of Multitenant Kubernetes
Using vClusters for Tenants
Deploying vClusters
Securely Accessing vClusters
Accessing External Services from a vCluster
Creating and Operating High-Availability vClusters
Understanding vCluster High Availability
Upgrading vClusters
Building a Multitenant Cluster with Self Service
Analyzing Requirements
Designing the Multitenant Platform.
Deploying Our Multitenant Platform.
Notes:
Description based on publisher supplied metadata and other sources.
Description based on print version record.
ISBN:
9781835081754
1835081754
OCLC:
1455284353

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account