安全服务链编排系统安装部署文档

本系统基于OpenStack Pike版本安装,在安装tacker之前,请确保以下模块都已正确安装部署:keystone,mistral,barbican,horizon。以上模块安装配置参考以下链接:

https://docs.openstack.org/keystone/latest/install/index.html

https://docs.openstack.org/mistral/latest/install/index.html

https://docs.openstack.org/barbican/latest/install/install.html

https://docs.openstack.org/horizon/latest/install/index.html

1.准备数据库

mysql -uroot -p

CREATE DATABASE tacker;

GRANT ALL PRIVILEGES ON tacker.* TO 'tacker'@'localhost' IDENTIFIED BY 'P1ssw0rd';

GRANT ALL PRIVILEGES ON tacker.* TO 'tacker'@'%' IDENTIFIED BY 'P1ssw0rd';

exit;

2.创建tacker用户并将其加入service服务中,赋予admin权限

openstack user create --domain default --password-prompt tacker

openstack role add --project service --user tacker admin

#设置密码为 P@ssw0rd

3.创建tacker服务实体和API

openstack service create --name tacker --description "Tacker Project" nfv-orchestration

如果使用的是keystone v3,按照下列命令创建endpoint:

openstack endpoint create --region RegionOne nfv-orchestration public http://controller:9890/

openstack endpoint create --region RegionOne nfv-orchestration internal http://controller:9890/

openstack endpoint create --region RegionOne nfv-orchestration admin http://controller:9890/

如果是keystone v2,则采用以下命令创建endpoint:

openstack endpoint create --region RegionOne --publicurl 'http://controller:9890/' --adminurl 'http://controller:9890/' --internalurl 'http://controller:9890/' <SERVICE-ID>

4.安装tacker server

cd ~/

git clone https://github.com/openstack/tacker -b stable/pike

#安装依赖包

yum -y install gcc gcc-c++

yum -y install python-devel

cd tacker

pip install -r requirements.txt

#安装tacker

python setup.py install

#创建tacker日志目录

mkdir /var/log/tacker

#生成配置文件

./tools/generate_config_file_sample.sh

#这时生成的配置文件在etc/tacker/tacker.conf.sample,需要将其重命名为tacker.conf

mv etc/tacker/tacker.conf.sample etc/tacker/tacker.conf

#创建tacker配置目录

mkdir /etc/tacker

#复制代码目录下etc/tacker所有文件到/etc/tacker

