目錄(243章)
倒序
- coverpage
- Title Page
- Credits
- About the Author
- Acknowledgments
- About the Reviewer
- www.PacktPub.com
- Why subscribe?
- Customer Feedback
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Downloading the color images of this book
- Errata
- Piracy
- Questions
- DevOps Fundamentals
- DevOps 101
- Culture
- Automation
- Measurement
- Sharing
- The History of DevOps
- Strides toward the future
- DevOps in the Modern Software Organization
- The DevOps assembly line
- Correlations between a DevOps assembly line and manufacturing
- DevOps architectures and practices
- Encapsulated software development
- Microservices
- Continuous Integration and Continuous Delivery
- Modularity
- Horizontal scalability
- Blue-green deployments
- Artifact management and versioning
- Symmetrical environments
- Summary
- Configuration Management Essentials
- Understanding Configuration Management
- Origins of Configuration Management
- The Aims of Configuration Management
- Scenario 1
- Scenario 2
- Scenario 3
- Scenario 4
- Basic Principles of Configuration Management
- Configuration Management Best Practices
- How Ansible Simplifies DevOps Implementations
- Binary Artifact Management and Ansible
- Summary
- Installing Configuring and Running Ansible
- Installing Ansible
- Red Hat Enterprise Linux via Configuration Management
- Apt for Debian/Apt for Ubuntu
- Porting Ansible to Gentoo
- PKG for FreeBSD
- Pip for macOS
- OpenCSW for Solaris/SunOS
- Via Python pip
- Once Ansible has been installed
- Setting up authentication between the control server and hosts
- The Ansible Architecture
- Open source
- Module-based
- Agentless
- Pluggable
- Local automation execution using Ansible
- Remote automation execution using Ansible
- Container-oriented automation
- The Ansible Command-Line Interface
- Usage: ansible <host-pattern> [options]
- Ansible command-line examples
- Configuring Ansible
- Common base configuration items
- The Ansible Inventory
- Defined inventory groups
- Loose inventory items/hosts/devices
- Executing playbook's and targeting specific inventory files and groups
- Summary
- Playbooks and Inventory Files
- Ansible Playbook Constructs
- The programming languages that make up a playbook
- YAML
- Jinja2 – a brief introduction
- Constructing an Ansible playbook
- Hosts
- Variables (vars/vars_files)
- Tasks/plays
- Ansible Play's and Task's
- Ansible plays
- Ansible tasks
- Multiline task parameters
- Variables and Variable Files
- Basic variable syntax
- Variable files
- Hosts and Inventory
- Targeting Infrastructure
- Ansible Modules
- Managing packages in Ansible
- Yum
- The apt-get and dpkg
- Managing users in Ansible
- File and directory management in Ansible
- Managing services in Ansible
- Transferring files in Ansible
- Summary
- Playbooks – Beyond the Fundamentals
- playbook's and Conditional Logic
- Iterators and Loops
- Basic loops using with_items
- Nested loops using with_nested
- Looping over hashes using with_dict
- Iterating over files using with_file
- Iterating over sequential numbers
- The do until iterator
- Iterating over inventory hosts using play_hosts
- Includes
- Play-level includes
- Task-level includes
- Dynamic includes
- Ansible Roles
- Ansible Register Variables
- Simple Ansible registers
- Accessing registers
- Additional conditional logic with registers
- Null or empty comparisons
- Vars and Ansible registers
- Iterating over register contents
- Ansible Handlers
- Summary
- Jinja in Ansible
- Introducing Jinja
- Jinja2 Programming Constructs
- Expressions filters and variables
- Jinja string concatenation and manipulation
- Basic arithmetic operations in Jinja
- Compound math equations and order of operations in Jinja
- Filters available
- Conditional logic (if-then-else)
- Loops and iterators
- Simple counters
- List iterators
- Complex iterators using Jinja
- Applying Jinja in Ansible Playbook's
- Summary
- Ansible Vault
- The Ansible Vault Architecture
- Basic Vault Usage
- Encrypting an Ansible vault YAML file
- To decrypt
- To rekey an Ansible vault file
- Editing in place
- Decrypting the vault when running a playbook
- Automatically decrypting using password files
- Manually decrypting vault data
- Real-world Ansible Vault Workflow
- Ansible vault with roles
- Summary
- Ansible Modules and Libraries
- Introducing Ansible Modules
- Integrating Ansible with Other Technologies
- Ansible with JIRA
- Ansible and Git
- Ansible and Jenkins
- Ansible and Docker
- Summary
- Integrating Ansible with CI and CD Solutions
- Overview of Continuous Integration
- Continuous integration concepts and practices
- Handling unfinished work
- Branch by abstraction
- Feature toggles
- A/B testing patterns
- Overview of Continuous Delivery
- Continuous Delivery defined
- Handling complex and long running builds and deployments
- CI->CD feedback loop
- Blue-green deployments
- CI->CD anti-patterns
- Ansible's Role in CI->CD
- Ansible best practices in CI->CD
- Integrating Ansible with Jenkins
- The Jenkins Ansible plugin
- The Jenkins Ansible API modules
- The jenkins_job Ansible Module
- Integrating Ansible with Vagrant
- Leveraging Ansible for Vagrant provisioning
- Summary
- Ansible and Docker
- Understanding Docker's Architecture
- Understanding Docker containers as environments
- Managing Docker Containers with Ansible
- Creating Docker containers
- Removing Docker containers
- Launching and stopping Docker containers
- Managing network access Docker containers
- Using Ansible to Create Docker Images
- Using Dockerfiles to launch Ansible playbooks
- Managing Docker Images with Ansible
- Pulling pushing and tagging images
- Building and archiving Docker images
- Saving and loading archived Docker images
- Gathering Facts About Docker Containers
- Summary
- Extending Ansible
- Understanding Ansible Plugins and its Architecture
- When should we create a module?
- Setting Up the Ansible Module Development Environment
- Ansible module testing tool setup
- Developing Hello World Ansible Module
- Testing a developmental Ansible module
- Reading input parameters
- Adding custom facts to a module
- Setting up the Ansible Plugin Development Environment
- Understanding the Different Types of Plugins
- Action plugins
- Callback plugins
- Connection plugins
- Lookup plugins
- Distributing Ansible plugins
- Summary
- Ansible Galaxy
- Ansible Galaxy Fundamentals
- The Ansible Galaxy website
- The Ansible Galaxy command-line interface
- Ansible Galaxy command-line options explained
- The install subcommand
- The delete subcommand
- The import subcommand
- The ifo subcommand
- The init command
- The list subcommand
- The login subcommand
- The remove subcommand
- The search subcommand
- The setup subcommand
- The help command
- Summary 更新時間:2021-07-02 19:03:32
推薦閱讀
- C程序設計簡明教程(第二版)
- 自制編譯器
- Arduino by Example
- Reactive Programming with Swift
- Hands-On Data Structures and Algorithms with JavaScript
- Android 9 Development Cookbook(Third Edition)
- Servlet/JSP深入詳解
- Visual Basic程序設計習題解答與上機指導
- Java持續交付
- Instant Ext.NET Application Development
- Lighttpd源碼分析
- Mastering Akka
- Swift語言實戰晉級
- Mastering JavaScript
- Alfresco for Administrators
- Python High Performance(Second Edition)
- 跟著迪哥學Python數據分析與機器學習實戰
- Cadence Concept-HDL & Allegro原理圖與電路板設計(第2版)
- Python實現Web UI自動化測試實戰:Selenium 3/4+unittest/Pytest+GitLab+Jenkins
- 數據可視化實戰:使用D3設計交互式圖表(第2版)
- 超簡單:用Python讓Excel飛起來·核心模塊語法詳解篇
- “笨辦法”學Python 3
- Mastering Machine Learning with Spark 2.x
- 零基礎學Python(第2版)
- 3D Game Design with Unreal Engine 4 and Blender
- Unsupervised Learning with R
- C#網絡應用編程(第3版)
- Windows PowerShell for .NET Developers(Second Edition)
- ASP.NET Core技術內幕與項目實戰:基于DDD與前后端分離
- Kali Linux:An Ethical Hacker's Cookbook