返回顶部
首页 > 资讯 > 精选 >Tungsten Fabric入门宝典丨关于安装的那些事(下)
  • 616
分享到

Tungsten Fabric入门宝典丨关于安装的那些事(下)

2023-06-03 16:06:38 616人浏览 泡泡鱼
摘要

作者:Tatsuya Naganawa  译者:TF编译组Tungsten Fabric入门宝典系列文章,来自技术大牛倾囊相授的实践经验,由TF中文社区为您编译呈现,旨在帮助新手深入理解TF的运行、安装、集成、调试等全流程。如果您

(编者按:在上一篇文章中,我们聊了关于TF组件安装中的HA行为、多NIC安装、集群规模等问题,以及如何安装具有Tungsten Fabric CNI的kubernetes HA环境。)

OpenStack

Openstack HA的安装可以由anstack-deployer直接完成。

对于此示例的设置,我使用了5个EC2实例(AMI相同,ami-3185744e),每个实例具有2个vCPU、8 GB内存、20 GB磁盘空间。VPC的CIDR为172.31.0.0/16。

yum -y install epel-releaseyum -y install git ansible-2.4.2.0ssh-keygencd .ssh/cat id_rsa.pub >> authorized_keyscdgit clone Http://GitHub.com/Juniper/contrail-ansible-deployercd contrail-ansible-deployervi config/instances.yaml(replace contents with this)provider_config:  bms:   ssh_user: root   ssh_public_key: /root/.ssh/id_rsa.pub   ssh_private_key: /root/.ssh/id_rsa   domainsuffix: local   ntpserver: 0.Centos.pool.ntp.orginstances:  bms1:    provider: bms    ip: 172.31.6.90 # controller1's ip    roles:      config_database:      config:      control:      analytics:      WEBui:      openstack:  bms2:    provider: bms    ip: 172.31.25.90 # controller2's ip    roles:      config_database:      config:      control:      analytics:      webui:      openstack:  bms3:    provider: bms    ip: 172.31.31.242 # controller3's ip    roles:      config_database:      config:      control:      analytics:      webui:      openstack:  bms11:    provider: bms    ip: 172.31.42.209 # compute1's ip    roles:      vrouter:      openstack_compute:  bms12:    provider: bms    ip: 172.31.15.199 # compute2's ip    roles:      vrouter:      openstack_compute:contrail_configuration:  RabbitMQ_node_PORT: 5673  AUTH_MODE: keystone  KEYSTONE_AUTH_URL_VERSION: /v3  JVM_EXTRA_OPTS: "-Xms128m -Xmx1g"kolla_config:  kolla_globals:    kolla_internal_vip_address: 172.31.0.11 ## kolla-ansible will deploy haproxy to serve HA vip  kolla_passWords:    keystone_admin_password: contrail123 # admin user's passwordglobal_configuration:## if previously described AMI is used, it uses cloud-init packages whose rpm dependency is not compatible with ansible-deployer in R5.1 and later. To workaroud this, I used these commands.yum -y remove PyYAML python-requestseasy_install pippip install PyYAML requestspip install ansibleansible-playbook -e orchestrator=openstack -i inventory/ playbooks/configure_instances.yml - it takes about 10 minutesansible-playbook -e orchestrator=openstack -i inventory/ playbooks/install_openstack.yml - it takes about 40 minutesansible-playbook -e orchestrator=openstack -i inventory/ playbooks/install_contrail.yml - it takes about 20 minutes[root@ip-172-31-6-90 ~]# contrail-status Pod              Service         Original Name                          State    Id            Status                          redis           contrail-external-Redis                running  23ef79b48ae8  Up 41 minutes  analytics        api             contrail-analytics-api                 running  3139f5fd9256  Up 36 minutes  analytics        collector       contrail-analytics-collector           running  89c9e02fb551  Up 36 minutes  analytics        nodemgr         contrail-nodemgr                       running  5eecb461f95c  Up 36 minutes  config           api             contrail-controller-config-api         running  fb0dc55f76c7  Up 39 minutes  config           device-manager  contrail-controller-config-devicemgr   running  8dbff58776a2  Up 39 minutes  config           nodemgr         contrail-nodemgr                       running  b64af838545d  Up 39 minutes  config           schema          contrail-controller-config-schema      running  83e0acf17e39  Up 39 minutes  config           svc-monitor     contrail-controller-config-svcmonitor  running  623e17e8e74e  Up 39 minutes  config-database  cassandra       contrail-external-cassandra            running  db30d874dce3  Up 40 minutes  config-database  nodemgr         contrail-nodemgr                       running  590463f627f6  Up 38 minutes  config-database  rabbitMQ        contrail-external-rabbitmq             running  712ee26dda64  Up 40 minutes  config-database  ZooKeeper       contrail-external-zookeeper            running  46dbdec00e46  Up 40 minutes  control          control         contrail-controller-control-control    running  3e0e653D1588  Up 37 minutes  control          dns             contrail-controller-control-dns        running  2cebc37c18cf  Up 37 minutes  control          named           contrail-controller-control-named      running  112bd2d8ed5f  Up 37 minutes  control          nodemgr         contrail-nodemgr                       running  f2e0fdc4bfb2  Up 37 minutes  device-manager   dnsmasq         contrail-external-dnsmasq              running  f84b45234d70  Up 39 minutes  webui            job             contrail-controller-webui-job          running  3dece86513a1  Up 38 minutes  webui            web             contrail-controller-webui-web          running  408c772b1628  Up 38 minutes  == Contrail control ==control: activenodemgr: activenamed: activedns: active== Contrail config-database ==nodemgr: initializing (Disk for DB is too low. )zookeeper: activerabbitmq: activecassandra: active== Contrail analytics ==nodemgr: activeapi: activecollector: active== Contrail webui ==web: activejob: active== Contrail device-manager ==== Contrail config ==svc-monitor: backupnodemgr: activedevice-manager: backupapi: activeschema: backup[root@ip-172-31-25-90 ~]# contrail-status Pod              Service         Original Name                          State    Id            Status                          redis           contrail-external-redis                running  1ed7e967085e  Up 41 minutes  analytics        api             contrail-analytics-api                 running  7392ea345e83  Up 36 minutes  analytics        collector       contrail-analytics-collector           running  82332a53a566  Up 36 minutes  analytics        nodemgr         contrail-nodemgr                       running  89141bb180cd  Up 36 minutes  config           api             contrail-controller-config-api         running  b2af8bc8a6d7  Up 38 minutes  config           device-manager  contrail-controller-config-devicemgr   running  d8ed77431dfa  Up 39 minutes  config           nodemgr         contrail-nodemgr                       running  8c7f3d5f05e4  Up 39 minutes  config           schema          contrail-controller-config-schema      running  4a6099aaea2a  Up 39 minutes  config           svc-monitor     contrail-controller-config-svcmonitor  running  3a3e6d37b30e  Up 39 minutes  config-database  cassandra       contrail-external-cassandra            running  0b05e121c017  Up 40 minutes  config-database  nodemgr         contrail-nodemgr                       running  fb4857fe16c1  Up 39 minutes  config-database  rabbitmq        contrail-external-rabbitmq             running  a8137277a40f  Up 40 minutes  config-database  zookeeper       contrail-external-zookeeper            running  9571f4d9fde2  Up 40 minutes  control          control         contrail-controller-control-control    running  5460dc02cc03  Up 37 minutes  control          dns             contrail-controller-control-dns        running  17b27877ef6e  Up 37 minutes  control          named           contrail-controller-control-named      running  cdbe1bae4c40  Up 37 minutes  control          nodemgr         contrail-nodemgr                       running  cb36c2b4625a  Up 37 minutes  device-manager   dnsmasq         contrail-external-dnsmasq              running  dd9002e6f58d  Up 39 minutes  webui            job             contrail-controller-webui-job          running  60dc895d439e  Up 38 minutes  webui            web             contrail-controller-webui-web          running  3ddfb5e2e851  Up 38 minutes  == Contrail control ==control: activenodemgr: activenamed: activedns: active== Contrail config-database ==nodemgr: initializing (Disk for DB is too low. )zookeeper: activerabbitmq: activecassandra: active== Contrail analytics ==nodemgr: activeapi: activecollector: active== Contrail webui ==web: activejob: active== Contrail device-manager ==== Contrail config ==svc-monitor: backupnodemgr: activedevice-manager: activeapi: activeschema: backup[root@ip-172-31-31-242 ~]# contrail-status Pod              Service         Original Name                          State    Id            Status                          redis           contrail-external-redis                running  172e35daca5a  Up 42 minutes  analytics        api             contrail-analytics-api                 running  2edf90837a43  Up 36 minutes  analytics        collector       contrail-analytics-collector           running  812d4c190841  Up 36 minutes  analytics        nodemgr         contrail-nodemgr                       running  d0eafce0d49d  Up 36 minutes  config           api             contrail-controller-config-api         running  7819c7792960  Up 39 minutes  config           device-manager  contrail-controller-config-devicemgr   running  c22addf8f1f1  Up 38 minutes  config           nodemgr         contrail-nodemgr                       running  bd742928f26e  Up 39 minutes  config           schema          contrail-controller-config-schema      running  8ad72d0a2c12  Up 39 minutes  config           svc-monitor     contrail-controller-config-svcmonitor  running  86283bfc21dc  Up 39 minutes  config-database  cassandra       contrail-external-cassandra            running  315d17494665  Up 41 minutes  config-database  nodemgr         contrail-nodemgr                       running  a78521b2b940  Up 39 minutes  config-database  rabbitmq        contrail-external-rabbitmq             running  dfefb054808b  Up 41 minutes  config-database  zookeeper       contrail-external-zookeeper            running  a16d1a2d259b  Up 41 minutes  control          control         contrail-controller-control-control    running  bc9ecb41131c  Up 37 minutes  control          dns             contrail-controller-control-dns        running  beff8cf11fdd  Up 37 minutes  control          named           contrail-controller-control-named      running  2322d5598a24  Up 37 minutes  control          nodemgr         contrail-nodemgr                       running  32b611d85d19  Up 37 minutes  device-manager   dnsmasq         contrail-external-dnsmasq              running  a0b3dd0ad254  Up 39 minutes  webui            job             contrail-controller-webui-job          running  257721b46207  Up 38 minutes  webui            web             contrail-controller-webui-web          running  c2e7b95e7321  Up 38 minutes  == Contrail control ==control: activenodemgr: activenamed: activedns: active== Contrail config-database ==nodemgr: initializing (Disk for DB is too low. )zookeeper: activerabbitmq: activecassandra: active== Contrail analytics ==nodemgr: activeapi: activecollector: active== Contrail webui ==web: activejob: active== Contrail device-manager ==== Contrail config ==svc-monitor: activenodemgr: activedevice-manager: backupapi: activeschema: active[root@ip-172-31-42-209 ~]# contrail-status Pod      Service  Original Name           State    Id            Status         vrouter  agent    contrail-vrouter-agent  running  a17883037f12  Up 36 minutes  vrouter  nodemgr  contrail-nodemgr        running  6dc2258ac4f6  Up 36 minutes  vrouter kernel module is PRESENT== Contrail vrouter ==nodemgr: activeagent: active[root@ip-172-31-15-199 ~]# contrail-status Pod      Service  Original Name           State    Id            Status         vrouter  agent    contrail-vrouter-agent  running  a1e7767b3302  Up 36 minutes  vrouter  nodemgr  contrail-nodemgr        running  40d5613fec21  Up 36 minutes  vrouter kernel module is PRESENT== Contrail vrouter ==nodemgr: activeagent: active

