• 通过ansible安装etcd集群


     最近打算用ansible写部署HA的k8s集群,部署etcd集群是第一步,写了一个部署etcd集群的role,特记录下来。

    1  创建相关目录

    2  创建ansible inventory文件,文件里需要写etcd集群的每个member的名字作为主机变量,另外环境写的是需要执行的主机的主机名,需要主机名写入/etc/hosts文件或者dns解析。

    3 把etcd集群的初始化信息写入group变量。

    4  roles中etcd.conf的template对变量的引用

    5 执行playbook

    6、执行结果

    7 总结分析 

            7.1  利用ansible执行部署或者变更,前提是对某个应用手工部署非常了解,部署流程和配置项了然如胸,在此基础上,把一些手工执行的命令用ansible对应模块实现,仅此而已。

           7.2  etd集群role中tasks文件的main.yml,操作无非是传输文件,创建目录,用户等,难点在etcd集群启动配置中,ETCD_NAME(etcd启动的--name参数)是每个主机标识自己在集群中名字的,在集群中要唯一,适合作为每个主机自己的变量,但是ETCD_INITIAL_CLUSTER(etcd启动的-initial-cluster参数)又是group参数,且是建立每个主机变量组合的基础上,笔者搜索很多ansible脚本,实现都是将ETCD_INITIAL_CLUSTER在变量中写死(笔者上述演示基于此重方法.group_vars中写死变量),灵活性不够。

    https://github.com/gjmzj/kubeasz/blob/master/example/hosts.m-masters.example

    https://github.com/gjmzj/kubeasz/blob/master/roles/etcd/templates/etcd.service.j2

       

    7.3  将主机变量组合为group变量的解决办法(利用jinja2的macro方式)

    下载:http://download.csdn.net/download/qqhappy8/10217937

    参考:

    1  https://github.com/kubernetes/contrib/tree/master/ansi

  • 相关阅读:
    再学梳理数据指标体系
    mac下Robot Framework-demo脚本
    Robot Framework-环境搭建
    Tensorflow学习笔记No.11
    Tensorflow学习笔记No.10
    Tensorflow学习笔记No.9
    Tensorflow学习笔记No.8
    Tensorflow学习笔记No.7
    Tensorflow学习笔记No.6
    Tensorflow学习笔记No.4.2
  • 原文地址:https://www.cnblogs.com/360linux/p/13062093.html
Copyright © 2020-2023  润新知