Cung cấp khả thi: Cách cung cấp thông minh hơn và dễ dàng



Blog Cấp phép Ansible này chỉ ra một trong những tính năng Ansible hữu ích nhất. Nó trình bày cách thiết lập một LAMP stack và lưu trữ một wensite trên Ubuntu.

Bước đầu tiên trong việc tự động hóa bất kỳ vòng đời hoạt động nào của ứng dụng là tự động hóa việc cung cấp cơ sở hạ tầng. Cấp phép là một quá trình gây khó chịu trong việc thiết lập cấu hình, cấp phát bộ nhớ, dung lượng đĩa, v.v. trước khi thực sự sử dụng chúng. Hãy xem cách Cấp phép khả thi giúp việc này trở nên đơn giản và nhanh hơn.

Hầu hết các triển khai quy mô lớn yêu cầu bạn phải thiết lập môi trường giống hệt nhau trên nhiều hệ thống.Làm cách nào bạn làm được việc đó? Thực thi cùng một bộ lệnh trên hàng trăm hệ thống theo cách thủ công ?? Nahh .. Trường cũ quá rồi. Đây là thứ mà máy móc giỏi, không phải con người. Điều gì sẽ xảy ra nếu tôi nói với bạn rằng quá trình dài và nhàm chán này có thể được thực hiện bằng cách chỉ thực hiện một vở kịch Ansible duy nhất?Đó là những gì chúng ta sẽ nói trong blog này - Cấp phép khả thi.





Các chủ đề được đề cập là:

Nếu bạn muốn thành thạo DevOps, ' khóa học nên là lựa chọn đi đến của bạn.



Ansible là gì?

DevOps là một nền văn hóa nơi tự động hóa được ưu tiên thực sự cao. Khi có thể có các công cụ để tự động hóa quá trình triển khai và thử nghiệm, tại sao lại không có các công cụ để quản lý cấu hình và cung cấp. Có hàng triệu cách để trở nên thông minh hơn và sử dụng Ansible là một trong số đó. Nó là một trong những công cụ được sử dụng rộng rãi nhất.

Ansible sử dụng sách chơi dựa trên YAML mà người mới bắt đầu thậm chí có thể hiểu được. Nó sử dụng kiến ​​trúc không có tác nhân để giao tiếp với khách hàng của nó mà không liên quan đến bất kỳ công cụ bên thứ ba nào được cài đặt trên máy của khách hàng và thay vào đó sử dụng kết nối dựa trên SSH. Ansible là một công cụ tự động hóa, hãy cùng tìm hiểu xem nó có thể tự động hóa những gì.

Ansible Automate có thể làm gì?

Đặt tên cho một giai đoạn trong chu kỳ phát triển và Ansible sẽ giúp bạn thực hiện nó, có thể là quản lý cấu hình, cung cấp, điều phối, phân phối liên tục, bảo mật hoặc thậm chí triển khai ứng dụng. Ansible hợp nhất quy trình làm việc của chu trình phát triển thành một nền tảng tự động hóa ít tác nhân hơn.



  1. Cấp phép: Tạo một môi trường thích hợp để ứng dụng / phần mềm hoạt động là cần thiết. Ansible cung cấp một cách để tự động hóa môi trường được tạo cho sự tồn tại của ứng dụng.
  2. Quản lý cấu hình: Thực hiện nhiều tác vụ cấu hình khác nhau, chẳng hạn như dịch vụ bắt đầu / dừng, thay đổi cấu hình của hệ thống, thiết bị hoặc ứng dụng, v.v.
  3. Triển khai ứng dụng: Tự động hóa việc xác định triển khai với Ansible và quản lý việc triển khai bằng Tháp Ansible . Điều này làm cho toàn bộ chu trình ứng dụng từ sản xuất đến triển khai hiệu quả và dễ quản lý.
  4. Giao hàng liên tục: Việc tạo và quản lý một đường dẫn tích hợp liên tục / phân phối liên tục có thể trở nên cồng kềnh. Đó là nơi Ansible bước vào và giúp cuộc sống của nhà phát triển dễ dàng hơn.
  5. Bảo mật và tuân thủ: Làm việc với các dự án, luôn đặt ra ranh giới và được tích hợp với các chính sách bảo mật của công ty. Việc tích hợp các chính sách bảo mật tự động với việc triển khai có thể giúp việc tuân thủ các chính sách trở nên dễ dàng hơn.
  6. Điều phối: Toàn bộ dự án là một tập hợp của nhiều cá thể khác nhau có cấu hình khác nhau. Ansible hợp nhất và quản lý tổng thể các trường hợp khác nhau này.

Cần cấp phép khả thi