然后,可以使用openstack命令创建实例。

Docker cp /etc/kolla/kolla-toolbox/admin-openrc.sh kolla_toolbox:/var/tmpdocker exec -it kolla_toolbox bash  source /var/tmp/admin-openrc.sh  cd /var/tmp  curl -O -L http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img  openstack image create cirros --disk-fORMat qcow2 --public --container-format bare --file cirros-0.4.0-x86_64-disk.img  openstack flavor create --ram 512 --disk 1 --vcpus 1 m1.tiny  openstack network create testvn  openstack subnet create --subnet-range 192.168.100.0/24 --network testvn subnet1  NET_ID=`openstack network list | grep testvn | awk -F '|' '{print $2}' | tr -d ' '`  openstack server create --flavor m1.tiny --image cirros --nic net-id=${NET_ID} vm1  openstack server create --flavor m1.tiny --image cirros --nic net-id=${NET_ID} vm2  exit(on compute nodes)ip route ## check metadata ip of two instancesssh cirros@169.254.0.x  ping 192.168.100.4(kolla-toolbox)[ansible@ip-172-31-6-90 /]$ openstack server list+--------------------------------------+------+--------+----------------------+--------+---------+| ID                                   | Name | Status | Networks             | Image  | Flavor  |+--------------------------------------+------+--------+----------------------+--------+---------+| 9d66f0ed-d7d5-4a53-983d-dfba0385bd22 | vm2  | ACTIVE | testvn=192.168.100.4 | cirros | m1.tiny || 6595b4c1-1e6f-4f02-8f66-83b6355065b2 | vm1  | ACTIVE | testvn=192.168.100.3 | cirros | m1.tiny |+--------------------------------------+------+--------+----------------------+--------+---------+(kolla-toolbox)[ansible@ip-172-31-6-90 /]$ [root@ip-172-31-42-209 ~]# ip routedefault via 172.31.32.1 dev vhost0 169.254.0.1 dev vhost0 proto 109 scope link 169.254.0.3 dev vhost0 proto 109 scope link 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 172.31.32.0/20 dev vhost0 proto kernel scope link src 172.31.42.209 [root@ip-172-31-42-209 ~]# ssh cirros@169.254.0.3cirros@169.254.0.3's password: $ ip -o a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1\    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:001: lo    inet 127.0.0.1/8 scope host lo\       valid_lft forever preferred_lft forever1: lo    inet6 ::1/128 scope host \       valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000\    link/ether 02:79:59:ea:d4:17 brd ff:ff:ff:ff:ff:ff2: eth0    inet 192.168.100.3/24 brd 192.168.100.255 scope global eth0\       valid_lft forever preferred_lft forever2: eth0    inet6 fe80::79:59ff:feea:d417/64 scope link \       valid_lft forever preferred_lft forever$ $ ping 192.168.100.4PING 192.168.100.4 (192.168.100.4): 56 data bytes64 bytes from 192.168.100.4: seq=0 ttl=64 time=13.876 ms64 bytes from 192.168.100.4: seq=1 ttl=64 time=2.417 ms64 bytes from 192.168.100.4: seq=2 ttl=64 time=2.375 ms^C--- 192.168.100.4 ping statistics ---3 packets transmitted, 3 packets received, 0% packet lossround-trip min/avg/max = 2.375/6.222/13.876 ms$ $[root@ip-172-31-15-199 ~]# ip routedefault via 172.31.0.1 dev vhost0 169.254.0.1 dev vhost0 proto 109 scope link 169.254.0.3 dev vhost0 proto 109 scope link 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 172.31.0.0/20 dev vhost0 proto kernel scope link src 172.31.15.199 [root@ip-172-31-15-199 ~]# ssh cirros@169.254.0.3cirros@169.254.0.3's password: $ ip -o a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1\    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:001: lo    inet 127.0.0.1/8 scope host lo\       valid_lft forever preferred_lft forever1: lo    inet6 ::1/128 scope host \       valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000\    link/ether 02:08:e6:0d:1e:3b brd ff:ff:ff:ff:ff:ff2: eth0    inet 192.168.100.4/24 brd 192.168.100.255 scope global eth0\       valid_lft forever preferred_lft forever2: eth0    inet6 fe80::8:e6ff:fe0d:1e3b/64 scope link \       valid_lft forever preferred_lft forever$

