0%

Book Description

Develop a solid understanding of cloud computing, Linux virtual machine, container virtualization, and other fundamental concepts to create and manage your Linux workload in Azure

Key Features

  • Deploy and manage virtual machines in the Azure environment
  • Explore open source tools to integrate automation and orchestration
  • Implement Linux features to create and manage containers

Book Description

Thanks to its flexibility in delivering scalable cloud solutions, Microsoft Azure is a suitable platform for managing all your workloads. You can use it to implement Linux virtual machines and containers, and to create applications in open source languages with open APIs.

This Linux administration book first takes you through the fundamentals of Linux and Azure to prepare you for the more advanced Linux features in later chapters. With the help of real-world examples, you'll learn how to deploy virtual machines (VMs) in Azure, expand their capabilities, and manage them efficiently. You will manage containers and use them to run applications reliably, and in the concluding chapter, you'll explore troubleshooting techniques using a variety of open source tools.

By the end of this book, you'll be proficient in administering Linux on Azure and leveraging the tools required for deployment.

What you will learn

  • Grasp the fundamentals of virtualization and cloud computing
  • Understand file hierarchy and mount new filesystems
  • Maintain the life cycle of your application in Azure Kubernetes Service
  • Manage resources with the Azure CLI and PowerShell
  • Manage users, groups, and filesystem permissions
  • Use Azure Resource Manager to redeploy virtual machines
  • Implement configuration management to configure a VM correctly
  • Build a container using Docker

Who this book is for

If you are a Linux administrator or a Microsoft professional looking to deploy and manage your workload in Azure, this book is for you. Although not necessary, knowledge of Linux and Azure will assist with understanding core concepts.

Table of Contents

  1. Preface
    1. About Hands-On Linux Administration on Azure, Second Edition
      1. About the Authors
      2. Learning Objectives
      3. Audience
      4. Approach
      5. Hardware Requirements
      6. Software Requirements
      7. Conventions
      8. Download Resources
  2. Chapter 1: Exploring the Microsoft Azure Cloud
    1. Fundamentals of Cloud Computing
      1. Virtualization
      2. SDDC
      3. SOA
      4. Cloud Services
      5. Cloud Types
    2. Understanding the Microsoft Azure Cloud
      1. A Brief History of the Microsoft Azure Cloud
      2. Azure Architecture
      3. Azure in Your Organization
      4. Azure and Open Source
    3. Summary
    4. Questions
    5. Further Reading
  3. Chapter 2: Getting Started with the Azure Cloud
    1. Technical Requirements
    2. Getting Access to Azure
      1. Logging in Using the Azure portal
      2. Getting Command-line Access to Azure
      3. Installing the Azure CLI
      4. Logging in with the Azure CLI
      5. PowerShell
      6. Logging in with PowerShell
      7. Azure Resource Manager
    3. Linux and Azure
      1. Linux distributions
      2. Microsoft-endorsed Linux Distributions
    4. Deploying a Linux Virtual Machine
      1. Your First Virtual Machine
      2. Images
      3. Virtual Machine Sizing
      4. Virtual Machine Networking
      5. Virtual Machine Information
    5. Connecting to Linux
      1. Logging into Your Linux virtual machine Using Password Authentication
      2. Logging into your Linux Virtual Machine with an SSH private key
    6. Summary
    7. Questions
    8. Further Reading
  4. Chapter 3: Basic Linux Administration
    1. The Linux Shell
      1. Executing Commands
      2. Command-line Editing
      3. Working with history
      4. Autocompletion
      5. Globbing
      6. Redirections
      7. Working with Variables
      8. Bash Configuration Files
    2. Getting Help
      1. Using the man pages
      2. Using info Documents
      3. Other Documentation
    3. Working with Text Files
      1. Reading Text
      2. Searching in Text Files
      3. Editing Text Files
    4. Finding Your Way in the Filesystem
      1. The Filesystem Hierarchy Standard
      2. Mounting Filesystems
      3. Finding Files on the Filesystem
    5. Process Management
      1. View Processes
      2. Sending Signals to a Process
    6. Discretionary Access Control
      1. User Management
      2. Group Management
      3. Login Management
    7. Summary
    8. Questions
    9. Further Reading
  5. Chapter 4: Managing Azure
    1. Managing Azure Resources Using the Azure CLI and PowerShell
    2. Technical Requirements
    3. Managing Storage Resources
      1. Storage Accounts
      2. Managed Disks
      3. Azure Files
      4. Azure Blob
    4. Managing Network Resources
      1. Virtual Network
      2. Subnets
      3. Network Security Group
      4. Public IP Address and Network Interface
    5. Managing Compute Resources
    6. Virtual Machine Resources
      1. Azure Profile
      2. Resource Group
      3. Storage Account
      4. Virtual Networks
      5. Network Security Group
      6. Public IP Address and Network Interface
    7. Summary
    8. Questions
    9. Further Reading
  6. Chapter 5: Advanced Linux Administration
    1. Technical Requirements
    2. Software Management
      1. The RPM Software Manager
      2. Software Management with YUM
      3. Software Management with DNF
      4. The DPKG Software Manager
      5. Software Management with apt
      6. Software Management with ZYpp
    3. Networking
      1. Identifying the Network Interfaces
      2. Identifying the IP Address
      3. Showing the Route Table
      4. Network Configuration
      5. Changes in the Network Configuration
      6. Hostname
      7. DNS
    4. Storage
      1. Storage Provided by Block Devices
      2. Adding a Data Disk
      3. Partitioning
      4. Filesystems in Linux
      5. The ext4 Filesystem
      6. The XFS Filesystem
      7. The ZFS Filesystem
      8. Linux Software RAID
      9. Stratis
    5. systemd
      1. Working with Units
      2. Services
      3. Targets
      4. Scheduled Tasks
      5. Mounting Local Filesystem
      6. Mounting Remote Filesystem
    6. Summary
    7. Questions
    8. Further Reading
  7. Chapter 6: Managing Linux Security and Identities
    1. Linux Security Tips
    2. Technical Requirements
    3. DAC
      1. Introduction to DAC
      2. File Permissions in Linux
      3. Symbolic Method
      4. Absolute (Numeric) Node
    4. MAC
      1. LSM
      2. SELinux
      3. SELinux Configuration
      4. SELinux Context on Files
      5. SELinux Boolean
      6. AppArmor
      7. AppArmor Status
      8. Generating AppArmor Profiles
    5. firewalld and systemd
      1. firewalld Zones
      2. firewalld Services
      3. firewalld Network Sources
      4. systemd Security
      5. Restricting Access to the Filesystem
      6. Restricting Network Access
    6. Identity and Access Management in Azure – IAM
      1. Azure AD Domain Services
      2. Setting up Azure AD Domain Services
      3. Linux Configuration
      4. Hostname
      5. DNS Servers
      6. Installing Dependencies
      7. Joining the Domain – Ubuntu and RHEL/CentOS
      8. Joining the Domain – SUSE
      9. Logging in with Azure AD Credentials to the Linux VM
      10. Other Security Solutions in Azure
    7. Summary
    8. Questions
    9. Further Reading
  8. Chapter 7: Deploying Your Virtual Machines
    1. Deployment Scenarios
      1. What Do You Need?
    2. Automated Deployment Options in Azure
      1. Scripting
      2. Automated Deployment with Azure Resource Manager
      3. Deploying ARM Templates Using PowerShell
      4. Deploying ARM Templates Using Bash
    3. Initial Configuration
      1. Initial Configuration with the Custom Script Extension
      2. Initial Configuration with cloud-init
    4. Vagrant
      1. Installing and Configuring Vagrant
      2. Deploying a VM with Vagrant
      3. Vagrant Provisioners
    5. Packer
      1. Installing and Configuring Packer
    6. Custom Virtual Machines and VHDs
      1. Creating a Managed Image
      2. An Alternative Method Using Snapshots
      3. Custom VHDs
    7. Summary
    8. Questions
    9. Further Reading
  9. Chapter 8: Exploring Continuous Configuration Automation
    1. Technical Requirements
    2. Understanding Configuration Management
    3. Using Ansible
      1. Installation of Ansible
      2. SSH Configuration
      3. Bare-Minimum Configuration
      4. Inventory File
      5. Ansible Playbooks and Modules
      6. Authenticating to Microsoft Azure
      7. Resource Group
      8. Virtual Machine
      9. Azure Inventory Management in Ansible
    4. Using Terraform
      1. Installation
      2. Authenticating to Azure
      3. Deployment to Azure
      4. Deploying a Virtual Machine
    5. Using PowerShell DSC
      1. Azure Automation DSC
      2. Installing PowerShell DSC on Linux
      3. Creating a Desired State
      4. PowerShell DSC Resources
    6. Azure Policy Guest Configuration
      1. Guest Configuration Extension for Linux
      2. Commands
    7. Other Solutions
    8. Summary
    9. Questions
    10. Further Reading
  10. Chapter 9: Container Virtualization in Azure
    1. Introduction to Container Technology
      1. History of Containers
      2. The chroot Environment
      3. OpenVZ
      4. LXC
    2. systemd-nspawn
      1. Creating a Container with debootstrap
      2. Creating a Container with yum
      3. systemd-firstboot
      4. Deploying the First Container
      5. Enabling a Container at Boot Time
    3. Docker
      1. Docker Installation
      2. Building Docker Images
      3. Docker Machine
      4. Docker Compose
      5. Docker Registry
    4. Azure Container Instances
    5. Azure Container Registry
      1. Using the Azure Portal
      2. Using the Azure CLI
    6. Buildah, Podman, and Skopeo
      1. History
      2. Installation
      3. Buildah
      4. Podman
      5. Skopeo
    7. Containers and Storage
    8. Summary
    9. Questions
    10. Further Reading
  11. Chapter 10: Working with Azure Kubernetes Service
    1. Technical Requirements
      1. Using WSL and VS Code
      2. Installing Dependencies
      3. kubectl Installation
    2. Starting to Use AKS
      1. Creating a Cluster with the Azure CLI
      2. First Deployment in AKS
      3. Creating Services
      4. Multi-Container Pods
    3. Working with Helm
      1. Installing Helm
      2. Helm Repository Management
      3. Installing Applications with Helm
      4. Creating Helm Charts
    4. Working with Draft
      1. Installing Draft
      2. Using Draft
    5. Managing Kubernetes
      1. Updating Applications
      2. Scaling Applications
      3. Upgrading Kubernetes
    6. Persistent Storage
      1. Azure Disk for Kubernetes
      2. Azure Files for Kubernetes
    7. Summary
    8. Questions
    9. Further Reading
  12. Chapter 11: Troubleshooting and Monitoring Your Workloads
    1. Technical Requirements
    2. Accessing Your System
      1. No Remote Access
      2. Working on the Port
      3. Using nftables
      4. Boot Diagnostics
      5. Logging in Linux
    3. Azure Log Analytics
      1. Configuring the Log Analytics Service
      2. Installing the Azure Log Analytics Agent
      3. Getting the Data
      4. Log Analytics and Kubernetes
      5. Log Analytics for Your Network
    4. Performance Monitoring
      1. Displaying Linux processes with top
      2. Top Alternatives
      3. Sysstat – a Collection of Performance-Monitoring Tools
      4. dstat
      5. Network stats with iproute2
      6. Network Monitoring with IPTraf-NG
      7. tcpdump
    5. Summary
    6. Questions
    7. Further Reading
  13. Chapter 12: Appendix
    1. Chapter 1: Exploring the Microsoft Azure Cloud
    2. Chapter 2: Getting Started with the Azure Cloud
    3. Chapter 3: Basic Linux Administration
    4. Chapter 4: Managing Azure
    5. Chapter 5: Advanced Linux Administration
    6. Chapter 6: Managing Linux Security and Identities
    7. Chapter 7: Deploying Your Virtual Machines
    8. Chapter 8: Exploring Continuous Configuration Automation
    9. Chapter 9: Container Virtualization in Azure
    10. Chapter 10: Working with Azure Kubernetes Service
    11. Chapter 11: Troubleshooting and Monitoring Your Workloads
  14. Index
3.147.67.166