入门篇-contrail-command(对接openstack)All-In-One
基础环境
系统:
centos7.6(3.10.0-957) 64G内存 500G磁盘
关闭防火墙
systemctl disable firewalld
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
安装依赖包
yum install python-devel gcc -y
设置主机名
hostnamectl set-hostname opcontroller
hosts文件
[root@bogon ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.49.252.200 ctfdeploy
10.49.252.201 opopenstack
登录ctfdeploy节点进行部署
安装docker
[root@ctfdeploy ~]yum install -y yum-utils device-mapper-persistent-data lvm2
[root@ctfdeploy ~]yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
[root@ctfdeploy ~]yum install -y docker-ce-18.06.0.ce
[root@ctfdeploy ~]systemctl start docker && systemctl enable docker
拉取contrail-command-deployer镜像
[root@ctfdeploy ~]docker login hub.juniper.net --username xxxx --password xxxxxx
[root@ctfdeploy ~]docker pull hub.juniper.net/contrail/contrail-command-deployer:1909.30
下面参数默认就可以一会web ui 可以更改
[root@ctfdeploy ~]# egrep -v "^#|^$|*#" command_servers1910.yml
[root@ctfdeploy ~]# egrep -v "^#|^$|*#" command_servers1910.yml
---
command_servers:
server1:
ip: 10.49.252.200
connection: ssh
ssh_user: root
ssh_pass: abc@123
sudo_pass: abc@123
ntpserver: ntp1.aliyun.com
registry_insecure: false
container_registry: hub.juniper.net/contrail
container_name: contrail-command
container_tag: 1910.23
container_registry_username: xxxxxxxxxxxxxxxxx
container_registry_password: yyyyyyyyyyyyyyy
config_dir: /etc/contrail
contrail_config:
database:
type: postgres
dialect: postgres
host: localhost
user: root
password: contrail123
name: contrail_test
max_open_conn: 100
connection_retries: 10
retry_period: 3s
log_level: debug
cache:
enabled: true
timeout: 10s
max_history: 100000
rdbms:
enabled: true
server:
enabled: true
read_timeout: 10
write_timeout: 5
log_api: true
address: ":9091"
tls:
enabled: true
key_file: /usr/share/contrail/ssl/cs-key.pem
cert_file: /usr/share/contrail/ssl/cs-cert.pem
enable_grpc: false
static_files:
/: /usr/share/contrail/public
notify_etcd: false
enable_vnc_replication: true
keystone:
local: true
assignment:
type: static
data:
domains:
default: &default
id: default
name: default
projects:
admin: &admin
id: admin
name: admin
domain: *default
demo: &demo
id: demo
name: demo
domain: *default
users:
admin:
id: admin
name: Admin
domain: *default
password: contrail123
email: admin@juniper.nets
roles:
- id: admin
name: admin
project: *admin
bob:
id: bob
name: Bob
domain: *default
password: bob_password
email: bob@juniper.net
roles:
- id: Member
name: Member
project: *demo
store:
type: memory
expire: 36000
insecure: true
authurl: https://localhost:9091/keystone/v3
insecure: true
etcd:
endpoints:
- localhost:2379
username: ""
password: ""
path: contrail
watcher:
enabled: false
storage: json
client:
id: admin
password: contrail123
project_name: admin
domain_id: default
schema_root: /
endpoint: https://localhost:9091
compilation:
enabled: false
plugin_directory: 'etc/plugins/'
number_of_workers: 4
max_job_queue_len: 5
msg_queue_lock_time: 30
msg_index_string: 'MsgIndex'
read_lock_string: "MsgReadLock"
master_election: true
plugin:
handlers:
create_handler: 'HandleCreate'
update_handler: 'HandleUpdate'
delete_handler: 'HandleDelete'
agent:
enabled: true
backend: file
watcher: polling
log_level: debug
启动contrail-command-deployer容器(用来部署contrail和openstack、K8S、OpenShift)
[root@ctfdeploy ~]# docker run -td --net host -v /root/ctf.yml:/command_servers.yml --privileged --name contrail_command_deployer hub.juniper.net/contrail/contrail-command-deployer:1910.23
6bacc0541e5b37e445c4f0a48bac9a25340c4592a4fa1df1919579e15bde1770
登录Contrail-command web UI
https://10.49.252.200:9091/ 用户名admin 密码contrail123
1、添加机器

2、配置仓库源等信息

3、选择Control Nodes节点
选择opcontroller
4、配置openstack选项

5、选择计算节点
选择opcontroller
下一步直到完成,部署开始了
查看部署日志(节点)
[root@ctfdeploy ~]# docker logs -f contrail_command_deployer

部署日志查看(由于网络问题问题经常出现timeout错误就需要重新跑下):
docker exec contrail_command tail -f /var/log/contrail/deploy.log
登录OpenStack dashboard
admin/contrail123

创建的端口类型是vroute

登录TF dashboard
admin/contrail123
查看port

contrail-command这个是商业版的UI部署工具,底层也是通过contrail-ansible-deployer来部署https://github.com/Juniper/contrail-ansible-deployer,拿不到contrail-command 工具小伙伴的可以使用contrail-ansible-deployer 部署
入门篇-contrail-command(对接openstack)All-In-One的更多相关文章
- Swift入门篇-Hello World
提示:如果您使用手机和平板电脑看到这篇文章,您请在WIFI的环境下阅读,里面有很多图片, 会浪费很多流量. 博主语文一直都不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 最近这2天主要 ...
- [转载]ios入门篇 -hello Word(1)
温馨提示:,如果您使用移动终端阅读本篇文章,请连接wifi的情况下阅读,里面有大量图片,以免造成您不必要的损失. 潜水博客园很多年,闲来无事,聊一下自己的经历,语文不好(如有什么错别字,请您在下评 ...
- 【N年前的文章脑补:HttpHandler HttpModule入门篇】
HttpHandler HttpModule入门篇 ASP.Net处理Http Request时,使用Pipeline(管道)方式,由各个HttpModule对请求进行处理,然后到达 HttpHand ...
- sed修炼系列(一):花拳绣腿之入门篇
本文为花拳绣腿招式入门篇,主要目的是入门,为看懂sed修炼系列(二):武功心法做准备.虽然是入门篇,只介绍了基本工作机制以及一些选项和命令,但其中仍然包括了很多sed的工作机制细节.对比网上各sed相 ...
- Linux入门篇(三)——文件与目录
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- Pandas系列之入门篇
Pandas系列之入门篇 简介 pandas 是 python用来数据清洗.分析的包,可以使用类sql的语法方便的进行数据关联.查询,属于内存计算范畴, 效率远远高于硬盘计算的数据库存储.另外pand ...
- Redis详解入门篇
Redis详解入门篇 [本教程目录] 1.redis是什么2.redis的作者3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介 ...
- 私有仓库GitLab快速入门篇
私有仓库GitLab快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 安装文档请参考官网:https://about.gitlab.com/installation/#ce ...
- ios入门篇 -hello Word(1)
温馨提示:,如果您使用移动终端阅读本篇文章,请连接wifi的情况下阅读,里面有大量图片,以免造成您不必要的损失. 潜水博客园很多年,闲来无事,聊一下自己的经历,语文不好(如有什么错别字,请您在下评 ...
- SpringMVC.入门篇《二》form表单
SpringMVC.入门篇<二>form表单 项目工程结构: 在<springmvc入门篇一.HelloWorld>基础上继续添加代码,新增:FormController.ja ...
随机推荐
- NSGA-II算法学习
什么是支配: 支配就是统治,在各方面都优于其余个体 如个体i支配个体j,就说明个体i在所有目标函数的表现上都不差于个体j,并且至少在一个目标上优于个体j: 什么是非支配: 非支配就是个体在种群中是最优 ...
- 为什么需要cookie和session
为什么需要cookie和session 在Web发展史中,我们知道浏览器与服务器间采用的是 http协议,而这种协议是无状态的,所以这就导致了服务器无法知道是谁在浏览网页,但很明显,一些网页需要知 ...
- 反射调用异常InvocationTargetException和代理类抛出异常
反射调用方法,如果方法抛出异常,会被包装成InvocationTargetException. 如果反射对象被代理了,在代理类中抛出异常,不会被包装成InvocationTargetException ...
- element UI中的select选择器的change方法需要传递多个值
如果直接调用change事件,不传任何参数,则可以获取到当前选中的值(因为默认会将event参数传递过去) 场景: 你需要将select选择器 ”选中的当前元素“ 和 ”其他你需要的值“ 一起传递过去 ...
- git 下载指定tag版本的源码<转>
git clone --branch x.x.x https://xxx.xxx.com/xxx/xxx.git 原文地址:https://blog.csdn.net/weixin_30617561/ ...
- Promise和Observable的映射
前言 promise解决了嵌套地狱的问题,Observable解决了promise只有一个结果,和不可以取消的问题. 使用的是rxjs6版本. 这篇文章是方便使用Observable的API替换Pro ...
- http 请求方式解析
表单中<form></form>, 如果使用method="get"方式提交,则不会指定请求体编码方式.默认请求参数使用?拼接到url之后.如:http:/ ...
- 支付宝小程序开发——获取位置API没有城市区号的最佳处理方案
前言: 需要对城市区号进行判断,但是支付宝小程序提供的my.getLocation() API返回的数据中只有6位的城市行政代码,诸如:深圳(440300),并没有区号(0755),那么怎么办呢? 需 ...
- Navicat连接MySQL8.0出现1251-Client does not support authentication protocol requested by server;
因为安装的MySQL是8.0版本的,因为在安装的时候采用了新的加密方式. 我们需要使用 cmd命令,连接mysql 1. 更改加密方式 mysql> ALTER USER 'root'@'l ...
- LwIP应用开发笔记之七:LwIP无操作系统HTTP服务器
前面我们实现了TCP服务器和客户端的简单应用,接下来我们实现一个基于TCP协议的应用协议,那就是HTTP超文本传输协议 1. HTTP协议简介 超文本传输协议(Hyper Text Transf ...