2015-05-30 24 views
23

Dường như với tôi cả hai công cụ đều được sử dụng để dễ dàng cài đặt và tự động định cấu hình ứng dụng.Sự khác nhau giữa Vùng chứa Docker và Playbook Ansible là gì?

Tuy nhiên, tôi đã hạn chế sử dụng Docker và chưa sử dụng Ansible. Vì vậy, tôi là một chút bối rối.

Bất cứ khi nào tôi tìm kiếm so sánh giữa hai công nghệ này, tôi tìm thấy chi tiết về cách sử dụng các công nghệ này kết hợp.

Trả lời

29

Có nhiều lý do hầu hết các bài nói chuyện về việc sử dụng chúng với nhau.

Hãy nghĩ về Ansible như một cách để cài đặt và định cấu hình máy, tại đây bạn có thể quay lại và tinh chỉnh bất kỳ bước nào của cài đặt và cấu hình đó trong tương lai. Sau đó bạn có thể mở rộng khái niệm đó ra nhiều máy như bạn có thể quản lý.

Sự khác biệt chính ở chỗ Ansible có lợi thế là không chỉ quản lý nội bộ của máy mà còn quản lý các hệ thống khác như kết nối mạng, DNS, giám sát vv xung quanh máy.

Xây dựng nhiều máy qua Ansible mất khá nhiều thời gian để thực hiện 50 máy như khi thực hiện 1, vì tất cả 50 máy sẽ được tạo từng bước. Nếu bạn đang chạy một triển khai lăn trên nhiều môi trường, bước xây dựng của nó từng bước chiếm thời gian.

Bây giờ hãy nghĩ Docker là đã xây dựng một trong những máy riêng lẻ - cài đặt và cấu hình và sẵn sàng triển khai ở bất cứ nơi nào có sẵn hệ thống docker. Nhược điểm ở đây là bạn không thể quản lý tất cả các khía cạnh khác cần thiết xung quanh việc làm cho docker container thực sự hoạt động, và tinh chỉnh chúng lâu dài không thú vị nhiều như âm thanh nếu bạn không tự động cấu hình (do đó Ansible giúp ở đây).

Chia tỷ lệ từ 1 đến 50 Máy Docker khi bạn đã tạo hình ảnh ban đầu nhanh chóng so với phương pháp từng bước Ansible mất, và điều này là hiển nhiên nhất trong quá trình triển khai nhiều máy trong các nhóm nhỏ hơn.

Mỗi điểm yếu của nó là khả năng hoặc tốc độ. Kết hợp cả hai tuy nhiên và nó có thể được khá awesome. Không nghi ngờ gì với hầu hết các bài viết bạn đã đọc, tôi khuyên bạn nên xem xét sử dụng Ansible để tạo (và cập nhật) các thùng chứa Docker cơ sở của bạn và sau đó sử dụng Ansible để quản lý việc triển khai bất kỳ vùng chứa nào bạn cần thỏa mãn việc sử dụng ứng dụng của bạn.

+1

Ý của bạn là Docker ở đây ?: "... và sau đó sử dụng Ansible để quản lý giới thiệu ...". Nếu không, bạn có thể giải thích, làm thế nào để sử dụng Ansible để quản lý việc triển khai bất kỳ quy mô nào? Cảm ơn – NeverEndingQueue

+0

"bạn không thể quản lý tất cả các khía cạnh khác cần thiết xung quanh việc tạo vùng chứa docker thực sự hoạt động và tinh chỉnh chúng lâu dài không thú vị nhiều nếu bạn không tự động cấu hình (do đó Ansible giúp ở đây) . " Và do đó kubernetes (nền tảng để quản lý tải công việc và dịch vụ container, tạo điều kiện cho cả cấu hình khai báo và tự động hóa.) Cũng có thể đến đây. https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ –

Các vấn đề liên quan