日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用Ansible創建OOS模板與執行

Ansible是一個開源配置管理工具,可以使用它來自動化執行任務,部署應用來實現IT基礎架構。

OOS是一個以模板的方式管理阿里云產品來實現自動化運維的一個服務。相信讀此教程的大家已經了解OOS的基本功能與使用方法,本教程將指導您如何使用Ansible創建阿里云的OOS運維模板,以及如何通過Ansible執行創建的模板來管理阿里云產品。

教程概覽

本教程將創建和執行模板拆分成了不同的Ansible playbooks,方便您了解如何通過YAML格式聲明配置。您可以參考提供簡單的完整示例,運行Playbook來創建并執行一個OOS模板。

Ansible包含OOS的四個模塊,你可以使用ali_oos_template、ali_oos_template_info、ali_oos_execution、ali_oos_execution_info四個模塊來進行以下操作。

模塊

使用場景

ali_oos_template

創建模板

更新模板

刪除模板

ali_oos_template_info

獲取模板

ali_oos_execution

開始執行

取消執行

刪除執行

審批動作

ali_oos_execution_info

獲取執行

前提條件

在執行前需要安裝Ansible,操作如下:

1.執行以下命令安裝Ansible。

sudo yum install ansible

更多詳細信息,請參見Ansible文檔

2.執行以下命令查看安裝的Ansible版本。

ansible -version

3.執行以下命令安裝Ansible阿里云模塊。

sudo pip install ansible_alicloud

4.可選:當Ansible阿里云模塊版本過低時,執行以下命令升級阿里云模塊的版本。

sudo pip install footmark 
sudo pip install ansible_alicloud

5.執行以下命令配置訪問密鑰來訪問阿里云資源。

export ALICLOUD_ACCESS_KEY="your_accesskey"
export ALICLOUD_SECRET_KEY="your_accesskey_secret"

關于如何生成訪問密鑰,請參見創建AccessKey

OOS的PlayBook

1、創建模板

- name: Create oos template
  ali_oos_template:
    alicloud_region: '{{ alicloud_region }}'
    template_name: '{{ template_name }}'
    content: '{{ content }}'
  register: create_template

2、獲取模板

- name: Get oos template
  ali_oos_template_info:
    alicloud_region: '{{ alicloud_region }}'
    name_prefix: '{{ name_prefix }}'
  register: get_template

3、刪除模板

- name: Delete oos template
  ali_oos_template:
    state: absent
    alicloud_region: '{{ alicloud_region }}'
    template_name: '{{ template_name }}'

4、更新模板

- name: Update oos template
  ali_oos_template:
    content: '{{ content }}'
    alicloud_region: '{{ alicloud_region }}'
    template_name: '{{ template_name }}'

5、執行模板

- name: Start a execution
  ali_oos_execution:
    alicloud_region: '{{ alicloud_region }}'
    template_name: '{{ template_name }}'
    safety_check: Skip
    parameters:
      Status: '{{ status }}'
  register: start_execution

6、取消執行

- name: Cancel a execution
  ali_oos_execution:
    state: cancel
    alicloud_region: '{{ alicloud_region }}'
    execution_id: '{{ execution_id }}'
  register: cancel_execution

7、獲取執行

- name: Get executions
  ali_oos_execution_info:
    alicloud_region: '{{ alicloud_region }}'
    name_prefix: '{{ name_prefix }}'
  register: get_executions

8、刪除執行

- name: Delete a execution
  ali_oos_execution:
    state: absent
    alicloud_region: '{{ alicloud_region }}'
    execution_id: '{{ execution_id }}'
  register: delete_execution

9、審批動作

- name: Notify a execution
  ali_oos_execution:
    state: notify
    notify_type: Approve
    alicloud_region: '{{ alicloud_region }}'
    execution_id: '{{ execution_id }}'
  register: notify_execution
重要

如果有其他的參數需求,請參考提供的參數樣式。

運行PlayBook操作OOS步驟

以下為提供的一個簡單例子。請根據步驟完成以下操作來創建一個模板,以及執行創建的模板。并根據您的實際需求進行參數替換。

1、編寫一個alicloud_describe_instances.yml

vi alicloud_describe_instances.yml

2、在編輯模式下將以下PlayBook復制進alicloud_describe_instances.yml中

---
- name: test create template and execute template
  hosts: localhost
  remote_user: user_1
  tasks:
    - name: Create oos template
      ali_oos_template:
        alicloud_region: 'cn-hangzhou'
        template_name: 'test-ansible-template'
        content: '{"Description": "Example template, describe instances in some status", "FormatVersion": "OOS-2019-06-01", "Parameters": {"Status": {"Description": "(Required) Running or Stopped", "Type": "String"}}, "Tasks": [{"Name": "describeInstances", "Action": "ACS::ExecuteAPI", "Description": {"zh-cn": "desc", "en": "desc-en"}, "Properties": {"Service": "ECS", "API": "DescribeInstances", "Parameters": {"Status": "\{\{ Status \}\}"}}, "Outputs": {"InstanceIds": {"Type": "List", "ValueSelector": "Instances.Instance[].InstanceId"}}}], "Outputs": {"InstanceIds": {"Type": "List", "Value": "\{\{ describeInstances.InstanceIds \}\}"}}}'
      register: create_template
    - name: Describe instances by status
      ali_oos_execution:
        alicloud_region: 'cn-hangzhou'
        template_name: 'test-ansible-template'
        safety_check: Skip
        description: test execution from ansible.
        parameters:
          Status: 'Running'
      register: start_execution

3、保存后退出編輯模式

4、運行Ansible PlayBook創建模板并執行。

ansible-playbook alicloud_describe_instances.yml

5. 執行結果

5.1查看Ansible的執行結果,檢測Ansible是否執行成功。

ansible-01

5.2 如果命令中的Ansible執行成功, 可以登錄OOS控制臺,查看使用Ansible執行的task是否實際生效。

ansible-02