Network Automation with Nautobot Adopt a Network Source of Truth and a Data-Driven Approach to Networking
Transform the way your network teams think about and deploy enterprise network automation through the power of Nautobot's open-source platform Key Features Learn how documenting your network in Nautobot can accelerate your network automation journey Apply NetDevOps to your network by leveraging...
Autor principal: | |
---|---|
Otros Autores: | , , , , , , , , |
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham :
Packt Publishing, Limited
2024.
|
Edición: | 1st ed |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009825900406719 |
Tabla de Contenidos:
- Cover
- Title Page
- Copyright and credits
- Foreword
- Contributors
- Table of Contents
- Preface
- Part 1: Introduction to Source of Truth and Nautobot
- Chapter 1: Introduction to Nautobot
- Introduction to network automation
- What is network automation?
- Network automation use cases
- Why automate your network?
- Persona-driven network automation
- Industry trends
- Understanding SoT
- Defining SoT
- Approaches to SoT
- SoT tools and products
- Nautobot overview
- Nautobot use cases
- Network SoT
- Network automation platform
- Nautobot ecosystem
- Summary
- Chapter 2: Nautobot Data Models
- Nautobot data models overview
- Data model summary
- Network device inventory data models
- Devices
- Device components
- Device types
- Manufacturer
- Roles and statuses
- Platform
- Virtual chassis
- Device redundancy groups
- Interface redundancy groups
- Racks
- Locations
- Location type
- Tenants
- IPAM data models
- Namespaces
- Prefixes
- IP addresses
- RIRs
- VRFs
- Route targets
- VLANs and VLAN groups
- Circuits data models
- Circuits
- Circuit terminations
- Circuit types
- Circuit providers
- Provider networks
- Data model extensibility
- Custom fields
- Computed fields
- Relationships
- Config contexts
- Custom data models
- Summary
- Part 2: Getting Started with Nautobot
- Chapter 3: Installing and Deploying Nautobot
- Nautobot architecture overview
- Installing Nautobot
- Getting Nautobot up and ready on Ubuntu
- Installing dependencies
- Installing the Nautobot application
- Launching Nautobot
- Nautobot worker
- Nautobot web service
- Running Nautobot as Linux services
- Loading data into Nautobot
- Using the graphical user interface
- Summary
- Chapter 4: Understanding the User Interface and Bootstrapping Nautobot
- Understanding the navigation and UI.
- Navigation menu
- Nautobot home page and panels
- Footer navigation
- Table views
- Detailed views
- Managing inventory and bootstrapping your first installation
- Identifying your data
- Organizational data
- Device data
- Summary
- Chapter 5: Configuring Nautobot Core Data Models
- IP address management in Nautobot
- IP addresses
- Prefixes
- Namespaces
- VRFs
- VLANs
- RIRs
- Configuring IP address management in Nautobot
- IPAM configuration for Wayne Enterprises
- Modeling HA and virtual devices
- Device Redundancy Groups
- Virtual chassis
- Key differences between device redundancy and virtual chassis
- Setting up a firewall redundancy group for Wayne Enterprises in Nautobot
- Interface Redundancy Groups
- Cabling and power management
- Cables
- Incorporating power management with cabling
- Power panels
- Power feeds
- Understanding the blast radius through comprehensive data
- Secrets management
- Why use secrets?
- Core concepts
- Secrets versus Secrets Groups in Nautobot
- Security considerations
- Accessing secrets in code
- Nautobot Secrets Providers app (plugin) overview
- Using Notes, Tags, Changelog, and Filter forms
- Notes
- Tags
- Change log
- Filter forms
- Best practices for inventory management
- Summary
- Chapter 6: Using Nautobot's Extensibility Features
- Statuses
- Managing statuses
- Applying a status
- Use cases for statuses
- Best practices for statuses
- Tags
- Managing tags
- Applying a tag
- Use cases for tags
- Best practices for tags
- Custom fields
- Managing custom fields
- Diving into custom field attributes
- Validation rules
- Custom field choices
- Applying a custom field
- Use cases for custom fields
- Best practices for custom fields
- Computed fields
- Managing and applying computed fields
- Computed field template context.
- Use cases for computed fields
- Best practices for computed fields
- Custom links
- Managing and applying custom links
- Use cases for custom links
- Best practices for custom links
- Export templates
- Default export templates
- Use cases for export templates
- Managing and applying export templates
- Best practices for export templates
- Config contexts
- Exploring the config context hierarchy
- Managing and applying config contexts
- Use cases for config contexts
- Config context schemas
- Git as a data source
- Managing and applying Git data sources
- Use cases for data sources
- Best practices for data sources
- Relationships
- Use cases for relationships
- Managing and applying relationships
- Creating a relationship
- Dynamic groups
- Use cases for dynamic groups
- Managing and applying dynamic groups
- Best practices for dynamic groups
- Summary
- Chapter 7: Managing and Administering Nautobot
- Administration with the Admin UI
- User, group, and permissions management
- Groups
- Users
- Permissions enforcement
- Exploring Nautobot's settings
- Understanding setting precedence
- Setting banner and support messages
- Adding your company's logos and branding
- Customizing pagination
- Preferred primary IP version
- Handling logs
- Customizing sanitizer patterns
- Common settings
- Advanced settings
- Setting up and using NAPALM integration
- Exploring nautobot-server CLI commands
- Creating a superuser account
- Exporting and importing data
- Cleaning up old scheduled jobs
- Retracing corrupted/missing cable paths
- Getting help
- Exploring the Nautobot Shell
- Working with objects
- Monitoring Nautobot metrics
- Upgrading Nautobot
- Troubleshooting Nautobot
- Performing a health check
- Troubleshooting the configuration
- Debugging Nautobot
- Summary.
- Part 3: Network Automation with Nautobot
- Chapter 8: Learning about Nautobot APIs - REST, GraphQL, and Webhooks
- Technical requirements
- Nautobot REST APIs
- Nautobot's interactive API documentation
- Understanding Nautobot APIs
- API authentication
- Using the API with Python
- API tips
- pynautobot
- GraphQL with Nautobot
- GraphQL primer
- GraphiQL
- GraphQL queries with Python
- GraphQL versus REST
- Webhooks
- Exploring webhooks
- Example - using a Webhook to trigger an Ansible AWX playbook
- Summary
- Chapter 9: Understanding Nautobot Integrations for NetDevOps Pipelines
- Technical requirements
- Exploring pynautobot
- Installing pynautobot
- Getting started
- Retrieving objects
- Updating an object
- Deleting an object
- Creating an object
- Working with Nautobot Apps
- Using GraphQL with pynautobot
- Using pynautobot to get the next available IP address
- Exploring the Nautobot Ansible Collection
- Installing the collection
- Reading data with Ansible
- Ansible write operations
- Exploring Ansible inventory sources
- Using Nornir Nautobot
- Installing Nornir Nautobot
- Exploring Nautobot Docker containers
- Exploring the Nautobot Go library
- Introducing the Nautobot Terraform provider
- Summary
- Chapter 10: Embracing Infrastructure as Code with Nautobot, Git, and Ansible
- Technical requirements
- Setting up the environment
- Network topology
- Linux host
- Ansible
- Nautobot
- The book's Git repo
- Adding data to Nautobot with Ansible
- Setting up a dynamic inventory
- Backing up network devices
- Performing a config replace with Nautobot, NAPALM, and Ansible on Arista and Juniper devices
- Performing config changes with Nautobot and Ansible for Cisco IOS devices
- Performing config changes with Nautobot and Ansible for Cisco NX-OS devices.
- Managing data with config contexts and using Git
- Nautobot jobs versus Ansible playbooks
- Summary
- Chapter 11: Automating Networks with Nautobot Jobs
- Technical requirements
- Nautobot Jobs overview
- Introduction to the Django ORM
- Learning about the Nautobot Shell and ORM
- Reading data
- Adding and updating data
- Deleting data
- Adding Jobs to Nautobot
- Synchronizing Jobs into Nautobot from a Git repository
- Distributing Jobs as part of a Nautobot app
- Mounting or placing Jobs directly in JOBS_ROOT
- Creating your first Nautobot Job
- "Hello World" Nautobot Job
- Breaking down and building a Nautobot Job
- Adding dynamic dropdowns to your job
- Using Jobs to populate data in Nautobot
- Converting Python scripts into Nautobot Jobs
- Diving into even more Job features
- Job buttons
- Job Hooks
- Job scheduling
- Job approvals
- The Jobs API
- Job permissions
- Summary
- Chapter 12: Data-Driven Network Automation Architecture
- Data-driven network automation architecture
- Evolution of managed networks
- Manually managed networks
- Power tool automated networks
- Legacy and domain network management managed networks
- Infrastructure as Code (IaC) automated networks
- Nautobot automated networks
- SoT with Nautobot
- Integrations and extensibility
- SoT life cycle
- Nautobot enablers for SoT
- Automation and orchestration
- Understanding workflows
- Nautobot enablers for automation and orchestration
- APIs - REST, GraphQL, and Webhooks
- Modern network monitoring - telemetry and observability
- Data enrichment
- Data normalization
- Data collection
- Closed loop network automation
- User interactions
- Summary
- Part 4: Nautobot Apps
- Chapter 13: Learning about the Nautobot App Ecosystem
- Nautobot Apps overview
- Why Nautobot Apps?
- Flexibility
- Access to SoT data.
- Accelerated development.