Openstack Zun服务安装 - Kuryr-libnetwork

Kuryr libnetwork是Kuryr的Docker libnetwork驱动程序,它使用Neuton提供网络服务。它为常见的neutron插件提供了容器化的图像。

特性 »
Docker网络远程驱动程序
Docker网络IPAM驱动程序
同时支持IPv4和IPv6
支持Linux网桥、Open vSwitch、Midonet和IOvisor端口绑定
支持使用现有的 Neutron 网络。
支持使用现有的 Neutron 端口。
支持Docker “expose” 选项。

安装和配置控制节点

本节介绍如何在控制节点上安装和配置kuryr libnetwork。

Ubuntu、openSUSE和SUSE Linux Enterprise以及Red Hat Enterprise Linux和CentOS的安装步骤都是相同的。

1.获取管理员凭据以访问仅限管理员的CLI命令:
$ . admin-openrc

2.要创建服务凭据,请完成以下步骤:

  • 创建 kuryr 用户:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ openstack user create --domain default --password-prompt kuryr
    User Password:
    Repeat User Password:
    +-----------+----------------------------------+
    | Field | Value |
    +-----------+----------------------------------+
    | domain_id | e0353a670a9e496da891347c589539e9 |
    | enabled | True |
    | id | ca2e175b851943349be29a328cc5e360 |
    | name | kuryr |
    +-----------+----------------------------------+
  • 将 admin 角色添加到 kuryr 用户:

    1
    $ openstack role add --project service --user kuryr admin

安装和配置计算节点

安装和配置组件

1.创建kuryr用户和必要的目录:

  • 创建用户:

    1
    2
    3
    4
    5
    6
    7
    # groupadd --system kuryr
    # useradd --home-dir "/var/lib/kuryr" \
    --create-home \
    --system \
    --shell /bin/false \
    -g kuryr \
    kuryr
  • 创建目录:

    1
    2
    # mkdir -p /etc/kuryr
    # chown kuryr:kuryr /etc/kuryr

2.克隆并安装kuryr-libnetwork:

1
2
3
4
5
6
7
# apt-get install python-pip
# cd /var/lib/kuryr
# git clone -b stable/queens https://git.openstack.org/openstack/kuryr-libnetwork.git
# chown -R kuryr:kuryr kuryr-libnetwork
# cd kuryr-libnetwork
# pip install -r requirements.txt
# python setup.py install

3.生成一个示例配置文件:

1
2
3
# su -s /bin/sh -c "./tools/generate_config_file_samples.sh" kuryr
# su -s /bin/sh -c "cp etc/kuryr.conf.sample \
/etc/kuryr/kuryr.conf" kuryr

4.编辑 /etc/kuryr/kuryr.conf:

  • 在 [DEFAULT] 部分,配置Kuryr vif绑定可执行文件的路径:

    1
    2
    3
    [DEFAULT]
    ...
    bindir = /usr/local/libexec/kuryr
  • 在 [neutron] 部分,配置标识服务访问:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [neutron]
    ...
    www_authenticate_uri = http://controller:5000
    auth_url = http://controller:35357
    username = kuryr
    user_domain_name = default
    password = KURYR_PASSWORD
    project_name = service
    project_domain_name = default
    auth_type = password

将 KURYR_PASSWORD 替换为您在身份服务中为KURYR用户选择的密码。

5.创建一个upstart配置,命名为 /etc/systemd/system/kuryr-libnetwork.service

1
2
3
4
5
6
7
8
9
[Unit]
Description = Kuryr-libnetwork - Docker network plugin for Neutron

[Service]
ExecStart = /usr/local/bin/kuryr-server --config-file /etc/kuryr/kuryr.conf
CapabilityBoundingSet = CAP_NET_ADMIN

[Install]
WantedBy = multi-user.target

完成安装

1.启用并启动kuryr libnetwork服务:

1
2
# systemctl enable kuryr-libnetwork
# systemctl start kuryr-libnetwork

2.Kuryr启动后,请重新启动Docker服务:

1
# systemctl restart docker

验证操作

验证kuryr libnetwork的运行情况。
1.创建IPv4网络:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# docker network create --driver kuryr --ipam-driver kuryr \
--subnet 10.10.0.0/16 --gateway=10.10.0.1 test_net
785f8c1b5ae480c4ebcb54c1c48ab875754e4680d915b270279e4f6a1aa52283

# docker network ls
NETWORK ID NAME DRIVER SCOPE
...
e13c98aa096b test_net kuryr local

# docker run --net test_net cirros ifconfig
eth0 Link encap:Ethernet HWaddr FA:16:3E:D5:BB:5F
inet addr:10.10.0.9 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1450 Metric:1
RX packets:9 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:894 (894.0 B) TX bytes:188 (188.0 B)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Openstack Zun服务安装 - Kuryr-libnetwork
http://maitianxin.github.io/2023/04/23/openstack/zun/openstack_zun_5/
作者
Matianxin
发布于
2023年4月23日
许可协议