惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
DataBreaches.Net
腾讯CDC
GbyAI
GbyAI
I
InfoQ
博客园 - Franky
G
Google Developers Blog
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
Vercel News
Vercel News
博客园_首页
MyScale Blog
MyScale Blog
Martin Fowler
Martin Fowler
N
Netflix TechBlog - Medium
V
V2EX
T
The Blog of Author Tim Ferriss
M
MIT News - Artificial intelligence
雷峰网
雷峰网
H
Hackread – Cybersecurity News, Data Breaches, AI and More
大猫的无限游戏
大猫的无限游戏
The GitHub Blog
The GitHub Blog

Hi,I`m lan

MCP协议新进展: 使用 Streamable HTTP 替换当前的 HTTP+SSE 实现。-liangyuanpeng 的博客 我的 AI 员工们开发的微信小程序上线了!-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog vercel 记录-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog [长期更新]cocos creator问题列表-liangyuanpeng 的博客 | liangyuanpeng's Blog go问题列表记录-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog node镜像的更多选择-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog containerd 中的弃用警告 - 为 2.0 做好准备!-liangyuanpeng 的博客 liangyuanpeng 的博客 | liangyuanpeng's Blog kep-1880-多服务CIDR-liangyuanpeng 的博客 | liangyuanpeng's Blog [长期更新]argoworkflow 的一些实践和思考-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog 将Etcd作为一个kubernetes sig来运作-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog argoworkflow 云原生工作流引擎-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog kubecon china 2023将在上海举办-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog
liangyuanpeng 的博客 | liangyuanpeng's Blog
2021-04-26 · via Hi,I`m lan

TOC

前言

本文长期更新,欢迎投稿:)

入门用法

这个只是记录一下最简单的一个用法示例

---
- hosts: deploy
  vars:

  tasks:

    - name: create fold
      shell: mkdir -p /root/dev/lank8s

    - name: copy yaml
      copy:
        src: /home/lan/repo/git/lank8s/deploy/test/files/
        dest: /root/dev/lank8s/

    - name: docker-compose up
      shell: cd /root/dev/lank8s && docker-compose -f docker-compose-parser.yml up -d && docker-compose -f docker-compose-ecf.yml up -d

    - name: docker-compose ps
      shell: cd /root/dev/lank8s && docker-compose -f docker-compose-parser.yml ps
ansible-playbook -i ansible/hostfile ansible/book.yml

上述配置以及命令表示 调用 ansible-playbook 去对一组机器执行一批命令,一组机器的组名为 deploy,一批命令则是各个 tasks.

命令的效果是在远程机器上做如下操作:

  1. 创建目录 /root/dev/lank8s
  2. 复制本机器 /home/lan/repo/git/lank8s/deploy/test/files/ 下的文件到远程机器的 /root/dev/lank8s/
  3. 在远程机器执行命令 cd /root/dev/lank8s && docker-compose -f docker-compose-parser.yml up -d && docker-compose -f docker-compose-ecf.yml up -d
  4. 在远程机器执行命令 cd /root/dev/lank8s && docker-compose -f docker-compose-parser.yml ps

常用/关键

直接在当前机器执行命令

ansible -i localhost ansible-playbook -i localhost book.yml

无论是否失败,一定执行某个 ansible-playbook 的 task

    - name: always task
      always: yes
      tags:
        - always
      register: always_task
      command: /usr/bin/true

我的 ansible-playbook 版本是 2.15.2,一开始这样用总是报错,提示有语法错误,最终改成下面的方式,使用 tags, (似乎也不行 :( )

    - name: always task
      tags:
        - always
      register: always_task
      command: /usr/bin/true

实践场景

CI/CD

目前我将 ansible-playbook 用作的场景有以下:

  • 自动化部署,批量在多台机器上基于 docker-compose 部署服务
  • CI, 当做 CI 来执行一些编译构建任务

微信公众号

扫描下面的二维码关注我们的微信公众号,第一时间查看最新内容。同时也可以关注我的Github,看看我都在了解什么技术,在页面底部可以找到我的Github。

wechat-qrcode