用SaltStack實現自動部署OpenStack

一、實驗環境

系統環境 IP地址 hostname 角色
redhat7.2 172.25.27.1 controller 控制節點 、salt-minion
redhat7.2 172.25.27.2 comput 計算節點 、salt-miniom
redhat7.2 172.25.27.3 server3 salt-master

二、SaltStack安裝與配置

請參考 : 自動化運維工具SaltStack詳細部署及用SaltStack實現自動部署lamp架構

三、部署開始

[root@server3 ~]# mkdir -p /srv/salt/controller/files
[root@server3 ~]# mkdir -p /srv/salt/comput/files
[root@server3 ~]# mkdir -p /srv/salt/chrony/files
[root@server3 ~]# mkdir -p /srv/salt/pkg

1.controller

controller服務預安裝腳本

[root@server3 ~]# cd /srv/salt/controller
[root@server3 controller]# vim files/mitaka.repo 
[mitaka]
name=mitaka
baseurl=http://172.25.27.250/mitaka/mitaka/
gpgcheck=0
[root@server3 salt]# vim pkg/controller.sls 
controller:
  pkg.installed:
    - pkgs:
      - chrony
      - python-openstackclient
      - mariadb
      - mariadb-server
      - python2-PyMySQL
      - rabbitmq-server
      - memcached
      - python-memcached
      - install
      - openstack-keystone
      - httpd
      - mod_wsgi
      - openstack-glance
      - openstack-nova-api
      - openstack-nova-conductor
      - openstack-nova-console
      - openstack-nova-novncproxy
      - openstack-nova-scheduler
      - nstall
      - openstack-neutron
      - openstack-neutron-ml2
      - openstack-neutron-linuxbridge
      - ebtables

controller服務安裝腳本

[root@server3 salt]# vim controller/install.sls
install_pkgs:
  file.managed:
    - name: /etc/yum.repos.d/mitaka.repo
    - source: salt://controller/files/mitaka.repo
    - user: root
    - group: root
    - mode: 644

include:
  - pkg.controller

/etc/chrony.conf:
  file.managed:
    - source: salt://controller/files/chrony.conf

/etc/my.cnf.d/openstack.cnf:
  file.managed:
    - source: salt://controller/files/openstack.cnf

/etc/sysconfig/memcached:
  file.managed:
    - source: salt://controller/files/memcached

/etc/keystone/keystone.conf:
  file.managed:
    - source: salt://controller/files/keystone.conf

/etc/httpd/conf/httpd.conf:
  file.managed:
    - source: salt://controller/files/httpd.conf

/etc/httpd/conf.d/wsgi-keystone.conf:
  file.managed:
    - source: salt://controller/files/wsgi-keystone.conf

/admin-openrc:
  file.managed:
    - source: salt://controller/files/admin-openrc

/demo-openrc:
  file.managed:
    - source: salt://controller/files/demo-openrc

/etc/glance/glance-api.conf:
  file.managed:
    - source: salt://controller/files/glance-api.conf

/etc/glance/glance-registry.conf:
  file.managed:
    - source: salt://controller/files/glance-registry.conf

/etc/nova/nova.conf:
  file.managed:
    - source: salt://controller/files/nova.conf

/etc/neutron/neutron.conf:
  file.managed:
    - source: salt://controller/files/neutron.conf

/etc/neutron/plugins/ml2/ml2_conf.ini:
  file.managed:
    - source: salt://controller/files/ml2_conf.ini

/etc/neutron/plugins/ml2/linuxbridge_agent.ini:
  file.managed:
    - source: salt://controller/files/linuxbridge_agent.ini

/etc/neutron/dhcp_agent.ini:
  file.managed:
    - source: salt://controller/files/dhcp_agent.ini

/etc/neutron/metadata_agent.ini:
  file.managed:
    - source: salt://controller/files/metadata_agent.ini

/etc/nova/nova.conf:
  file.managed:
    - source: salt://controller/files/nova.conf

controller服務啓動腳本

[root@server3 salt]# vim controller/servies.sls
include:
  - controller.install

Sync_Host:
  file.managed:
    - name: /etc/hosts
    - source: salt://controller/files/hosts
    - user: root
    - group: root
    - mode: 644

stop_selinux_firewalld:
  file.managed:
    - name: /tmp/stop_firewalled.sh
    - source: salt://controller/files/stop_firewalled.sh
    - mode: 755
  cmd.run:
    - name: cd /tmp && ./stop_firewalled.sh

ntp_running:
  service.running:
    - name: chronyd
    - enable: True
    - watch:
      - file: /etc/chrony.conf

sync_time:
  cmd.run:
    - name: chronyc sources

httpd-running:
  service.running:
    - name: httpd
    - enable: true
    - watch:
      - file: /usr/local/apache/conf/httpd.conf

mariadb-running:
  service.running:
    - name: mariadb
    - enable: true

。。。

暫時寫到這裏,只完成了九牛一毛,後續再完善

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章