注意:如果计算节点不支持kvm,则可能需要添加此设置。

Tungsten Fabric入门宝典丨关于安装的那些事(下)

注意:如果是使用AWS,则还需要从EC2实例的右键菜单中设置网络>管理IP地址,以允许从其它节点访问haproxy VIP。

这样,控制器之间的HA和2个计算节点之间的overlay都完全配置好了!

有些要点本文档没有覆盖,例如某些控制节点宕机时的行为,或在计算节点之间执行实时迁移。上次我尝试实时迁移时,发现有大约1秒钟的报文丢包,但是请注意自己的设置,因为有很多要注意的地方(例如前缀将在实时迁移完成后更新)。

查看每个控制器的邻居状态和路由表,您会发现它们之间的有趣之处。

[root@ip-172-31-6-90 ~]# ./contrail-introspect-cli/ist.py ctr nei+------------------------+---------------+----------+----------+-----------+-------------+------------+------------+-----------+| peer                   | peer_address  | peer_asn | encoding | peer_type | state       | send_state | flap_count | flap_time |+------------------------+---------------+----------+----------+-----------+-------------+------------+------------+-----------+| ip-172-31-25-90.local  | 172.31.25.90  | 64512    | BGP      | internal  | Established | in sync    | 0          | n/a       || ip-172-31-31-242.local | 172.31.31.242 | 64512    | BGP      | internal  | Established | in sync    | 0          | n/a       || ip-172-31-42-209.local | 172.31.42.209 | 0        | XMPP     | internal  | Established | in sync    | 0          | n/a       |+------------------------+---------------+----------+----------+-----------+-------------+------------+------------+-----------+[root@ip-172-31-6-90 ~]# ./contrail-introspect-cli/ist.py --host 172.31.25.90 ctr neiIntrospect Host: 172.31.25.90+------------------------+---------------+----------+----------+-----------+-------------+------------+------------+-----------+| peer                   | peer_address  | peer_asn | encoding | peer_type | state       | send_state | flap_count | flap_time |+------------------------+---------------+----------+----------+-----------+-------------+------------+------------+-----------+| ip-172-31-31-242.local | 172.31.31.242 | 64512    | BGP      | internal  | Established | in sync    | 0          | n/a       || ip-172-31-6-90.local   | 172.31.6.90   | 64512    | BGP      | internal  | Established | in sync    | 0          | n/a       || ip-172-31-15-199.local | 172.31.15.199 | 0        | XMPP     | internal  | Established | in sync    | 0          | n/a       |+------------------------+---------------+----------+----------+-----------+-------------+------------+------------+-----------+[root@ip-172-31-6-90 ~]# [root@ip-172-31-6-90 ~]# ./contrail-introspect-cli/ist.py --host 172.31.31.242 ctr neiIntrospect Host: 172.31.31.242+------------------------+---------------+----------+----------+-----------+-------------+------------+------------+-----------+| peer                   | peer_address  | peer_asn | encoding | peer_type | state       | send_state | flap_count | flap_time |+------------------------+---------------+----------+----------+-----------+-------------+------------+------------+-----------+| ip-172-31-25-90.local  | 172.31.25.90  | 64512    | BGP      | internal  | Established | in sync    | 0          | n/a       || ip-172-31-6-90.local   | 172.31.6.90   | 64512    | BGP      | internal  | Established | in sync    | 0          | n/a       || ip-172-31-15-199.local | 172.31.15.199 | 0        | XMPP     | internal  | Established | in sync    | 0          | n/a       || ip-172-31-42-209.local | 172.31.42.209 | 0        | XMPP     | internal  | Established | in sync    | 0          | n/a       |+------------------------+---------------+----------+----------+-----------+-------------+------------+------------+-----------+[root@ip-172-31-6-90 ~]#[root@ip-172-31-6-90 ~]#[root@ip-172-31-6-90 ~]# ./contrail-introspect-cli/ist.py ctr route summary+----------------------------------------------------+----------+-------+---------------+-----------------+------------------+| name                                               | prefixes | paths | primary_paths | secondary_paths | infeasible_paths |+----------------------------------------------------+----------+-------+---------------+-----------------+------------------+| default-domain:admin:testvn:testvn.inet.0          | 2        | 4     | 1             | 3               | 0                || default-domain:default-                            | 0        | 0     | 0             | 0               | 0                || project:__link_local__:__link_local__.inet.0       |          |       |               |                 |                  || default-domain:default-project:dci-                | 0        | 0     | 0             | 0               | 0                || network:__default__.inet.0                         |          |       |               |                 |                  || default-domain:default-project:dci-network:dci-    | 0        | 0     | 0             | 0               | 0                || network.inet.0                                     |          |       |               |                 |                  || default-domain:default-project:default-virtual-    | 0        | 0     | 0             | 0               | 0                || network:default-virtual-network.inet.0             |          |       |               |                 |                  || inet.0                                             | 0        | 0     | 0             | 0               | 0                || default-domain:default-project:ip-fabric:ip-       | 1        | 1     | 1             | 0               | 0                || fabric.inet.0                                      |          |       |               |                 |                  |+----------------------------------------------------+----------+-------+---------------+-----------------+------------------+[root@ip-172-31-6-90 ~]# ./contrail-introspect-cli/ist.py --host 172.31.25.90 ctr route summaryIntrospect Host: 172.31.25.90+----------------------------------------------------+----------+-------+---------------+-----------------+------------------+| name                                               | prefixes | paths | primary_paths | secondary_paths | infeasible_paths |+----------------------------------------------------+----------+-------+---------------+-----------------+------------------+| default-domain:admin:testvn:testvn.inet.0          | 2        | 4     | 1             | 3               | 0                || default-domain:default-                            | 0        | 0     | 0             | 0               | 0                || project:__link_local__:__link_local__.inet.0       |          |       |               |                 |                  || default-domain:default-project:dci-                | 0        | 0     | 0             | 0               | 0                || network:__default__.inet.0                         |          |       |               |                 |                  || default-domain:default-project:dci-network:dci-    | 0        | 0     | 0             | 0               | 0                || network.inet.0                                     |          |       |               |                 |                  || default-domain:default-project:default-virtual-    | 0        | 0     | 0             | 0               | 0                || network:default-virtual-network.inet.0             |          |       |               |                 |                  || inet.0                                             | 0        | 0     | 0             | 0               | 0                || default-domain:default-project:ip-fabric:ip-       | 1        | 1     | 1             | 0               | 0                || fabric.inet.0                                      |          |       |               |                 |                  |+----------------------------------------------------+----------+-------+---------------+-----------------+------------------+[root@ip-172-31-6-90 ~]# ./contrail-introspect-cli/ist.py --host 172.31.31.242 ctr route summaryIntrospect Host: 172.31.31.242+----------------------------------------------------+----------+-------+---------------+-----------------+------------------+| name                                               | prefixes | paths | primary_paths | secondary_paths | infeasible_paths |+----------------------------------------------------+----------+-------+---------------+-----------------+------------------+| default-domain:admin:testvn:testvn.inet.0          | 2        | 4     | 2             | 2               | 0                || default-domain:default-                            | 0        | 0     | 0             | 0               | 0                || project:__link_local__:__link_local__.inet.0       |          |       |               |                 |                  || default-domain:default-project:dci-                | 0        | 0     | 0             | 0               | 0                || network:__default__.inet.0                         |          |       |               |                 |                  || default-domain:default-project:dci-network:dci-    | 0        | 0     | 0             | 0               | 0                || network.inet.0                                     |          |       |               |                 |                  || default-domain:default-project:default-virtual-    | 0        | 0     | 0             | 0               | 0                || network:default-virtual-network.inet.0             |          |       |               |                 |                  || inet.0                                             | 0        | 0     | 0             | 0               | 0                || default-domain:default-project:ip-fabric:ip-       | 2        | 2     | 2             | 0               | 0                || fabric.inet.0                                      |          |       |               |                 |                  |+----------------------------------------------------+----------+-------+---------------+-----------------+------------------+[root@ip-172-31-6-90 ~]# [root@ip-172-31-6-90 ~]# ./contrail-introspect-cli/ist.py --host 172.31.31.242 ctr route show 192.168.100.3Introspect Host: 172.31.31.242default-domain:admin:testvn:testvn.inet.0: 2 destinations, 4 routes (2 primary, 2 secondary, 0 infeasible)192.168.100.3/32, age: 0:01:18.234010, last_modified: 2019-Apr-27 14:03:19.075046    [XMPP (interface)|ip-172-31-42-209.local] age: 0:01:18.239011, localpref: 200, nh: 172.31.42.209, encap: ['gre', 'udp'], label: 25, AS path: None    [BGP|172.31.6.90] age: 0:01:18.230559, localpref: 200, nh: 172.31.42.209, encap: ['gre', 'udp'], label: 25, AS path: None[root@ip-172-31-6-90 ~]# ./contrail-introspect-cli/ist.py --host 172.31.31.242 ctr route show 192.168.100.4Introspect Host: 172.31.31.242default-domain:admin:testvn:testvn.inet.0: 2 destinations, 4 routes (2 primary, 2 secondary, 0 infeasible)192.168.100.4/32, age: 0:00:52.035230, last_modified: 2019-Apr-27 14:03:47.460835    [XMPP (interface)|ip-172-31-15-199.local] age: 0:00:52.039485, localpref: 200, nh: 172.31.15.199, encap: ['gre', 'udp'], label: 25, AS path: None    [BGP|172.31.25.90] age: 0:00:51.996464, localpref: 200, nh: 172.31.15.199, encap: ['gre', 'udp'], label: 25, AS path: None[root@ip-172-31-6-90 ~]#

