Friday, November 22, 2024

[Ansible] Tags trong Ansible

-

Tags trong Ansible là một cách để đánh dấu các tác vụ trong playbook. Các tag được sử dụng để chỉ định các tác vụ nào sẽ được chạy hoặc bỏ qua khi chạy playbook.

Cách sử dụng tag trong playbook:

- name: Install packages
  apt:
    name: "{{ item }}"
    state: latest
  with_items:
    - package1
    - package2
  tags:
    - install

Trong ví dụ trên, tác vụ cài đặt các gói package1package2 được đánh dấu bằng tag install.

Cách chạy các tác vụ với tag:

ansible-playbook playbook.yml --tags install

Trong lệnh trên, Ansible chỉ thực hiện các tác vụ được đánh dấu bằng tag install.

Cách bỏ qua các tác vụ với tag:

ansible-playbook playbook.yml --skip-tags install

Trong lệnh trên, Ansible bỏ qua các tác vụ được đánh dấu bằng tag install.

Ngoài ra, bạn có thể đánh dấu nhiều tác vụ với cùng một tag, hoặc đánh dấu một tác vụ với nhiều tag khác nhau. Ví dụ:

- name: Install packages
  apt:
    name: "{{ item }}"
    state: latest
  with_items:
    - package1
    - package2
  tags:
    - install
    - package

Trong ví dụ này, tác vụ cài đặt các gói package1package2 được đánh dấu với hai tag installpackage.

- name: Install packages
  apt:
    name: "{{ item }}"
    state: latest
  with_items:
    - package1
    - package2
  tags:
    - install
- name: Configure packages
  template:
    src: config.j2
    dest: /etc/config
  tags:
    - configure

Trong ví dụ này, tác vụ cài đặt các gói package1package2 được đánh dấu với tag install, và tác vụ cấu hình file config.j2 được đánh dấu với tag configure.

Bạn có thể sử dụng các tags trong playbook để chỉ định chỉ chạy các tác vụ cụ thể.

Ví dụ, nếu bạn chỉ muốn thực hiện tác vụ cài đặt Docker, bạn có thể đặt tag install_docker trên tác vụ đó như sau:

- name: Install Docker
  apt:
    name: docker-ce
    state: latest
  tags:
    - install_docker

Tương tự, nếu bạn chỉ muốn thực hiện tác vụ xóa Docker, bạn có thể đặt tag remove_docker trên tác vụ đó như sau:

- name: Remove Docker
  apt:
    name: docker-ce
    state: absent
  tags:
    - remove_docker

Sau đó, bạn có thể chạy playbook và chỉ định tag để chỉ thực hiện các tác vụ cụ thể. Ví dụ, để chỉ thực hiện tác vụ cài đặt Docker, bạn có thể chạy lệnh sau:

ansible-playbook myplaybook.yml --tags install_docker

Tương tự, để chỉ thực hiện tác vụ xóa Docker, bạn có thể chạy lệnh sau:

ansible-playbook myplaybook.yml --tags remove_docker

Nếu bạn muốn thực hiện cả hai tác vụ, bạn có thể bỏ tag hoặc chỉ định nhiều tag cùng lúc. Ví dụ:

ansible-playbook myplaybook.yml --tags install_docker,remove_docker

Trong trường hợp này, Ansible sẽ thực hiện cả tác vụ cài đặt Docker và xóa Docker.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories