目錄(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
推薦閱讀
- HornetQ Messaging Developer’s Guide
- Learning Scala Programming
- Bootstrap Site Blueprints Volume II
- Learning Chef
- SQL Server 2012數據庫技術及應用(微課版·第5版)
- 單片機C語言程序設計實訓100例:基于STC8051+Proteus仿真與實戰
- PostgreSQL技術內幕:事務處理深度探索
- 編寫整潔的Python代碼(第2版)
- 算法大爆炸:面試通關步步為營
- ASP.NET動態網頁設計教程(第三版)
- Java Web應用開發技術與案例教程(第2版)
- C#程序設計
- Go語言精進之路:從新手到高手的編程思想、方法和技巧(2)
- Spring MVC+MyBatis開發從入門到項目實踐(超值版)
- 編程可以很簡單
- INSTANT Premium Drupal Themes
- 從零開始構建深度前饋神經網絡:Python+TensorFlow 2.x
- 游戲設計的底層邏輯
- C語言程序設計實驗指導
- 現代JavaScript編程:經典范例與實踐技巧
- Isomorphic JavaScript Web Development
- Python程序設計
- Java Web程序開發參考手冊
- Oracle Application Integration Architecture(AIA) Foundation Pack 11gR1:Essentials
- More Effective C++:35個改善編程與設計的有效方法(中文版)
- INSTANT Apache Solr for Indexing Data How-to
- Responsive Media in HTML5
- 并行算法設計與性能優化
- Java Data Analysis
- 容器云運維實戰:Docker與Kubernetes集群