由于vRouter始终具有2个XMPP连接,所以当存在3个控制器时,XMPP的连接状态在控制器之间是不同的,并且它们之间的路由表也可能有所不同。考虑到路由目标过滤,如果某些控制器未从XMPP接收到某些特定的路由目标,则它们甚至可能具有完全不同的路由表。

这就是由于Tungsten Fabric的横向扩展行为带来的结果。

有关ansible-ployer的更详细的配置(包括多NIC示例),您可以看看这些文档。

  • https://github.com/Juniper/contrail-ansible-deployer/wiki/Contrail-with-Openstack-Kolla

  • https://github.com/Juniper/contrail-ansible-deployer/wiki/Configuration-Sample-for-Multi-Node-Openstack-HA-and-Contrail-(single-interface)

  • https://github.com/Juniper/contrail-ansible-deployer/wiki/Configuration-Sample-for-Multi-Node-Openstack-HA-and-Contrail-(multi-interface)

vCenter

Tungsten Fabric可以很好地与vCenter集成在一起,我们在“编排器集成”的部分有所描述。

要尝试此功能,可以按照以下说明进行操作。

  • https://github.com/Juniper/contrail-ansible-deployer/blob/master/README_vcenter.md

  • 请注意vRouterVM的OVF文件目前还未公开提供

