saltops 安裝及相關環境安裝

本次佈署測試環境 阿里雲 Centos 7.3html

一、安裝nginx,這裏採用yum 安裝方式python

A、yum install nginxmysql

B、建立開機啓動linux

systemctl enable nginx.servicenginx

C、啓動nginxgit

systemctl start nginx.servicesql

D、默認NGINX網站目錄爲/usr/share/nginx/html,配置文件爲/etc/nginx/nginx.conf數據庫

二、安裝mysql數據庫,因爲centos7 默認yum沒有mysql庫,本次安裝的是mariadb,大小59 Mdjango

A、yum install mariadb-server mariadb json

B、建立開機啓動

systemctl enable mariadb

C、啓動mariadb

systemctl start mariadb

 

mariadb數據庫的相關命令是:

systemctl start mariadb  #啓動MariaDB

systemctl stop mariadb  #中止MariaDB

systemctl restart mariadb  #重啓MariaDB

systemctl enable mariadb  #設置開機啓動

D、mysql配置文件爲/etc/my.cnf

最後加上編碼配置

[mysql]
default-character-set =utf8

E、遠程鏈接配置

把在全部數據庫的全部表的全部權限賦值給位於全部IP地址的root用戶。

mysql> grant all privileges on *.* to root@'%'identified by 'password';

若是是新用戶而不是root,則要先新建用戶

mysql>create user 'username'@'%' identified by 'password';  

此時就能夠進行遠程鏈接了。

三、python3 安裝

A、先安裝一些我遇到的依賴問題(若是有依賴問題按提示安裝):切記必定要安裝 否則會致使 某些模塊沒法加載

yum install xz gcc zlib zlib-devel  openssl-devel sqlite-devel

B、下載官網安裝包 wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz

解壓文件

xz -d Python-3.6.1.tar.xz

tar -xvf Python-3.6.1.tar

C、進行python安裝

進入文件目錄

cd Python-3.6.1

開始安裝編譯

. / configure  - - prefix = / usr / python3. 6
make
make install
 

D、讓centos7 系統默認使用python3.6

cd  / usr / bin /
mv python python.bak
mv pip pip.bak
ln  - / usr / python3. 6 / bin / python3  / usr / bin / python
ln  - / usr / python3. 6 / bin / pip3  / usr / bin /pip
[root@python   bin ] # python
Python  3.6 . 1  (default, May  25  2017 20 : 20 : 35 )
[GCC  4.8 . 5  20150623  (Red Hat  4.8 . 5 - 11 )] on linux
Type  "help" "copyright" "credits"  or  "license"  for  more information.
>>>
 
 

E、由於yum使用的是python2,替換python3以後可能致使沒法正常工做,繼續使用這個python2.7.5由於yum使用python2,所以替換爲python3後可能沒法正常工做,繼續使用這個python2.7.5

所以修改yum配置文件(vim /usr/bin/yum)。 

把文件頭部的#!/usr/bin/python改爲#!/usr/bin/python2.7保存退出便可

若是出現如下錯誤:

File  "/usr/libexec/urlgrabber-ext-down" , line  28
     except  OSError, e:
                   ^
SyntaxError: invalid syntax
 

解決辦法是修改

vim /usr/libexec/urlgrabber-ext-down

將/usr/bin/python改成/usr/bin/python2.7

 

四、saltops 獲取及安裝

yum install git  #若是系統已安裝此忽略

chmod 777 /opt

cd /opt/ git clone http://git.oschina.net/wuwenhao/saltops.git saltops

A、請確認系統默認python 爲python3 不然請 將python更改成python3

安裝saltops依賴

cd /opt/saltops/

sudo pip install -r ./requiement.txt

 

