基础环境

系统:

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

https://10.49.252.201:8143

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的更多相关文章

  1. Swift入门篇-Hello World

    提示:如果您使用手机和平板电脑看到这篇文章,您请在WIFI的环境下阅读,里面有很多图片, 会浪费很多流量. 博主语文一直都不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 最近这2天主要 ...

  2. [转载]ios入门篇 -hello Word(1)

    温馨提示:,如果您使用移动终端阅读本篇文章,请连接wifi的情况下阅读,里面有大量图片,以免造成您不必要的损失.   潜水博客园很多年,闲来无事,聊一下自己的经历,语文不好(如有什么错别字,请您在下评 ...

  3. 【N年前的文章脑补:HttpHandler HttpModule入门篇】

    HttpHandler HttpModule入门篇 ASP.Net处理Http Request时,使用Pipeline(管道)方式,由各个HttpModule对请求进行处理,然后到达 HttpHand ...

  4. sed修炼系列(一):花拳绣腿之入门篇

    本文为花拳绣腿招式入门篇,主要目的是入门,为看懂sed修炼系列(二):武功心法做准备.虽然是入门篇,只介绍了基本工作机制以及一些选项和命令,但其中仍然包括了很多sed的工作机制细节.对比网上各sed相 ...

  5. Linux入门篇(三)——文件与目录

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

  6. Pandas系列之入门篇

    Pandas系列之入门篇 简介 pandas 是 python用来数据清洗.分析的包,可以使用类sql的语法方便的进行数据关联.查询,属于内存计算范畴, 效率远远高于硬盘计算的数据库存储.另外pand ...

  7. Redis详解入门篇

    Redis详解入门篇 [本教程目录] 1.redis是什么2.redis的作者3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介 ...

  8. 私有仓库GitLab快速入门篇

    私有仓库GitLab快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 安装文档请参考官网:https://about.gitlab.com/installation/#ce ...

  9. ios入门篇 -hello Word(1)

    温馨提示:,如果您使用移动终端阅读本篇文章,请连接wifi的情况下阅读,里面有大量图片,以免造成您不必要的损失.   潜水博客园很多年,闲来无事,聊一下自己的经历,语文不好(如有什么错别字,请您在下评 ...

  10. SpringMVC.入门篇《二》form表单

    SpringMVC.入门篇<二>form表单 项目工程结构: 在<springmvc入门篇一.HelloWorld>基础上继续添加代码,新增:FormController.ja ...

随机推荐

  1. nginx rewrite中的break和last

    两个指令用法相同,但含义不同,需要放到rewrite规则的末尾,用来控制重写后的链接是否继续被nginx配置执行(主要是rewrite.return指令). 示例1:(连续俩条rewrite规则)se ...

  2. UDF——涡量

    用涡量的模来显示涡结构是一种很常用的方法 涡量: 针对二维,涡量场表示为如下的标量: 对于二维流动来说,涡量为正,表示逆时针旋转:涡量为负,表示顺时针旋转 三维涡量: 其中: 计算涡量的模: 二维涡量 ...

  3. SpringBoot之文件上传体积过大问题(解决方案)

    错误信息如下(关键): org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the re ...

  4. js操作复选框 复选框

    //复选框点击事件 function checkAll(){ let tp=$("#tp").val(); let all=$("input[name='id']&quo ...

  5. Unknown command 'run' - try 'help'

    /******************************************************************************* * Unknown command ' ...

  6. 图形化SQL JOIN

  7. leetcode 968. Binary Tree Cameras

    968. Binary Tree Cameras 思路:如果子节点只能覆盖到父节点.当前节点,但是父节点可以覆盖到他的父节点.子节点.当前节点,所以从叶子节点往上考虑 0代表子节点没有被覆盖 1代表子 ...

  8. ios兼容性收集整理

    1. ios系统兼input输入框光标问题 异常现象:苹果手机文本输入框样式异常——光标聚焦到文本框,光标高度充满文本框,输入内容,光标高度为文本框上边框到输入内容底部: 光标聚焦: 输入内容: 异常 ...

  9. 解决bootstrap-table表头filter-control select控件被遮挡显示不全的问题

    [本文出自天外归云的博客园] 在使用bootstrap-table的extension——filter-control时(对应表格的data-filter-control="true&quo ...

  10. Go:return 与 defer的执行顺序 (转)

    将下面的代码放入了 double.go 文件内 package main //go:noinline //go:nosplit func test() (x int) { defer println( ...