V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
halida
V2EX  ›  DevOps

有什么利用配置文件定义服务器的工具,类似 ansible 但是是针对服务器的

  •  
  •   halida · 2017-02-16 17:53:52 +08:00 · 3642 次点击
    这是一个创建于 2624 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近研究了 ansible ,打算更进一步来自动化配置服务器。

    比如我写一个配置 servers.yml :

    groups:
      all:
        production:
          - "db"
          - "app"
    servers:
      - name: db
        provider: digitalocean
        image: 'ubuntu-16-04-x64'
        size: '512mb'
        region: 'sgp1'
        admin: deployer
      - name: app
        provider: digitalocean
        image: 'ubuntu-16-04-x64'
        size: '512mb'
        region: 'sgp1'
        admin: deployer
    

    同时还有 config.yml 里面有 digitalocean 的 token 。

    之后就可以执行命令: update-server server.yml -c config.yml -o server-generated.yml update-server 可以重复执行,已经创建的服务器就会跳过

    会连上 digitalocean ,创建 server ,生成 server-generated.yml ,里面会有新服务器的 IP

    然后创建 ansible 的服务器列表 create-ansible config server.yml server-generated.yml -o inv.ini

    然后写各个 server 的 playbook 。

    这样的好处就是针对服务器的变更都是通过配置文件来修改,跟踪架构的变化, 同时看配置文件就知道多服务器系统怎么搭的了。

    请问现在有没有类似的工具?谢谢~

    8 条回复    2017-02-17 16:27:46 +08:00
    jianyunet
        1
    jianyunet  
       2017-02-16 18:05:49 +08:00
    ansilbe 是通用工具,本来就可以用
    xderam
        2
    xderam  
       2017-02-16 18:54:00 +08:00   ❤️ 1
    https://www.packer.io
    {
    "variables": {
    "aws_access_key": "",
    "aws_secret_key": ""
    },
    "builders": [{
    "type": "amazon-ebs",
    "access_key": "{{user `aws_access_key`}}",
    "secret_key": "{{user `aws_secret_key`}}",
    "region": "us-east-1",
    "source_ami": "ami-fce3c696",
    "instance_type": "t2.micro",
    "ssh_username": "ubuntu",
    "ami_name": "packer-example {{timestamp}}"
    }]
    }

    应该是你需要的。 hashicorp 家有一整套你想要的工具链。
    xderam
        3
    xderam  
       2017-02-16 18:55:17 +08:00
    楼主是什么场景下用的这个呢?很好奇。
    chenqh
        4
    chenqh  
       2017-02-16 22:48:58 +08:00
    不懂。。
    DravenJohnson
        5
    DravenJohnson  
       2017-02-17 02:11:42 +08:00
    ansible 不能用在服务器么?
    halida
        6
    halida  
    OP
       2017-02-17 12:38:53 +08:00
    @DravenJohnson ansible 不能创建服务器
    halida
        7
    halida  
    OP
       2017-02-17 12:40:55 +08:00
    @DravenJohnson 哦看了一下真的有,比如:
    http://docs.ansible.com/ansible/digital_ocean_module.html

    不过不知道怎么按照我的想法来设置
    halida
        8
    halida  
    OP
       2017-02-17 16:27:46 +08:00   ❤️ 1
    看到一个教程:
    https://the.binbashtheory.com/using-ansible-with-digitalocean/
    看来可以实现我的想法,就是写一个创建 server 的 playbook 就好了,
    然后可以用脚本获得 digitalocean 的 servers 作为 inventory
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3137 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:56 · PVG 22:56 · LAX 07:56 · JFK 10:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.