TY - BOOK AU - Baier,Jonathan AU - Sayfan,Gigi AU - White,Jesse TI - The the Complete Kubernetes Guide: Become an Expert in Container Management with the Power of Kubernetes SN - 9781838647704 AV - QA76.76.A65 .B354 2019 U1 - 005.3 PY - 2019/// CY - Birmingham PB - Packt Publishing, Limited KW - Application software-Development KW - Virtual computer systems KW - Application program interfaces (Computer software) KW - Electronic books N1 - Cover -- Title Page -- Copyright and Credits -- About Packt -- Contributors -- Table of Contents -- Preface -- Chapter 1: Introduction to Kubernetes -- Technical requirements -- A brief overview of containers -- What is a container? -- cgroups -- Namespaces -- Union filesystems -- Why are containers so cool? -- The advantages of Continuous Integration/Continuous Deployment -- Resource utilization -- Microservices and orchestration -- Future challenges -- Our first clusters -- Running Kubernetes on GCE -- Kubernetes UI -- Grafana -- Command line -- Services running on the master -- Services running on the minions -- Tearing down a cluster -- Working with other providers -- CLI setup -- IAM setup -- Cluster state storage -- Creating your cluster -- Other modes -- Resetting the cluster -- Investigating other deployment automation -- Local alternatives -- Starting from scratch -- Cluster setup -- Installing Kubernetes components (kubelet and kubeadm) -- Setting up a master -- Joining nodes -- Networking -- Joining the cluster -- Summary -- Chapter 2: Understanding Kubernetes Architecture -- What is Kubernetes? -- What Kubernetes is not -- Understanding container orchestration -- Physical machines, virtual machines, and containers -- The benefits of containers -- Containers in the cloud -- Cattle versus pets -- Kubernetes concepts -- Cluster -- Node -- Master -- Pod -- Label -- Annotations -- Label selectors -- Replication controllers and replica sets -- Services -- Volume -- StatefulSet -- Secrets -- Names -- Namespaces -- Diving into Kubernetes architecture in-depth -- Distributed systems design patterns -- Sidecar pattern -- Ambassador pattern -- Adapter pattern -- Multinode patterns -- The Kubernetes APIs -- Resource categories -- Workloads API -- Discovery and load balancing -- Config and storage -- Metadata -- Cluster -- Kubernetes components; Master components -- API server -- Etcd -- Kube controller manager -- Cloud controller manager -- Kube-scheduler -- DNS -- Node components -- Proxy -- Kubelet -- Kubernetes runtimes -- The Container Runtime Interface (CRI) -- Docker -- Rkt -- App container -- Cri-O -- Rktnetes -- Is rkt ready for use in production? -- Hyper containers -- Stackube -- Continuous integration and deployment -- What is a CI/CD pipeline? -- Designing a CI/CD pipeline for Kubernetes -- Summary -- Chapter 3: Building a Foundation with Core Kubernetes Constructs -- Technical requirements -- The Kubernetes system -- Nucleus -- Application layer -- Governance layer -- Interface layer -- Ecosystem -- The architecture -- The Master -- Cluster state -- Cluster nodes -- Master -- Nodes (formerly minions) -- Core constructs -- Pods -- Pod example -- Labels -- The container's afterlife -- Services -- Replication controllers and replica sets -- Our first Kubernetes application -- More on labels -- Replica sets -- Health checks -- TCP checks -- Life cycle hooks or graceful shutdown -- Application scheduling -- Scheduling example -- Summary -- Chapter 4: Working with Networking, Load Balancers, and Ingress -- Technical requirements -- Container networking -- The Docker approach -- Docker default networks -- Docker user-defined networks -- The Kubernetes approach -- Networking options -- Networking comparisons -- Weave -- Flannel -- Project Calico -- Canal -- Kube-router -- Balanced design -- Advanced services -- External services -- Internal services -- Custom load balancing -- Cross-node proxy -- Custom ports -- Multiple ports -- Ingress -- Types of ingress -- Migrations, multicluster, and more -- Custom addressing -- Service discovery -- DNS -- Multitenancy -- Limits -- A note on resource usage -- Summary -- Chapter 5: Using Critical Kubernetes Resources -- Designing the Hue platform; Defining the scope of Hue -- Hue components -- Hue microservices -- Planning workflows -- Automatic workflows -- Human workflows -- Budget-aware workflows -- Using Kubernetes to build the Hue platform -- Using Kubectl effectively -- Understanding Kubectl resource configuration files -- Deploying long-running microservices in pods -- Creating pods -- Decorating pods with labels -- Deploying long-running processes with deployments -- Updating a deployment -- Separating internal and external services -- Deploying an internal service -- Creating the hue-reminders service -- Exposing a service externally -- Ingress -- Using namespace to limit access -- Launching jobs -- Running jobs in parallel -- Cleaning up completed jobs -- Scheduling cron jobs -- Mixing non-cluster components -- Outside-the-cluster-network components -- Inside-the-cluster-network components -- Managing the Hue platform with Kubernetes -- Using liveness probes to ensure your containers are alive -- Using readiness probes to manage dependencies -- Employing Init Containers for orderly pod bring-up -- Sharing with DaemonSet pods -- Evolving the Hue platform with Kubernetes -- Utilizing Hue in enterprises -- Advancing science with Hue -- Educating the kids of the future with Hue -- Summary -- Chapter 6: Exploring Kubernetes Storage Concepts -- Technical requirements -- Persistent storage -- Temporary disks -- Cloud volumes -- GCE Persistent Disks -- AWS Elastic Block Store -- Other storage options -- PersistentVolumes and Storage Classes -- Dynamic volume provisioning -- StatefulSets -- A stateful example -- Summary -- Chapter 7: Monitoring and Logging -- Technical requirements -- Monitoring operations -- Built-in monitoring -- Exploring Heapster -- Customizing our dashboards -- FluentD and Google Cloud Logging -- FluentD -- Maturing our monitoring operations -- GCE (Stackdriver); Signing up for GCE monitoring -- Alerts -- Beyond system monitoring with Sysdig -- Sysdig Cloud -- Detailed views -- Topology views -- Metrics -- Alerting -- The Sysdig command line -- The Csysdig command-line UI -- Prometheus -- Prometheus summary -- Prometheus installation choices -- Tips for creating an Operator -- Installing Prometheus -- Summary -- Chapter 8: Monitoring, Logging, and Troubleshooting -- Monitoring Kubernetes with Heapster -- cAdvisor -- Installing Heapster -- InfluxDB backend -- The storage schema -- CPU -- Filesystem -- Memory -- Network -- Uptime -- Grafana visualization -- Performance analysis with the dashboard -- Top-level view -- Cluster -- Workloads -- Discovery and load balancing -- Adding central logging -- Planning central logging -- Fluentd -- Elasticsearch -- Kibana -- Detecting node problems -- Node problem detector -- DaemonSet -- Problem daemons -- Troubleshooting scenarios -- Designing robust systems -- Hardware failure -- Quotas, shares, and limits -- Bad configuration -- Cost versus performance -- Managing cost on the cloud -- Managing cost on bare metal -- Managing cost on hybrid clusters -- Using Prometheus -- What are operators? -- The Prometheus Operator -- Installing Prometheus with kube-prometheus -- Monitoring your cluster with Prometheus -- Summary -- Chapter 9: Operating Systems, Platforms, and Cloud and Local Providers -- Technical requirements -- The importance of standards -- The OCI Charter -- The OCI -- Container Runtime Interface -- Trying out CRI-O -- More on container runtimes -- CNCF -- Standard container specification -- CoreOS -- rkt -- etcd -- Kubernetes with CoreOS -- Tectonic -- Dashboard highlights -- Hosted platforms -- Amazon Web Services -- Microsoft Azure -- Google Kubernetes Engine -- Summary -- Chapter 10: Creating Kubernetes Clusters -- A quick single-node cluster with Minikube; Getting ready -- On Windows -- On macOS -- Creating the cluster -- Troubleshooting -- Checking out the cluster -- Doing work -- Examining the cluster with the dashboard -- Creating a multinode cluster using kubeadm -- Setting expectations -- Getting ready -- Preparing a cluster of vagrant VMs -- Installing the required software -- The host file -- The vars.yml file -- The playbook.yml file -- Creating the cluster -- Initializing the master -- Setting up the pod network -- Adding the worker nodes -- Creating clusters in the cloud (GCP, AWS, and Azure) -- The cloud-provider interface -- Google Cloud Platform (GCP) -- Amazon Web Services (AWS) -- Amazon Elastic Container Service for Kubernetes (EKS) -- Fargate -- Azure -- Alibaba Cloud -- Creating a bare-metal cluster from scratch -- Use cases for bare metal -- When should you consider creating a bare-metal cluster? -- The process -- Using virtual private cloud infrastructure -- Bootkube -- Summary -- Chapter 11: Cluster Federation and Multi-Tenancy -- Technical requirements -- Introduction to federation -- Why federation? -- The building blocks of federation -- Key components -- Federated services -- Setting up federation -- Contexts -- New clusters for federation -- Initializing the federation control plane -- Adding clusters to the federation system -- Federated resources -- Federated configurations -- Federated horizontal pod autoscalers -- How to use federated HPAs -- Other federated resources -- Events -- Jobs -- True multi-cloud -- Getting to multi-cloud -- Deleting the cluster -- Summary -- Chapter 12: Cluster Authentication, Authorization, and Container Security -- Basics of container security -- Keeping containers contained -- Resource exhaustion and orchestration security -- Image repositories -- Continuous vulnerability scanning -- Image signing and verification; Kubernetes cluster security N2 - This Learning Path walks you through the basic and advanced features of Kubernetesand teaches you all that you need to know for easily and efficiently manage your containerized applications UR - https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=5778834 ER -