由于Tungsten Fabric的HA行为与Kubernetes和OpenStack安装中的行为完全相同,因此我将不对其进行详细描述。

对于编排器端的HA,vCenter HA是完全可用的。

  • 我尚未尝试过这种组合,但是由于vCenter HA将使用与vCenter服务相同的IP,因此我认为vcenter-plugin与vCenter HA一起使用的可能性很高。

多vCenter或跨vCenter(使用链接模式时)将是一个很有趣的主题。我将在附录部分进一步讨论它们。

容器标签的使用

容器注册表docker.io/opencontrailnight具有各种各样的标签。

  • https://hub.docker.com/r/opencontrailnightly/contrail-nodemgr/tags/

关于在新的安装中选择什么样的标签,我有一些考虑。

我经常使用的是三个标签:latest,5.1.0-latest,5.0-latest。它们位于每个Tungsten Fabric分支的头部(master/R5.1/R5.0),并且每个分支中都包含各种错误修复。因此,您可以为用例选择其中的标签。如果需要R5.1中的新功能(例如可选的analytics组件),那么你可以选择5.1.0-latest标签。

由于latest是真正的开发分支,因此我不建议您将它们作为常规使用的标签,因为在某些情况下,此版本已被“破坏”以添加新的功能。

其它发行版本的分支更加稳定,因为在大多数情况下,它们只是进行了错误修复,尽管在创建新的分支后的某些特定时期内,发行版本的分支似乎也具有新的功能。