Như đã đề cập trước đó, bước đầu tiên đểtự động hóa vòng đời hoạt động của các ứng dụngđang chuẩn bị sẵn sàng môi trường, tức là cung cấp. Việc triển khai lớn yêu cầu nhiều máy chủ có cùng cấu hình. Sau khi cấp phép một máy chủ, bạn có cơ hội nhận được 10 máy chủ tiếp theo có cùng cấu hình nếu được thực hiện theo cách thủ công? Ngoài ra, bạn sẽ dành bao nhiêu thời gian để làm cùng một công việc lặp đi lặp lại? Đây là nơi Ansible đến với dịch vụ của chúng tôi. Bạn có thể cung cấp hàng trăm máy chủ lưu trữ chỉ bằng cách thực hiện một playbook. Ma thuật? Haha! Không, chỉ là sự tiến hóa trong tự động hóa.

Demo: Tạo một LAMP Stack và triển khai một trang web

vectơ trong java là gì

Giả sử bạn đang cố gắng triển khai một trang web trên 30 hệ thống, mọi triển khai trang web sẽ yêu cầu Hệ điều hành cơ sở, máy chủ web, Cơ sở dữ liệu và PHP. Chúng tôi sử dụng playbook ansible để cài đặt các điều kiện tiên quyết này trên tất cả 30 hệ thống cùng một lúc.

Trong bản demo cấp phép Ansible này, tôi sẽ chỉ cho bạn cách cung cấp môi trường lưu trữ trang web bằng Ansible. Chúng tôi cài đặt ngăn xếp LAMP (Linux, Apache, MySQL và PHP) và sau đó triển khai một trang web.

Đối với bản demo này, tôi đã sử dụng Linux VirtualBox có Ubuntu phiên bản 17.04. Tôi đã sử dụng hai máy ảo, một máy làm máy chủ nơi Ansible được cài đặt và máy còn lại đóng vai trò là máy chủ từ xa của tôi. Hãy bắt đầu với việc thiết lập Ansible trên máy chủ.

Tôi đã tạo một trang web tĩnh đơn giản được lưu trong một thư mục mục lục có hai tệp, index.html và style.css.

cách biên dịch mã java

index.html:

  Trang web sử dụng HTML và CSS                Áp dụng ngay bây giờ        

style.css

* { lợi nhuận: 0 đệm: 0 } tiêu đề { background-image: linear-gradient (rgba (0,0,0,0.5), rgba (0,0,0,0.5)), url ('puppie.jpg') chiều cao: 100vh background-size: cover background-position: center } .nav-menu { float: đúng list-style: none margin-top: 30px } .nav-menu li { display: inline-block } .nav-menu li a { màu sắc: xanh ngọc văn bản-trang trí: không có padding: 5px 20px font-family: 'Verdana', 'sans-serif' font-size: 20px } .homebtn a { border: 1px màu xám đặc background-color: trắng } .nav-menu li a: hover { border: 1px màu xám đặc background-color: trắng } .tagline { vị trí: tuyệt đối chiều rộng: 1200px margin-left: 0 margin-top: 0 } h1 { màu trắng font-size: 50px font-family: 'Verdana', 'sans-serif' text-align: center margin-top: 275px } .adopt { margin-top: 30px margin-left: 540px } .bttn { border: 1px trắng đặc padding: 10px 30px màu vàng font-family: 'Verdana', 'sans-serif' font-size: 22px văn bản-trang trí: không có } .adopt a: hover { background-color: burlywood }

Bước 1: Thực thi các lệnh sau để cập nhật kho lưu trữ, thêm kho lưu trữ cần thiết và định cấu hình PPA trên máy của bạn để cài đặt Ansible:

$ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo apt-add-repository ppa: ansible / ansible

Nhấn enter để chấp nhận bổ sung PPA và cuối cùng cài đặt Ansible sau khi cập nhật kho lưu trữ.

$ sudo apt-get update $ sudo apt-get install ansible

Bước 2: Truy cập tệp / etc / hosts của máy chủ của bạn và thêm tên máy chủ và địa chỉ IP của máy chủ.

máy chủ vv - Cung cấp khả thi - EdurekaHình 1 - Thêm máy chủ từ xa vào tệp / etc / hosts - Cấp phép khả thi

Bước 3: Vì Ansible hoạt động trên kiến ​​trúc không tác nhân sử dụng SSH để giao tiếp với các máy chủ của nó, hãy thiết lập các khóa ssh. Về cơ bản, chúng tôi có một máy chủ và một máy chủ lưu trữ. Chúng tôi kiểm soát máy chủ lưu trữ bằng máy chủ của mình và do đó chúng tôi tạo khóa ssh công khai trên máy chủ và sao chép nó vào máy của máy chủ lưu trữ. Thực thi lệnh sau trên máy chủ:

$ ssh-keygen

Bạn sẽ được nhắc nhập tên tệpnơi mà tôibạn muốn lưu khóa của mình và cũng nhắc bạn tạo mật khẩu để truy cập vào khóa đã tạo là tùy chọn. Theo mặc định, khóa công khai được lưu trong tệp .ssh / id_rsa.pub và khóa riêng tư được lưu trong .ssh / id_rsa.

