安装tacker
安全服务链编排系统安装部署文档
本系统基于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的更多相关文章
- centos8安装fastdfs6.06集群方式二之:tracker的安装/配置/运行
一,查看本地centos的版本 [root@localhost lib]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) 说 ...
- linux 安装FastFdfs
一.安装依赖软件和类库(安装前的准备) 依次执行以下命令: yum install gcc-c++ -y yum -y install zlib zlib-devel pcre pcre-devel ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...
- Sublime Text3安装JsHint
介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- gentoo 安装
加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...
- 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. ...
- 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 服务器安装操 ...
随机推荐
- JavaScript中的类(Class)
基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到的,新的class写法是让对象原型的写法更加清晰,更像面向对象编程的语法而已. ES5生成例对象传统方法是通过构造函 ...
- 第四章 Jinja2模版
模板简介: 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中的页面大多是带有样式和复杂逻辑的HTML代码,这可以让浏览器渲染出非常漂亮的页面.目前市面上有非常多的模板系统,其中最知名好用的 ...
- windows下C语言头文件的运用
头文件 singnext.dingswords printf("终止我每丝呼吸,让心灵穿透所有的秘密\n"); 头文件 singtocj.h printf("当无数的日月 ...
- 【bzoj3083】遥远的国度(树链剖分+线段树)
题目描述 zcwwzdjn在追杀十分sb的zhx,而zhx逃入了一个遥远的国度.当zcwwzdjn准备进入遥远的国度继续追杀时,守护神RapiD阻拦了zcwwzdjn的去路,他需要zcwwzdjn完成 ...
- Java中的集合Collection、Iterator和Foreach用法(一)
1.Java集合概述 在编程中,常常需要集中存放多个数据.当然我们可以使用数组来保存多个对象.但数组长度不可变化,一旦在初始化时指定了数组长度,则这个数组长度是不可变的,如果需要保存个数变化的数据,数 ...
- centos6.5解压及压缩zip压缩包
查看zip压缩文件的内容而不解压:unzip -l filename.zip 将zip包解压到指定路径(若不指定路径则为当前目录):unzip filename.zip -d /usr/file 压缩 ...
- Zabbix 数据库迁移
背景:ZABBIX的环境是LNMP,MySQL的架构是M-M主备模式,单台服务器SSD硬盘800G.监控主机日渐增多,空间不足,迁移到同样架构下的SAS盘2T空间. 架构:A 192.168.0.10 ...
- jQuery的$符号
jQuery使用$的原因是: 书写简洁, 相对于其他字符与众不同, 容易被记住. JQuery占用了两个变量: $ 和 jQuery. 当在代码中打印 $ 和 jQuery时: <script ...
- nginx静态页面镜像
user root; worker_processes ; #error_log logs/error.log; #error_log logs/error.log notice; #error_lo ...
- vue 循环Redio
标准用法,做个笔记.(图示是elementUI,其他框架大同小异) <el-radio-group @change="changePayHandler" v-model=&q ...