舉報

會員
DevOps with Kubernetes
Kuberneteshasbeenwidelyadoptedacrosspubliccloudsandon-premisedatacenters.Aswe'relivinginaneraofmicroservices,knowinghowtouseandmanageKubernetesisanessentialskillforeveryoneintheITindustry.ThisbookisaguidetoeverythingyouneedtoknowaboutKubernetes—fromsimplydeployingacontainertoadministratingKubernetesclusterswisely.You'lllearnaboutDevOpsfundamentals,aswellasdeployingamonolithicapplicationasmicroservicesandusingKubernetestoorchestratethem.YouwillthengainaninsightintotheKubernetesnetwork,extensions,authenticationandauthorization.WiththeDevOpsspiritinmind,you'lllearnhowtoallocateresourcestoyourapplicationandpreparetoscalethemefficiently.Knowingthestatusandactivityoftheapplicationandclustersiscrucial,sowe’lllearnaboutmonitoringandlogginginKubernetes.Havinganimprovedabilitytoobserveyourservicesmeansthatyouwillbeabletobuildacontinuousdeliverypipelinewithconfidence.Attheendofthebook,you'lllearnhowtorunmanagedKubernetesservicesonthreetopcloudproviders:GoogleCloudPlatform,AmazonWebServices,andMicrosoftAzure.
最新章節
- Leave a review - let other readers know what you think
- Other Books You May Enjoy
- Summary
- Ingress controller
- L4 LoadBalancer
- StorageClass
品牌:中圖公司
上架時間:2021-07-02 12:29:45
出版社:Packt Publishing
本書數字版權由中圖公司提供,并由其授權上海閱文信息技術有限公司制作發行
- Leave a review - let other readers know what you think 更新時間:2021-07-02 13:42:39
- Other Books You May Enjoy
- Summary
- Ingress controller
- L4 LoadBalancer
- StorageClass
- Role-based access control
- Kubernetes cloud provider
- Monitoring and logging
- Cluster upgrade
- Node pools
- Setting up your first Kubernetes cluster on AKS
- Azure Kubernetes service
- Azure disks
- Load balancers
- Storage account
- Azure virtual machines
- Subnets
- Application security groups
- Network security groups
- Azure virtual network
- Resource groups
- Introduction to Azure
- Kubernetes on Azure
- Summary
- L7 LoadBalancer (ingress)
- L4 LoadBalancer
- StorageClass
- Kubernetes cloud provider
- Cluster upgrade
- Multi-zone clusters
- Node pool
- Setting up your first Kubernetes cluster on GKE
- Google Kubernetes Engine (GKE)
- Persistent Disk
- Creating a LoadBalancer
- Backend service
- Health check
- Load balancing
- VM instances
- Firewall rules
- Subnets
- VPC
- GCP components
- Introduction to GCP
- Kubernetes on GCP
- Summary
- Upgrading worker nodes
- Upgrading the Kubernetes master
- Updating the Kubernetes version on EKS
- Internet-facing load balancer
- Internal load balancer
- Load balancer
- Storage class
- Cloud provider on EKS
- Adding worker nodes
- Launching the EKS control plane
- Deep dive into AWS EKS
- Amazon EKS
- ELB
- EC2 and EBS
- Security group
- Internet gateways and NAT-GW
- VPC and subnet
- AWS components
- API and infrastructure as code
- Public cloud
- Introduction to AWS
- Kubernetes on AWS
- Summary
- Tackling pod disruptions
- Container life cycle hooks
- SIGTERM doesn't invoke the termination handler
- SIGTERM isn't sent to the application process
- Handling SIGTERM
- Terminating a pod
- init containers
- Custom readiness gate
- Liveness and readiness probes
- Starting a pod
- Gaining a deeper understanding of pods
- deploy
- after_success
- script
- env
- The steps explained
- End-to-end walk-through of the delivery pipeline
- Choosing tools
- Building a delivery pipeline
- StatefulSet
- DaemonSet
- Updating DaemonSet and StatefulSet
- Managing rollouts
- Triggering updates
- Updating resources
- Continuous Delivery
- Summary
- Taints and tolerations
- Pod eviction
- Node administration
- Request pods with default compute resource limits
- Creating a ResourceQuota
- Resource quotas of namespaces
- Managing cluster resources
- Incorporating custom metrics
- Horizontal pod autoscaler
- Elastically scaling
- Prioritizing pods in scheduling
- Inter-pod affinity
- Node affinity
- Affinity and anti-affinity
- Node selector
- Placing pods with constraints
- Quality of Service (QoS) classes
- Resource types and allocations
- Optimizing resource utilization
- Scheduling workloads
- Resource Management and Scaling
- Summary
- Rules
- Handler adapters
- Mixer templates
- Configuring Istio for existing infrastructure
- The Istio adapter model
- Incorporating data from Istio
- Extracting metrics from logs
- Logging with Fluent Bit and Elasticsearch
- Ingesting Kubernetes state events
- Running a sidecar container to forward written logs
- Collecting logs with a logging agent per node
- Patterns of aggregating logs
- Logging events
- Visualizing metrics with Grafana
- Gathering data from Kubernetes
- Discovering targets in Kubernetes
- Working with PromQL
- Deploying Prometheus
- Getting to know Prometheus
- Hands-on monitoring
- Getting monitoring essentials for Kubernetes
- Monitoring Kubernetes
- Monitoring containers
- Monitoring external dependencies
- Monitoring infrastructure
- Monitoring applications
- Monitoring in Kubernetes
- The Kubernetes dashboard
- Inspecting a container
- Monitoring and Logging
- Summary
- Service mesh
- Network policy
- Ingress
- External-to-service communications
- Pod-to-service communications
- Pod communication across nodes
- Pod communication within the same node
- Pod-to-pod communications
- Container-to-container communications
- Docker networking
- Kubernetes networking
- Kubernetes Network
- Summary
- Custom resources definition
- Custom resources
- Admission webhook
- Dynamic admission control
- Other admission controller plugins
- DenyEscalatingExec
- AlwaysPullImages
- PodNodeSelector
- DefaultTolerationSeconds
- ResourceQuota
- DefaultStorageClass
- PersistentVolumeLabel
- ServiceAccount
- LimitRanger
- NamespaceLifecycle
- Admission control
- RoleBinding and ClusterRoleBinding
- Roles and ClusterRoles
- Role-based access control (RBAC)
- Authorization
- User account authentication
- Service account token authentication
- Authentication
- Authentication and authorization
- Service account
- Kubeconfig
- Switching the current context
- Creating a context
- Context
- Kubernetes namespaces
- Cluster Administration and Extension
- Summary
- Scheduling running a Job using CronJob
- Submitting a parallel Job
- Submitting a repeatable Job
- Submitting a single Job to Kubernetes
- Submitting Jobs to Kubernetes
- Replicating pods with a persistent volume using StatefulSet
- Problems with ephemeral and persistent volume settings
- Dynamic provisioning and StorageClass
- Abstracting the volume layer with a persistent volume claim
- Kubernetes' persistent volume and dynamic provisioning
- Stateless and stateful applications
- Sharing volume between containers within a pod
- Container volume life cycle
- Kubernetes volume management
- Managing Stateful Workloads
- Summary
- Multi-container orchestration
- Using ConfigMap via environment variables
- Using ConfigMap via volume
- ConfigMap
- Retrieving secrets via environment variables
- Retrieving secrets via files
- Secrets
- Volumes
- Service without selectors
- ExternalName (kube-dns version >= 1.7)
- LoadBalancer
- NodePort
- ClusterIP
- Services
- Deployments
- ReplicaSet
- Pods
- Annotation
- Label and selector
- Name
- Namespaces
- Kubernetes objects
- Kubernetes resources
- kubectl
- Preparing the environment
- Getting started with Kubernetes
- The interaction between the Kubernetes master and nodes
- Docker
- Proxy (kube-proxy)
- Kubelet
- Node components
- Scheduler (kube-scheduler)
- etcd
- Controller manager (kube-controller-manager)
- API server (kube-apiserver)
- Master components
- Kubernetes components
- Understanding Kubernetes
- Getting Started with Kubernetes
- Summary
- Composing containers
- An overview of Docker compose
- Piling up containers
- Multi-container orchestration
- Multi-stage builds
- Organizing a Dockerfile
- The syntax of a Dockerfile
- Writing your first Dockerfile
- Working with a Dockerfile
- Connecting containers
- Distributing images
- Layers images containers and volumes
- The basics of Docker
- The life cycle of a container
- Installing Docker for macOS
- Installing Docker for CentOS
- Installing Docker for Ubuntu
- Getting started with containers
- Containerized delivery
- Linux containers
- Resource isolation
- Understanding containers
- DevOps with Containers
- Summary
- The public cloud
- Communication tools
- Monitoring and logging tools
- Configuration management tools
- Continuous integration tools
- Automation and tools
- Microservices
- RESTful design
- Remote procedure call
- Monolithic applications
- The MVC design pattern
- Package management
- Modular programming
- The microservices trend
- Orchestration
- Infrastructure as code
- Configuration management
- Continuous delivery
- Continuous integration
- Software delivery on the cloud
- Agile and digital delivery
- Waterfall and static delivery
- Software delivery challenges
- Introduction to DevOps
- Reviews
- Get in touch
- Conventions used
- Download the color images
- Download the example code files
- To get the most out of this book
- What this book covers
- Who this book is for
- Preface
- Packt is searching for authors like you
- About the reviewer
- About the authors
- Contributors
- Packt.com
- Why subscribe?
- About Packt
- DevOps with Kubernetes Second Edition
- Copyright and Credits
- Title Page
- coverpage
- coverpage
- Title Page
- Copyright and Credits
- DevOps with Kubernetes Second Edition
- About Packt
- Why subscribe?
- Packt.com
- Contributors
- About the authors
- About the reviewer
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- Introduction to DevOps
- Software delivery challenges
- Waterfall and static delivery
- Agile and digital delivery
- Software delivery on the cloud
- Continuous integration
- Continuous delivery
- Configuration management
- Infrastructure as code
- Orchestration
- The microservices trend
- Modular programming
- Package management
- The MVC design pattern
- Monolithic applications
- Remote procedure call
- RESTful design
- Microservices
- Automation and tools
- Continuous integration tools
- Configuration management tools
- Monitoring and logging tools
- Communication tools
- The public cloud
- Summary
- DevOps with Containers
- Understanding containers
- Resource isolation
- Linux containers
- Containerized delivery
- Getting started with containers
- Installing Docker for Ubuntu
- Installing Docker for CentOS
- Installing Docker for macOS
- The life cycle of a container
- The basics of Docker
- Layers images containers and volumes
- Distributing images
- Connecting containers
- Working with a Dockerfile
- Writing your first Dockerfile
- The syntax of a Dockerfile
- Organizing a Dockerfile
- Multi-stage builds
- Multi-container orchestration
- Piling up containers
- An overview of Docker compose
- Composing containers
- Summary
- Getting Started with Kubernetes
- Understanding Kubernetes
- Kubernetes components
- Master components
- API server (kube-apiserver)
- Controller manager (kube-controller-manager)
- etcd
- Scheduler (kube-scheduler)
- Node components
- Kubelet
- Proxy (kube-proxy)
- Docker
- The interaction between the Kubernetes master and nodes
- Getting started with Kubernetes
- Preparing the environment
- kubectl
- Kubernetes resources
- Kubernetes objects
- Namespaces
- Name
- Label and selector
- Annotation
- Pods
- ReplicaSet
- Deployments
- Services
- ClusterIP
- NodePort
- LoadBalancer
- ExternalName (kube-dns version >= 1.7)
- Service without selectors
- Volumes
- Secrets
- Retrieving secrets via files
- Retrieving secrets via environment variables
- ConfigMap
- Using ConfigMap via volume
- Using ConfigMap via environment variables
- Multi-container orchestration
- Summary
- Managing Stateful Workloads
- Kubernetes volume management
- Container volume life cycle
- Sharing volume between containers within a pod
- Stateless and stateful applications
- Kubernetes' persistent volume and dynamic provisioning
- Abstracting the volume layer with a persistent volume claim
- Dynamic provisioning and StorageClass
- Problems with ephemeral and persistent volume settings
- Replicating pods with a persistent volume using StatefulSet
- Submitting Jobs to Kubernetes
- Submitting a single Job to Kubernetes
- Submitting a repeatable Job
- Submitting a parallel Job
- Scheduling running a Job using CronJob
- Summary
- Cluster Administration and Extension
- Kubernetes namespaces
- Context
- Creating a context
- Switching the current context
- Kubeconfig
- Service account
- Authentication and authorization
- Authentication
- Service account token authentication
- User account authentication
- Authorization
- Role-based access control (RBAC)
- Roles and ClusterRoles
- RoleBinding and ClusterRoleBinding
- Admission control
- NamespaceLifecycle
- LimitRanger
- ServiceAccount
- PersistentVolumeLabel
- DefaultStorageClass
- ResourceQuota
- DefaultTolerationSeconds
- PodNodeSelector
- AlwaysPullImages
- DenyEscalatingExec
- Other admission controller plugins
- Dynamic admission control
- Admission webhook
- Custom resources
- Custom resources definition
- Summary
- Kubernetes Network
- Kubernetes networking
- Docker networking
- Container-to-container communications
- Pod-to-pod communications
- Pod communication within the same node
- Pod communication across nodes
- Pod-to-service communications
- External-to-service communications
- Ingress
- Network policy
- Service mesh
- Summary
- Monitoring and Logging
- Inspecting a container
- The Kubernetes dashboard
- Monitoring in Kubernetes
- Monitoring applications
- Monitoring infrastructure
- Monitoring external dependencies
- Monitoring containers
- Monitoring Kubernetes
- Getting monitoring essentials for Kubernetes
- Hands-on monitoring
- Getting to know Prometheus
- Deploying Prometheus
- Working with PromQL
- Discovering targets in Kubernetes
- Gathering data from Kubernetes
- Visualizing metrics with Grafana
- Logging events
- Patterns of aggregating logs
- Collecting logs with a logging agent per node
- Running a sidecar container to forward written logs
- Ingesting Kubernetes state events
- Logging with Fluent Bit and Elasticsearch
- Extracting metrics from logs
- Incorporating data from Istio
- The Istio adapter model
- Configuring Istio for existing infrastructure
- Mixer templates
- Handler adapters
- Rules
- Summary
- Resource Management and Scaling
- Scheduling workloads
- Optimizing resource utilization
- Resource types and allocations
- Quality of Service (QoS) classes
- Placing pods with constraints
- Node selector
- Affinity and anti-affinity
- Node affinity
- Inter-pod affinity
- Prioritizing pods in scheduling
- Elastically scaling
- Horizontal pod autoscaler
- Incorporating custom metrics
- Managing cluster resources
- Resource quotas of namespaces
- Creating a ResourceQuota
- Request pods with default compute resource limits
- Node administration
- Pod eviction
- Taints and tolerations
- Summary
- Continuous Delivery
- Updating resources
- Triggering updates
- Managing rollouts
- Updating DaemonSet and StatefulSet
- DaemonSet
- StatefulSet
- Building a delivery pipeline
- Choosing tools
- End-to-end walk-through of the delivery pipeline
- The steps explained
- env
- script
- after_success
- deploy
- Gaining a deeper understanding of pods
- Starting a pod
- Liveness and readiness probes
- Custom readiness gate
- init containers
- Terminating a pod
- Handling SIGTERM
- SIGTERM isn't sent to the application process
- SIGTERM doesn't invoke the termination handler
- Container life cycle hooks
- Tackling pod disruptions
- Summary
- Kubernetes on AWS
- Introduction to AWS
- Public cloud
- API and infrastructure as code
- AWS components
- VPC and subnet
- Internet gateways and NAT-GW
- Security group
- EC2 and EBS
- ELB
- Amazon EKS
- Deep dive into AWS EKS
- Launching the EKS control plane
- Adding worker nodes
- Cloud provider on EKS
- Storage class
- Load balancer
- Internal load balancer
- Internet-facing load balancer
- Updating the Kubernetes version on EKS
- Upgrading the Kubernetes master
- Upgrading worker nodes
- Summary
- Kubernetes on GCP
- Introduction to GCP
- GCP components
- VPC
- Subnets
- Firewall rules
- VM instances
- Load balancing
- Health check
- Backend service
- Creating a LoadBalancer
- Persistent Disk
- Google Kubernetes Engine (GKE)
- Setting up your first Kubernetes cluster on GKE
- Node pool
- Multi-zone clusters
- Cluster upgrade
- Kubernetes cloud provider
- StorageClass
- L4 LoadBalancer
- L7 LoadBalancer (ingress)
- Summary
- Kubernetes on Azure
- Introduction to Azure
- Resource groups
- Azure virtual network
- Network security groups
- Application security groups
- Subnets
- Azure virtual machines
- Storage account
- Load balancers
- Azure disks
- Azure Kubernetes service
- Setting up your first Kubernetes cluster on AKS
- Node pools
- Cluster upgrade
- Monitoring and logging
- Kubernetes cloud provider
- Role-based access control
- StorageClass
- L4 LoadBalancer
- Ingress controller
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-07-02 13:42:39