要指定标签,您可以使用这些参数,并且当针对ansible-deployer和conutil-container-builder输入git clone时,还需要指定同一分支。

Tungsten Fabric入门宝典丨关于安装的那些事(下)

需要注意的一点是,由于与OpenStack一起使用的容器(例如nova-init、neutron-init、heat-init等)具有OpenStack发行版的版本依赖性,因此标记可能需要更改为5.1.0-latest-queens、5.1.0-latest-rocky等。

由于安装了一些带有特定版本的OpenStack模块,因此,如果标签不同,则OpenStack容器将无法正常工作。

Tungsten Fabric入门宝典系列文章——

首次启动和运行指南
TF组件的七种“武器”
编排器集成
关于安装的那些事(上)

Tungsten Fabric 架构解析系列文章——

第一篇:TF主要特点和用例
第二篇:TF怎么运作
第三篇:详解vRouter体系结构
第四篇:TF的服务链
第五篇:vRouter的部署选项
第六篇:TF如何收集、分析、部署?
第七篇:TF如何编排
第八篇:TF支持API一览
第九篇:TF如何连接到物理网络?
第十篇:TF基于应用程序的安全策略


Tungsten Fabric入门宝典丨关于安装的那些事(下)

Tungsten Fabric入门宝典丨关于安装的那些事(下)