cp etc/tacker/* /etc/tacker/. -rf

5.修改配置文件

openstack-config --set /etc/tacker/tacker.conf DEFAULT auth_strategy keystone

openstack-config --set /etc/tacker/tacker.conf DEFAULT policy_file /etc/tacker/policy.json

openstack-config --set /etc/tacker/tacker.conf DEFAULT use_syslog False

openstack-config --set /etc/tacker/tacker.conf DEFAULT bind_port 9890

openstack-config --set /etc/tacker/tacker.conf DEFAULT service_plugins nfvo,vnfm

openstack-config --set /etc/tacker/tacker.conf DEFAULT state_path /var/lib/tacker

openstack-config --set /etc/tacker/tacker.conf nfvo vim_drivers openstack

openstack-config --set /etc/tacker/tacker.conf keystone_authtoken auth_url http://controller:35357

openstack-config --set /etc/tacker/tacker.conf keystone_authtoken auth_uri http://controller:5000

openstack-config --set /etc/tacker/tacker.conf keystone_authtoken memcached_servers controller:11211

openstack-config --set /etc/tacker/tacker.conf keystone_authtoken region_name RegionOne

openstack-config --set /etc/tacker/tacker.conf keystone_authtoken auth_type password

openstack-config --set /etc/tacker/tacker.conf keystone_authtoken project_domain_name default

openstack-config --set /etc/tacker/tacker.conf keystone_authtoken user_domain_name default

openstack-config --set /etc/tacker/tacker.conf keystone_authtoken project_name service

openstack-config --set /etc/tacker/tacker.conf keystone_authtoken username tacker

openstack-config --set /etc/tacker/tacker.conf keystone_authtoken password P@ssw0rd

openstack-config --set /etc/tacker/tacker.conf agent root_helper "sudo /usr/bin/tacker-rootwrap /etc/tacker/rootwrap.conf"

openstack-config --set /etc/tacker/tacker.conf database connection mysql://tacker:P1ssw0rd@controller:3306/tacker?charset=utf8

openstack-config --set /etc/tacker/tacker.conf tacker monitor_driver ping,http_ping

6.同步数据库

tacker-db-manage --config-file /etc/tacker/tacker.conf upgrade head

7.安装tacker client

cd ~/

git clone https://github.com/openstack/python-tackerclient -b stable/pike

cd python-tackerclient

python setup.py install

8.安装tacker horizon

cd ~/

git clone https://github.com/openstack/tacker-horizon -b stable/pike

cd tacker-horizon

python setup.py install

#配置tacker horizon到仪表盘面板

cp tacker_horizon/enabled/* /usr/share/openstack-dashboard/openstack_dashboard/enabled/

9.重启http服务器

systemctl restart httpd

10.启动tacker server

python /usr/bin/tacker-server --config-file /etc/tacker/tacker.conf --log-file /var/log/tacker/tacker.log &

11.将tacker设置为系统服务

cat > /usr/lib/systemd/system/openstack-tacker-server.service << EOF

[Unit]

Description=OpenStack Nova API Server

After=syslog.target network.target

[Service]

Type=notify

NotifyAccess=all

TimeoutStartSec=0

Restart=always

User=root

ExecStart=/usr/bin/tacker-server --config-file /etc/tacker/tacker.conf --log-file /var/log/tacker/tacker.log

[Install]

WantedBy=multi-user.target

EOF

#启动

systemctl start openstack-tacker-server

systemctl enable openstack-tacker-server

systemctl status openstack-tacker-server

12.注册默认的VIM(控制台也可以操作)

参考:https://www.2cto.com/net/201702/602258.html

#编写一个yaml配置文件

cat > /root/config.yaml << EOF

auth_url: http://controller.ideal.yfb0801800.islab.net.cn:5000/v3/

username: tacker

password: P@ssw0rd

project_name: service

EOF

#创建VIM

tacker vim-register --is-default --config-file /root/config.yaml test_vim

报错:

Expecting to find domain in project. The server could not comply with the request since it is either malformed or otherwise incorrect. The client is assumed to be in error. (HTTP 400)

解决:

间接受到启发:

http://www.mamicode.com/info-detail-2304452.html

https://stackoverflow.com/questions/33698861/openstack-novaclient-python-api-not-working

在config.yaml文件中添加两个domain域名即可:

user_domain_name: Default

project_domain_name: Default

报错:

status | PENDING

成功的状态应该是REACHABLE

解决:

13.错误收集

控制台上的NFV/VNF报错: “错误:Unable to get xxx”

原因是:tacker server挂掉了,验证是否挂掉:netstat -tunlp | grep 9890

解决办法:启动即可:

python /usr/bin/tacker-server --config-file /etc/tacker/tacker.conf --log-file /var/log/tacker/tacker.log &

安装tacker的更多相关文章

  1. centos8安装fastdfs6.06集群方式二之:tracker的安装/配置/运行

    一,查看本地centos的版本 [root@localhost lib]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) 说 ...

  2. linux 安装FastFdfs

    一.安装依赖软件和类库(安装前的准备) 依次执行以下命令: yum install gcc-c++ -y yum -y install zlib zlib-devel pcre pcre-devel ...

  3. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  4. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  5. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

  6. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  7. gentoo 安装

    加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...

  8. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  9. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

随机推荐

  1. 灵活部署django缓存,并使用

    使用django内置的redis=============>pip3 install django-redisCACHES = { 'default':{ 'BACKEND':'django_r ...

  2. Peter Shirley Ray Tracing in One Weekend(上篇)

    Peter Shirley-Ray Tracing in One Weekend (2016) 原著:Peter Shirley 本书是Peter Shirley ray tracing系列三部曲的第 ...

  3. BZOJ 4802: 欧拉函数 (Pollard-Rho)

    开始一直T,原来是没有srand- CODE #include<bits/stdc++.h> using namespace std; typedef long long LL; vect ...

  4. [Cypress] Find Unstubbed Cypress Requests with Force 404

    Requests that aren't stubbed will hit our real backend. To ensure we've stubbed all our routes, we c ...

  5. selenium+pyquery爬取淘宝商品信息

    import re from selenium import webdriver from selenium.common.exceptions import TimeoutException fro ...

  6. Java xml和map,list格式的转换-摘抄

    import java.io.ByteArrayOutputStream; import java.util.ArrayList; import java.util.HashMap; import j ...

  7. 单例模式(Singleton)---创建型

    1 单例模式的使用场景 (1)当创建一个对象所占用的资源很多,但同时又需要使用到该对象 (2)当堆系统内的资源要求统一读写时,比如读写的配置信息,此时必须要求创建的实例信息相同 (3)当有多个实例可能 ...

  8. map(callback)将一组元素转换成其他数组(不论是否是元素数组)

    map(callback) 概述 将一组元素转换成其他数组(不论是否是元素数组) 你可以用这个函数来建立一个列表,不论是值.属性还是CSS样式,或者其他特别形式.这都可以用'$.map()'来方便的建 ...

  9. [Luogu] 等差数列

    https://www.luogu.org/problemnew/show/P4243#sub 自己的思路错了 #include <iostream> #include <cstdi ...

  10. bbs--点赞

    bbs---点赞 需求分析 页面展示 1 点赞  和   踩灭  按钮展示 1 用户未登录,不处理点赞踩灭,给用户提供登录接口 2 登录 1 第一次点点赞/踩灭 1 点赞成功 数据+1 提示点赞成功 ...