1. 程式人生 > >【Linux】【Services】【SaaS】Docker+kubernetes(4. 用ansible管理機器和軟件)

【Linux】【Services】【SaaS】Docker+kubernetes(4. 用ansible管理機器和軟件)

實現 service SDR https 輸出 公司 keygen /etc slave

1. 簡介

1.1. 公司環境使用的puppet,但是我更喜歡ansible,原因有二,第一,我是紅帽的忠粉:),第二,我對python比較熟悉

1.2. ansible官方網站:https://www.ansible.com/

1.3. ansible中文文檔網站:http://www.ansible.com.cn/

2. 環境

2.1. ansible:ansible-2.4.2.0-1.el7

3. 安裝

3.1. 直接yum就好

yum install ansible

4. 配置

4.1. 生成ssh key

ssh-keygen -t rsa

4.2. 在10.30.2.81這臺DNS服務器上把服務器列表取出來

cat /var/named/hccos.cn.zone |grep 172|awk {print $1,$4}|sed "s/ 172/.hccos.cn #172/g"

4.3. 把上一步輸出的機器列表粘貼在/etc/ansible/hosts裏面,給分到default組裏面

[default]
hctjosinfra01.hccos.cn #172.16.0.81
hctjosinfra02.hccos.cn #172.16.0.82
hctjosetcd01.hccos.cn #172.16.0.83
hctjosetcd02.hccos.cn #172.16.0.84
hctjosetcd03.hccos.cn #
172.16.0.85 hctjcephmon01.hccos.cn #172.16.0.86 hctjcephmon02.hccos.cn #172.16.0.87 hctjcephmon03.hccos.cn #172.16.0.88 hctjcephadm01.hccos.cn #172.16.0.89 hctjosk8smaster01.hccos.cn #172.16.0.90 hctjosk8sslave01.hccos.cn #172.16.0.91 hctjosk8sslave02.hccos.cn #172.16.0.92 hctjcephblock01.hccos.cn #172.16.0.93 hctjcephblock02.hccos.cn #
172.16.0.94 hctjosk8snode01.hccos.cn #172.16.0.95 hctjosk8snode02.hccos.cn #172.16.0.96 hctjosk8snode03.hccos.cn #172.16.0.97 hctjosk8snode04.hccos.cn #172.16.0.98 hctjosadm01.hccos.cn #172.16.0.99 hctjosmysql01.hccos.cn #172.16.0.25 hctjosmysql02.hccos.cn #172.16.0.26 hctjosmysql03.hccos.cn #172.16.0.27 hctjoscache01.hccos.cn #172.16.0.45 hctjoscache02.hccos.cn #172.16.0.46 hctjoscache03.hccos.cn #172.16.0.47 hctjosdr01.hccos.cn #172.16.0.48 hctjosdr02.hccos.cn #172.16.0.49

4.4. 吧ssh-key拷貝的目標主機上實現免密碼登錄

for i in $(grep hctj /etc/ansible/hosts |grep -o "#.*"|cut -d# -f2); do ssh-copy-id $i; done

4.5. 在/etc/ansible下吧架構搭起來

[root@hctjosadm01 etc]# tree /etc/ansible/
/etc/ansible/
├── ansible.cfg
├── hosts
├── main.yaml
└── roles
    ├── cache
    │   └── cache.yaml
    ├── ceph
    │   └── ceph.yaml
    ├── default
    │   ├── default.yaml
    ├── dr
    │   └── dr.yaml
    ├── etcd
    │   └── etcd.yaml
    ├── k8s
    │   └── k8s.yaml
    └── mysql
        └── mysql.yaml

8 directories, 11 files

4.6. 編輯main.yaml

【Linux】【Services】【SaaS】Docker+kubernetes(4. 用ansible管理機器和軟件)