1. 程式人生 > >用SaltStack實現自動部署OpenStack

用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安裝與配置

三、部署開始

[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服務預安裝指令碼

[[email protected] ~]# cd /srv/salt/controller
[[email protected] controller]# vim files/mitaka.repo 
[mitaka]
name=mitaka
baseurl=http://172.25.27.250/mitaka/mitaka/
gpgcheck=0
[
[email protected]
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服務安裝指令碼

[[email protected] 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服務啟動指令碼

[[email protected] 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

。。。

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

相關推薦

SaltStack實現自動部署OpenStack

一、實驗環境 系統環境 IP地址 hostname 角色 redhat7.2 172.25.27.1 controller 控制節點 、salt-minio

轉載:Gitlab+Jenkins鉤子實現自動部署

    系統環境: Gitlab主機 IP:192.168.1.2     用ssh金鑰連通兩臺主機ip1.2和ip1.3。 Jenkins主機 IP:192.168.1.3  

使用 webhooks 實現自動部署

git webhooks 自動部署 shell 工作中常使用 webhooks 來實現自動部署,總寫都放在 oneNote 上面了,體會不到分享的樂趣,現在拿出來進行分享,希望大家在工作中能夠遊刃有余 ubuntu 安裝 git 客戶端 sudo apt install git 查看版本 g

ssh采expect實現自動輸入密碼登錄、拷貝

cep .html tro from 效果 方式 目標 led 交互 1. 引言 最近做了一個項目,需要頻繁與另一臺主機進行文件的傳輸;中間想到了很多方式:FTP、samba、curl等,但是還是感覺scp最好用。 SCP使用教程可參閱:http://www.jb51.

nodeMailer實現自動傳送一個簡單的郵件

package.json:   "nodemailer": "^2.3.2", "nodemailer-smtp-transport": "^2.4.2"     ^ :向

windows實現自動部署jar包執行程式

windows執行jar包還是比較簡單的,這邊部落格只是把啟動的命令打包成一個windows可執行的bat檔案下面就說一下吧 首先在windwos放置jar包的位置,新建start.bat檔案 檔案內容如下 @echo off java -jar doctor

Ubuntu下devstack單節點部署Openstack

虛擬機設置 admin ase -c align 根據 all ref 使用 一、實驗環境   本實驗是在Vmware Workstation下創建的單臺Ubuntu服務器版系統中,利用devstack部署的Openstack Pike版。   宿主機:win10 1803

Python 實現自動刷抖音小姐姐!

前言 都說抖音有毒,一刷就停不下來了,看來抖音這款產品緊緊抓住了人們內心深處的某些需求。當然今天不是來探討抖音這款產品的啊。今天我們來學習如何用Python實現自動刷抖音,併為顏值高的的小哥哥小姐姐點贊並評論。 專案環境 語言:Python3 編輯器:Pycharm 其他工具:手

Python實現自動特徵工程

任何參與過機器學習比賽的人,都能深深體會特徵工程在構建機器學習模型中的重要性,它決定了你在比賽排行榜中的位置。 特徵工程具有強大的潛力,但是手動操作是個緩慢且艱鉅的過程。Prateek Joshi,是一名資料科學家,花了不少時間研究多種特徵,並從不同角度分析其可行性。 現

厲害了,Python實現自動掃雷!(附帶原始碼)

  自動掃雷一般分為兩種,一種是讀取記憶體資料,而另一種是通過分析圖片獲得資料,並通過模擬滑鼠操作,這裡我用的是第二種方式。 學習Python中有不明白推薦加入交流群              

python實現自動搜尋答題,上網課輕鬆不掛科!

自從同學用Python開發出了自動搜尋答案後,每次網課(選修)他都在玩遊戲,而我們作死的在百度搜答案!   學習Python中有不明白推薦加入交流裙                 號:73593

Linux下實現自動部署jar包

Git+ Github + Maven + Linux實現自動部署jar包 #拉取程式碼 echo pull project cd /code/weixin-serv

非maven專案利用jenkin實現自動部署

所在的公司,現在想要利用jenkins實現自動化的部署,目標是,在eclipse上修改,將程式碼提交到團隊的github中央倉庫上,之後,利用jenkins連線github,在jenkins上裡面將專案打包成一個ear包(實際上裡面包含兩個war用於前後端的釋出

Jquery實現自動填充

//js前臺程式碼<head id="Head1" runat="server"> <title>google</title> <link href="css/jquery.autocomplete.css" rel

js實現自動求和(積)功能

<body> <form>form1"> <input> <input type="text" name="text2"> <input> <input type="text" name="text4"

關於使用rsync實現自動部署

這幾天聽學長說除了使用github的webhooks可以實現自動部署外,其實個人的程式碼有一種更為簡單的自動部署到伺服器上的方式,那就是使用rsync這一款軟體! Linux下面這款軟體我試下應該是自

ibatis主鍵生成方式 序列實現自動增長 查詢方式

select seqname.currval from dual   查詢序列當前值 select seqname.nextval from dual   查詢序列下一值 主鍵用序列來建立       1.先新建一個序列SEQ_RD_CI_APPSUBSYSTEM_ID  

js實現自動獲取身份證裡面的資訊

輸入身份證號:出生日期:性別: 輸入身份證號:<input type="text" id="id" name="id" value=""> 出生日期:<input type="tex

git碼雲配置web hook鉤子實現自動部署,git許可權等問題,LAMP

由於部落格搬家,我的部落格將在: 懶惰的夜貓子  上釋出 點選下方連結即檢視: __________________________________________________________________ 這幾天用git的時候就看到git有一個非

svn+post-commit實現自動部署

一、安裝 #yum install subversion 檢查是否安裝了svn #subversion –v 建立svn庫和對應的目錄 #mkdir /svn/www.test.com #svnadmin create /svn/www.test.com 二、配置 建立登入svn的使用者和密碼 #vim