您的位置:首页 > 运维架构

openstack-ansible -- 3 Target hosts

2016-05-19 13:59 881 查看

Installing the operating system

Install the Ubuntu Server 14.04 (Trusty Tahr) LTS 64-bit operating system

至少一个network interface可以访问外网

locale to en_US.UTF-8

Configuring the operating system

Deployment host到taget host无密码登陆:

 

Copy Deployment hos的public key到taget /root/.ssh/authorized_keys

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.2.22

kernel版本为3.13.0-34-generic
 or later 

$ uname -a
Linux rpc-3 3.13.0-46-generic #79-Ubuntu SMP Tue Mar 10 20:06:50 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

 

# apt-get install bridge-utils debootstrap ifenslave ifenslave-2.6 \
lsof lvm2 ntp ntpdate openssh-server sudo tcpdump vlan

 

加入kernel 模块到/etc/modules来enable VLAN和接口bond

# echo 'bonding' >> /etc/modules
# echo '8021q' >> /etc/modules

Configure NTP

Reboot the host to activate the changes

Configuring LVM

OpenStack-Ansible会自动配置LVM,手动配置如下:

# pvcreate --metadatasize 2048 physical_volume_device_path
# vgcreate cinder-volumes physical_volume_device_path

Designing the network

下表描述了container 网络如何连接host bridge和物理网络接口:

Target hosts 包含以下 network bridges:

  • LXC internal lxcbr0:
  • 必须的,自动生成,containers的外网连接,不连接到host上任何物理/逻辑接口,由iptable来做连通,它连接到container里面的eth0。
    配置在openstack_user_config.yml in theprovider_networks dictionary.
  • Container management br-mgmt:
    • 必须的.
    • Provides management of and communication among infrastructure and OpenStack services.
    • 手动创建,连接到物理/逻辑接口(一般是bond0上的一个vlan子接口),连接容器的eth1.
    • container network interface配置在openstack_user_config.yml
  • Storage br-storage:
    • Optional.但推荐
    • Provides segregated access to block storage devices between Compute and Block Storage hosts.
    • 手动创建,连接到物理/逻辑接口(一般是bond0上的一个vlan子接口),连接容器的eth2.
  • OpenStack Networking tunnel/overlay br-vxlan:
    • Mandatory.
    • Provides infrastructure for VXLAN tunnel/overlay networks.
    • 手动创建,连接到物理/逻辑接口(一般是bond1上的一个vlan子接口),连接容器的eth10.
  • OpenStack Networking provider br-vlan:
    • Mandatory.
    • Provides infrastructure for VLAN and flat networks.
    • 手动创建连接到物理/逻辑接口(一般是bond1上的一个vlan子接口),连接容器的eth11.  Does not contain an IP address because it only handles layer 2 connectivity.

    compute service直接部署在物理机器而不是容器上。

    how to use bridges for network connectivity

    其中,计算节点有br-vxlan和br-vlan来分别做vxlan和vlan的联通,br-vxlan连到物理vlan的一个子节点,br-vlan不需要。

    以下是网络节点上,DHCP agent, L3 agent, and Linux Bridge agent都部署在networking-agents container

    以下是计算节点上vm如何连接:

    Reference architecture

    Bridge nameBest configured onWith a static IP
    br-mgmt On every node Always
    br-storage On every storage node When component is deployed on metal
    On every compute node Always
    br-vxlan On every network node When component is deployed on metal
    On every compute node Always
    br-vlan On every network node Never
    On every compute node Never

     

    host management节点的网络配置文件:

    Physical interfaces:

    # Physical interface 1
    auto eth0
    iface eth0 inet manual
    bond-master bond0
    bond-primary eth0
    
    # Physical interface 2
    auto eth1
    iface eth1 inet manual
    bond-master bond1
    bond-primary eth1
    
    # Physical interface 3
    auto eth2
    iface eth2 inet manual
    bond-master bond0
    
    # Physical interface 4
    auto eth3
    iface eth3 inet manual
    bond-master bond1

    Bonding interfaces:

    # Bond interface 0 (physical interfaces 1 and 3)
    auto bond0
    iface bond0 inet static
    bond-slaves eth0 eth2
    bond-mode active-backup
    bond-miimon 100
    bond-downdelay 200
    bond-updelay 200
    address HOST_IP_ADDRESS
    netmask HOST_NETMASK
    gateway HOST_GATEWAY
    dns-nameservers HOST_DNS_SERVERS
    
    # Bond interface 1 (physical interfaces 2 and 4)
    auto bond1
    iface bond1 inet manual
    bond-slaves eth1 eth3
    bond-mode active-backup
    bond-miimon 100
    bond-downdelay 250
    bond-updelay 250

    Logical (VLAN) interfaces:

    # Container management VLAN interface
    iface bond0.CONTAINER_MGMT_VLAN_ID inet manual
    vlan-raw-device bond0
    
    # OpenStack Networking VXLAN (tunnel/overlay) VLAN interface
    iface bond1.TUNNEL_VLAN_ID inet manual
    vlan-raw-device bond1
    
    # Storage network VLAN interface (optional)
    iface bond0.STORAGE_VLAN_ID inet manual
    vlan-raw-device bond0

    Bridge devices:

    # Container management bridge
    auto br-mgmt
    iface br-mgmt inet static
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    # Bridge port references tagged interface
    bridge_ports bond0.CONTAINER_MGMT_VLAN_ID
    address CONTAINER_MGMT_BRIDGE_IP_ADDRESS
    netmask CONTAINER_MGMT_BRIDGE_NETMASK
    dns-nameservers CONTAINER_MGMT_BRIDGE_DNS_SERVERS
    
    # OpenStack Networking VXLAN (tunnel/overlay) bridge
    auto br-vxlan
    iface br-vxlan inet static
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    # Bridge port references tagged interface
    bridge_ports bond1.TUNNEL_VLAN_ID
    address TUNNEL_BRIDGE_IP_ADDRESS
    netmask TUNNEL_BRIDGE_NETMASK
    
    # OpenStack Networking VLAN bridge
    auto br-vlan
    iface br-vlan inet manual
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    # Bridge port references untagged interface
    bridge_ports bond1
    
    # Storage bridge (optional)
    auto br-storage
    iface br-storage inet static
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
    # Bridge port reference tagged interface
    bridge_ports bond0.STORAGE_VLAN_ID
    address STORAGE_BRIDGE_IP_ADDRESS
    netmask STORAGE_BRIDGE_NETMASK

    Example for 3 controller nodes and 2 compute nodes

    • VLANs: [ul] Host management: Untagged/Native
    • Container management: 10
    • Tunnels: 30
    • Storage: 20
  • Networks:
      Host management: 10.240.0.0/22
    • Container management: 172.29.236.0/22
    • Tunnel: 172.29.240.0/22
    • Storage: 172.29.244.0/22
  • Addresses for the controller nodes:
      Host management: 10.240.0.11 - 10.240.0.13
    • Host management gateway: 10.240.0.1
    • DNS servers: 69.20.0.164 69.20.0.196
    • Container management: 172.29.236.11 - 172.29.236.13
    • Tunnel: no IP (because IP exist in the containers, when the components aren’t deployed directly on metal)
    • Storage: no IP (because IP exist in the containers, when the components aren’t deployed directly on metal)
  • Addresses for the compute nodes:
      Host management: 10.240.0.21 - 10.240.0.22
    • Host management gateway: 10.240.0.1
    • DNS servers: 69.20.0.164 69.20.0.196
    • Container management: 172.29.236.21 - 172.29.236.22
    • Tunnel: 172.29.240.21 - 172.29.240.22
    • Storage: 172.29.244.21 - 172.29.244.22
    [/ul]

    Simple architecture: A single target host

     

  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: