• fleet-运行一个全局的单元


    运行一个全局的单元

    正如前面所提到的,全局单元是有用的,用于在您的集群中的所有机器上运行一个单元。它不会比一个普通的单元差太多,而是一个新的x-fleet参数称为Global=true。这是一个示例单元,用CoreOS中的数据狗来提交博客。你需要先设置一个etcd key ddapikey,本例将工作更多的细节在后。

    [Unit]
    Description=Monitoring Service
    
    [Service]
    TimeoutStartSec=0
    ExecStartPre=-/usr/bin/docker kill dd-agent
    ExecStartPre=-/usr/bin/docker rm dd-agent
    ExecStartPre=/usr/bin/docker pull datadog/docker-dd-agent
    ExecStart=/usr/bin/bash -c 
    "/usr/bin/docker run --privileged --name dd-agent -h `hostname` 
    -v /var/run/docker.sock:/var/run/docker.sock 
    -v /proc/mounts:/host/proc/mounts:ro 
    -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro 
    -e API_KEY=`etcdctl get /ddapikey` 
    datadog/docker-dd-agent"
    
    [X-Fleet]
    Global=true
    

    如果我们启动这个单元,他将在我们拥有的3台机器上运行:

    $ fleetctl start datadog.service
    $ fleetctl list-units
    UNIT                        MACHINE                 ACTIVE    SUB
    myapp.service               c9de9451.../10.10.1.3   active    running
    apache@1.service            491586a6.../10.10.1.2   active    running
    apache@2.service            148a18ff.../10.10.1.1   active    running
    apache-discovery@1.service  491586a6.../10.10.1.2   active    running
    apache-discovery@2.service  148a18ff.../10.10.1.1   active    running
    datadog.service             148a18ff.../10.10.1.1   active    running
    datadog.service             491586a6.../10.10.1.2   active    running
    datadog.service             c9de9451.../10.10.1.3   active    running
    

    全局单元可以部署到子集与MachineMetadata参数匹配的机器,这是在下一节中解释。

  • 相关阅读:
    《卓有成效的管理者》读后感
    小课堂week13 Clean Code Part2
    小课堂Week12 Clean Code Part1
    小课堂Week11 会说话的代码
    小课堂Week10 例外处理设计的逆袭Part3
    Spark菜鸟学习营Day6 分布式代码运行调试
    UML(一) 类图及类间关系
    分布式事务(一)两阶段提交及JTA
    Java线程间通信方式剖析——Java进阶(四)
    Java进阶(三)多线程开发关键技术
  • 原文地址:https://www.cnblogs.com/wanghongxu/p/5005037.html
Copyright © 2020-2023  润新知