日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • Ansible Galaxy 初識
    • 為什么要用 ansible-galaxy
    • ansible-galaxy 命令的使用
    • 搜索 role
    • 安裝 role
    • 新建 role
  • 公司的最佳實踐
    • 總結

      Ansible Galaxy 初識

      Ansible Galaxy 是 Ansible 官方 Roles 資源庫(galaxy.ansible.com),在 Galaxy 平臺上所有人可以分享 ansible 功能模塊

      為什么要用 ansible-galaxy

      作為一個入門的運維人員,你可以從一些 palybook 開始編寫你的自動化項目。但是隨著你對 Ansilble playbook 的增加,以及你對 Ansible Role 的需求,你會進一步意識到,使用 Ansible Galaxy 變得非常有價值。Ansible Galaxy 作為 Ansible Roles 的資源庫,可以直接放到你的 playbook 中來簡化你的自動化項目。

      ansible-galaxy 命令的使用

      [root@localhost root]# ansible-galaxy --help
      Usage: ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [--help] [options] ...
      Options:
        -h, --help            show this help message and exit
        -c, --ignore-certs    Ignore SSL certificate validation errors.
        -s API_SERVER, --server=API_SERVER
                              The API server destination
        -v, --verbose         verbose mode (-vvv for more, -vvvv to enable
                              connection debugging)
        --version             show program's version number and exit
       See 'ansible-galaxy <command> --help' for more information on a specific command.
      

      這里有一些有用的 ansiber -galaxy 命令,你可能會經常使用:

      ansible-galaxy list 顯示已安裝 Roles 的列表和版本號

      ansible-galaxy remove <role> 刪除已安裝的角色

      ansible-galaxy install 安裝 Ansible Galaxy 資源庫中的角色.

      ansible-galaxy init 初始化 Role 角色模板

      搜索 role

      [root@localhost root]# ansible-galaxy search helm
      Found 54 roles matching your search:
       Name                                                   Description
       ----                                                   -----------
       aalaesar.helm_release                                  Create, update, upgrade an delete Helm releases using Ansible and the Helm CLI
       abdennour.kube_local_environment                       Installs kubernetes utilities for DevOps environment
       acikogun.winit                                         An extensible installer for tools listed below. ansible awscli azurecli cloudsdk docker docker-compose eksctl go helm java8 java11 node packer terraform vagrant
       afonsog.k8s_helm                                       Install helm on master nodes & tiller on k8s-cluster
       afpacket.devops_tools                                  Ansible role for installing DevOps tools
       alvarobacelar.ansible_role_helm_istio                  Role de instala??o do helm e istio
       andrewrothstein.kubernetes-helm                        installs kubernetes helm
       ansible-ThoTeam.nexus3-oss                             Nexus Repository Manager 3.x (Sonatype)
       Anthony25.kubernetes-keel                              Install Keel on Kubernetes
       antongorkovenko.k8s                                    Kubernetes: setup master and worker nodes
      ...
      

      安裝 role

      ansible-galaxy install dodas.helm
      
      [root@localhost root]# ansible-galaxy install dodas.helm
      - downloading role 'helm', owned by dodas
      - downloading role from https://github.com/DODAS-TS/ansible-role-helm/archive/v2.0.0-rc5.tar.gz
      - extracting dodas.helm to &lt;path&gt;/roles/dodas.helm
      - dodas.helm (v2.0.0-rc5) was installed successfully
      

      根據輸出提示,安裝的 role 放在相應 Ansible 目錄中

      查看這個 role 目錄結構:

      [root@localhost root]# tree
      .
      ├── defaults
      │   └── main.yml
      ├── handlers
      │   └── main.yml
      ├── meta
      │   └── main.yml
      ├── README.md
      ├── tasks
      │   ├── helm.yml
      │   └── main.yml
      ├── tests
      │   ├── inventory
      │   └── test.yml
      └── vars
          └── main.yml
      6 directories, 9 files
      

      之后,你可以在你的 playbook 中使用該 role

      新建 role

      你也可以使用 Ansible -galaxy init 初始化一個新的 galaxy 角色

      ansible-galaxy init vivaserver.lamp
      

      初始化后的文件目錄和上文的 role 目錄結構類似, 你可以在task/main.yml 這個 role 的入口文件中,編寫各樣的 tasks,并結合 templates 中 jinjia2 模塊文件等來豐富你要創建的 role 等

      公司的最佳實踐

      Ansible Galaxy 可以使用 git 添加角色源,比如 GitHub。 因此在我們公司的實際使用中,通常會編寫一些 Ansbile common Roles(通用角色) 以滿足特定的需求。將定義 Ansible Roles 代碼放在 Git 倉庫中作為公共模塊使用,可以更加方便地加載到其他 repo 中, 更好地實踐 gitops 和 IaC(infrastructure as code) 理念

      例如,在我創建 Kubernetes,Prometheus 等(IaC)項目庫里,會常使用 Helm 或者 terraform 這些 role 來部署 AWS 或者 K8S 等相關資源

      Ansible 目錄結構如下

      ├── playbooks
      │   ├── configuration.yml
      │   ├── kubernetes.yml
      │   ├── network.yml
      ├── requirements.yml
      ├── roles
      └── tasks
          ├── aws_get_resources.yml
      

      首先,在 requirements.yml 里定義:

      - name: terraform
        src: https://github.com/solutionDrive/ansible-role-terraform/archive/v1.2.0.tar.gz
      - name: helm 
        src: git@github.com:<github>/ansible-role-helm.git
        scm: git 
        version: 1.0.5
      

      并在 ansible.cfg 中指定 roles 安裝路徑

      roles_path = ansible/roles
      

      使用如下命令安裝 roles 模塊到指定的路徑

      $ ansible-galaxy install -r requirements.yml
      

      安裝后,Ansible 目錄結構大概如下

      ├── playbooks
      │   ├── configuration.yml
      │   ├── kubernetes.yml
      │   ├── network.yml
      ├── requirements.yml
      ├── roles
      │   ├── helm
      │   └── terraform
      └── tasks
          ├── aws_get_resources.yml
      

      接著,在某個 playbook.yml 可以這么引用 Role,來使用 helm deploy K8S 資源

        tasks:
          - name: init Helm
            import_role:
              name: helm
      

      最后,使用ansible-playbook 來部署資源

      ansible-playbook ansible/playbooks/kubernetes.yml 
      

      總結

      本文介紹了 Ansible Galaxy 命令的使用,并詳談了在實際工作中你可以如何應用 Galaxy 創建的 role 到你的項目中。使用 Ansible Galaxy 來創造 Role 是一種極好的想法,也是一種理想的方式來組織和管理你不斷增長的 playbook。通過簡單、強大、無代理、快速有效地擴展基礎設施的自動化解決方案,讓自己成為更高階的運維人員,更多關于Ansible Galaxy命令的資料請關注其它相關文章!

      分享到:
      標簽:命令 實踐 服務器 示例 詳解
      用戶無頭像

      網友整理

      注冊時間:

      網站:5 個   小程序:0 個  文章:12 篇

      • 51998

        網站

      • 12

        小程序

      • 1030137

        文章

      • 747

        會員

      趕快注冊賬號,推廣您的網站吧!
      最新入駐小程序

      數獨大挑戰2018-06-03

      數獨一種數學游戲,玩家需要根據9

      答題星2018-06-03

      您可以通過答題星輕松地創建試卷

      全階人生考試2018-06-03

      各種考試題,題庫,初中,高中,大學四六

      運動步數有氧達人2018-06-03

      記錄運動步數,積累氧氣值。還可偷

      每日養生app2018-06-03

      每日養生,天天健康

      體育訓練成績評定2018-06-03

      通用課目體育訓練成績評定