Successfully installed Babel-2.3.4 Django-1.11.4 Flask-0.12 Jinja2-2.9.4 Markdown-2.6.7 MarkupSafe-0.23 PyInstaller-3.2 PyMySQL-0.7.11 PyYAML-3.12 Werkzeug-0.11.15 alabaster-0.7.9 amqp-1.4.9 anyjson-0.3.3 appdirs-1.4.3 arrow-0.10.0 backports-abc-0.5 better-exceptions-0.1.7 billiard-3.3.0.23 celery-3.1.25 certifi-2016.9.26 click-6.7 coverage-4.4.1 diff-match-patch-20121119 django-admin-tools-0.8.0 django-braces-1.11.0 django-celery-3.2.1 django-clever-selects-0.7.1 django-crontab-0.7.1 django-debug-toolbar-1.6 django-export-csv-0.1.2 django-filter-1.0.1 django-import-export-0.5.1 django-jet-1.0.4 django-mptt-0.8.7 django-nested-inline-0.3.6 django-post-office-2.0.8 django-queryset-csv-1.0.0 django-searchable-select-1.4.3.post1 django-smart-selects-1.5.2 django-suit-0.2.24 django-suit-dashboard-1.0.3 django-widget-tweaks-1.4.1 django-yamlfield-1.0.3 djangorestframework-3.5.3 docutils-0.13.1 futures-3.0.5 gevent-1.2.2 greenlet-0.4.12 gunicorn-19.7.1 imagesize-0.7.1 itsdangerous-0.24 jsonfield-1.0.3 kombu-3.0.37 libsaas-0.4 msgpack-python-0.4.8 packaging-16.8 psutil-5.1.0 pyparsing-2.2.0 python-dateutil-2.6.0 pytz-2017.2 pyzmq-16.0.2 requests-2.13.0 six-1.10.0 sqlparse-0.2.2 tablib-0.11.4 unicodecsv-0.14.1 xlrd-1.0.0

B、 安裝saltstack,因阿里雲自帶源,此省處添加源。。

yum install salt-master

yum install salt-minion

yum install salt-api

C、配置 saltstack

配置文件在 /etc/salt/下

修改 salt-master與salt-minion  配置文件以下

file_roots:
  base:
   - /srv/salt/

修改salt-minion 配置文件

master: 127.0.0.1   指定 salt-master主機

D、啓動salt-master

當啓動 minion端時報錯 「ImportError: No module named salt.scripts

因爲系統默認python爲 python3 請修改 /usr/bin/salt-master  /usr/bin/salt-minion  /usr/bin/salt-api  /usr/bin/salt-* 文件頭爲 #!/usr/bin/python2

而後依次將salt-master salt-minion  salt-api 加入系統啓動項目並啓動

systemctl enable salt-master

systemctl enable salt-minion

systemctl enable salt-api

 

在 /etc/salt/master 配置文件最後加上

rest_cherrypy:

  port: 8001

  debug: True

  ssl_crt: /etc/pki/tls/certs/localhost.crt

  ssl_key: /etc/pki/tls/certs/localhost.key

  disable_ssl: True

external_auth:

  pam:

    你的用戶名:

      - .*

      - '@wheel'

      - '@runner'

 

E、建立用戶給salt-api使用

建立用戶,saltapi認證使用

 
  1. useradd -M -s /sbin/nologin saltops    
  2. echo 'saltops' | passwd saltops --stdin   

在 /usr/bin目錄下執行

./salt-key -L

./salt-key -a 127.0.0.1

[root@iZ2ze6pzqmrqo3jwg680waZ bin]# salt-key list
Accepted Keys:
2
Denied Keys:
Unaccepted Keys:
Rejected Keys:

 建立自簽名證書

salt-call tls.create_self_signed_cert 

提示已經存在時,能夠刪除/etc/pki/tls/certs/localhost.crt  /etc/pki/tls/certs/localhost.key從新生成

F進行測試 

curl -k http://127.0.0.1:8001/login -H "Accept: application/x-yaml" -d username='saltops' -d password='saltops' -d eauth='pam'

#用上面那條命令拿到的token來執行下面這條命令

curl -k http://127.0.0.1:8001 -H "Accept: application/x-yaml" -H "X-Auth-Token: b69c3cb8882bbacb19ab7b09a964dd7e2a17e6a5" -d client='local' -d tgt='*' -d fun='test.ping'

return:
- '2': true

5 啓動saltops  #默認用的sqlite3,能夠換成本身喜歡的DB

 python manage.py makemigrations && python manage.py migrate

python manage.py celery worker --loglevel=info

python manage.py celery beat

python manage.py runserver 0.0.0.0:8000

至止salt-ops簡單測試完成

下一步將用wsgi+nginx 佈署

相關文章
相關標籤/搜索