--结束END--

本文标题: Tungsten Fabric入门宝典丨关于安装的那些事(下)

本文链接: https://lsjlt.com/news/234934.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Tungsten Fabric入门宝典丨关于安装的那些事(下)
    作者:Tatsuya Naganawa  译者:TF编译组Tungsten Fabric入门宝典系列文章,来自技术大牛倾囊相授的实践经验,由TF中文社区为您编译呈现,旨在帮助新手深入理解TF的运行、安装、集成、调试等全流程。如果您...
    99+
    2023-06-03
  • Tungsten Fabric入门宝典丨关于服务链、BGPaaS及其它
    Tungsten Fabric入门宝典系列文章,来自技术大牛倾囊相授的实践经验,由TF中文社区为您编译呈现,旨在帮助新手深入理解TF的运行、安装、集成、调试等全流程。如果您有相关经验或疑问,欢迎与我们互动,并与社区极客们进一步交流。更多TF...
    99+
    2023-06-03
  • Tungsten Fabric入门宝典丨关于多集群和多数据中心
    Tungsten Fabric入门宝典系列文章,来自技术大牛倾囊相授的实践经验,由TF中文社区为您编译呈现,旨在帮助新手深入理解TF的运行、安装、集成、调试等全流程。如果您有相关经验或疑问,欢迎与我们互动,并与社区极客们进一步交流。更多TF...
    99+
    2023-06-03
  • Tungsten Fabric入门宝典丨TF组件的七种“武器”
    Tungsten Fabric入门宝典系列文章,来自技术大牛倾囊相授的实践经验,由TF中文社区为您编译呈现,旨在帮助新手深入理解TF的运行、安装、集成、调试等全流程。如果您有相关经验或疑问,欢迎与我们互动,并与社区极客们进一步交流。更多TF...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作