Cài đặt và làm quen với Ansible
ansible
2
Sysadmin
16
automation
2
White

Dang Viet Ha viết ngày 06/05/2016

Gần đây, tôi có tham gia vào một sự kiện của ITLC-HN và biết được việc sử dụng Ansible để tự động hoá công việc của các sysadmin khá tiện dụng. Hôm nay, mình bỏ chút thời gian để tiếp cận và tìm hiểu cách sử dụng ban đầu Ansible một cách đơn giản. Tôi trình bày lại các bước thực hiện ở đây để các bạn tham khảo.

Tôi có một máy chủ dữ liệu mysql trên cloud. Thông thường để start, stop, restart mysql db server thì chúng ra thường ssh login vào máy chủ và thực hiện cách lệnh tương ứng trên terminal. Việc phải ssh login vào hệ thống và thực hiện lệnh như vậy thì việc thực hiện các thao tác trên db server từ xa một cách tự động bằng script là gần như không thể. Với Ansible thì bạn hoàn toàn có thể làm điều này một cách dễ dàng.

Để bắt đầu sử dụng Ansible thì chúng ra cần cài đặt nó trên máy của bạn để có thể dùng Ansible điều khiển các máy chủ từ xa.

Trên MacOSX thì Ansible khuyến cáo cài đặt Ansible bản mới nhất thông qua pip như sau

  1. Nếu chưa có pip trên máy thì bạn cài pip bằng lệnh sau

    $ sudo easy_install pip
    
  2. Sau đó, cài đặt Ansible bằng cách chạy

    $ sudo pip install ansible
    
  3. Kiểm tra lại xem ansible đã được cài đặt hay chưa bằng cách chạy lệnh ansible --version. Kết quả có thể sẽ output ra như sau

    ansible 2.0.1.0
    config file = 
    configured module search path = Default w/o overrides
    

OK, như vậy chúng ra đã hoàn thành việc cài đặt Ansible trên máy điều khiển. Như nhu cầu ở trên chúng ra cần điều khiển một máy chủ mysql db. Việc đầu tiên chúng ra cần làm là đưa địa chỉ của máy chủ này vào file /etc/ansible/hosts

Nếu file /etc/ansible/hosts chưa tồn tại thì các bạn hãy tạo nó ra.

Nội dung mô tả máy chủ cần làm việc của tôi chỉ đơn giản như sau

[dbserver]
13.76.128.153

Các bạn hoàn toàn có thể chỉ định nhiều địa chỉ trong cùng một group dbserver để có thể gửi một lệnh đến các máy chủ cùng một lúc.

Mọi thứ đã sẵn sàng, bây giờ chúng ta thử restart mysql service trên máy chủ dbserver xem sao. Trước tiên, chúng ra chỉ định ssh-agent để khỏi phải nhập mật khẩu nhiều lần khi authenticate vào máy chủ.

$ ssh-agent bash
$ ssh-add ~/.ssh/id_rsa

Tuy nhiên, để nhanh gọn tôi sẽ chọn cách chỉ định --private-key cho Ansible. Để restart mysql service trên máy chủ dbserver thì chúng ra chỉ cần thực hiện lệnh sau đây

$ ansible dbserver -m service -a "name=mysql state=restarted" --key-file=~/.ssh/db.pem -u ubuntu --sudo

Sau khi chạy lệnh trên thì sẽ nhận được kết quả trả về dưới dạng JSON như sau

13.76.128.153 | SUCCESS => {
    "changed": true, 
    "name": "mysql", 
    "state": "started"
}

Với sự hỗ trợ đắc lực của Ansible bạn hoàn toàn có thể tự động hoá và chuẩn hoá nhiều công việc của sysadmin. Còn rất nhiều điều cần tìm hiểu để có thể sử dụng Ansible một đầy đủ và hiệu quả cho nhu cầu thực tế. Nhưng tôi hy vọng bài tóm tắt này sẽ giúp các bạn có thể tiếp cận Ansible một cách nhanh chóng và dễ dàng hơn.

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Dang Viet Ha

12 bài viết.
22 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
14 0
Trong thời điểm hiện tại thì JSON REST API vẫn đang rất phổ biến và phổ thông nhất bởi tính dễ sử dụng của nó. Tuy nhiên, các hãng công nghệ lớn lu...
Dang Viet Ha viết hơn 1 năm trước
14 0
White
8 4
Dang Viet Ha viết gần 2 năm trước
8 4
White
6 1
(Ảnh) Trong Golang, slice là một dạng mảng dữ liệu có thể thay đổi size theo nhu cầu sử dụng thực tế. Và khi làm việc với slice chúng ta thường sử ...
Dang Viet Ha viết gần 2 năm trước
6 1
Bài viết liên quan
White
9 6
Về việc viết document nói chung và API document nói riêng Document là thứ rất quan trọng khi bàn giao một dự án hay cần tham khảo để bảo trì, phát...
Finn viết gần 2 năm trước
9 6
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
12 bài viết.
22 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!