Hình 2 - Tạo khóa ssh - Cấp phép khả thi

Bây giờ khóa được tạo này cần phải có trong máy chủ của bạn. Việc sao chép khóa vào máy chủ có thể được thực hiện theo hai cách, hoặc sao chép thủ công vào máy chủ hoặc sử dụng lệnh ssh-copy-id. Trong trường hợp này, tôi sẽ sao chép nó bằng lệnh ssh-copy-id root @ IP_of_host.

$ ssh-copy-id root@192.168.56.104

Lưu ý- Đảm bảo rằng bạn có thể truy cập vào máy chủ của mình trước khi thực hiện lệnh này.

Bước 4: Định cấu hình máy chủ Ansible. Đi tới tệp / etc / ansible / hosts và thêm tên máy chủ. Điều này sẽ thay đổi tùy theo số lượng máy chủ và máy chủ bạn có. Bạn cũng có thể có nhiều hơnmột máy chủđây.

Hình 3 - Thêm Máy chủ Từ xa vào Tệp Khoảng không quảng cáo - Cấp phép Khả thi

Bước 5: Kiểm tra xem máy chủ của bạn đã sẵn sàng chưa. Thực hiện lệnh này, bạn sẽ nhận được một kết quả tương tự.

$ ansible -m ping all

Hình 4 - Kiểm tra Trạng thái Máy chủ Từ xa - Cấp phép Khả thi

là một vs có java

Bước 6: Bây giờ Ansible của chúng tôi đã sẵn sàng, hãy tạo môi trường sẵn sàng để triển khai một trang web. Chúng tôi sẽ sử dụng một playbook Ansible duy nhất để cài đặt Apache, MySql và PHP. Chúng ta hãy nhìn vào nó.

Lưu ý: Nếu bạn là người mới bắt đầu, hãy xem điều này blog giải thích cách viết một vở kịch.

--- # Setup LAMP Stack - hosts: host1 task: - name: Thêm kho lưu trữ ppa trở thành: yes apt_repository: repo = ppa: ondrej / php - name: Cài đặt ngăn xếp đèn trở thành: yes apt: pkg: - apache2 - mysql-server - php7.0 - trạng thái php7.0-mysql: bộ đệm ẩn cập nhật hiện tại: có - tên: khởi động máy chủ apache trở thành: có dịch vụ: tên: trạng thái apache2: đã bắt đầu kích hoạt: có - tên: bắt đầu dịch vụ mysql trở thành: có dịch vụ: tên: trạng thái mysql: đã bắt đầu được kích hoạt: có - tên: tạo tệp thư mục đích: đường dẫn = / var / www / html trạng thái = chế độ thư mục = 0755 - tên: triển khai index.html đã trở thành: có bản sao: src: / etc / ansible / index / index.html dest: var / www / html / index / index.html

Ở đây như bạn thấy, chúng ta có 6 nhiệm vụ, mỗi nhiệm vụ thực hiện một chức năng cụ thể.

  • Nhiệm vụ đầu tiên thêm kho lưu trữ cần thiết để cài đặt MySQL và PHP.
  • Tác vụ thứ hai cài đặt apache2, MySQL-server, PHP và PHP-MySQL.
  • Nhiệm vụ thứ ba và thứ tư khởi động dịch vụ Apache và MySQL.
  • Nhiệm vụ thứ năm tạo một thư mục đích trong máy chủ và
  • Cuối cùng, tác vụ thứ sáu thực thi tệp index.html, nó lấy tệp từ máy chủ và sao chép vào máy chủ.

Thực thi playbook này bằng lệnh sau:

$ ansible-playbook lamp.yml -K

Những dòng kẻ trở thành: vâng trong playbook nói rằng nó cần phải thực thi dưới quyền root và do đó khi bạn thực thi lệnh, nó sẽ nhắc nhập mật khẩu sudo.

Hình 5 - Thực thi Playbook Ansible - Cấp phép Ansible

Bây giờ bạn có thể vào máy chủ và kiểm tra xem trang web đã được lưu trữ chưa.

Hình 6 - Lưu trữ trang web trên Localhost - Cấp phép hợp lệ

Bây giờ đó là một trang web sẽ được triển khai trên tất cả các máy chủ tương tác với máy chủ (trong trường hợp của chúng tôi, chúng tôi chỉ có một máy chủ) nhưng điều này cũng có thể thực hiện được ngay cả với 100 máy chủ từ xa.

Điều này đưa chúng ta đến phần cuối của blog Cấp phép khả thi. Nếu bạn thấy bài viết này hữu ích, hãy xem ' do Edureka cung cấp. Nó bao gồm tất cả các công cụ đã làm cho ngành CNTT trở nên thông minh hơn.

Có một câu hỏi cho chúng tôi? Hãy đăng nó trên và chúng tôi sẽ liên hệ lại với bạn.