Skip to content
Snippets Groups Projects
zun-guide.rst 3.22 KiB
Newer Older
  • Learn to ignore specific revisions
  • =======================
    Zun - Container service
    =======================
    
    
    "Zun is an OpenStack Container service. It aims to provide an
    OpenStack API for provisioning and managing containerized
    
    workload on OpenStack."
    For more details about Zun, see `OpenStack Zun Documentation
    <https://docs.openstack.org/zun/latest/>`__.
    
    
    Preparation and Deployment
    --------------------------
    
    
    By default Zun and its dependencies are disabled.
    In order to enable Zun, you need to edit globals.yml and set the
    
    following variables:
    
    .. code-block:: yaml
    
       enable_zun: "yes"
       enable_kuryr: "yes"
       enable_etcd: "yes"
    
       docker_configure_for_zun: "yes"
    
    Docker reconfiguration requires reboostrapping before deploy.
    Make sure you understand the consequences of restarting Docker.
    Please see :ref:`rebootstrapping` for details.
    If it's initial deploy, then there is nothing to worry about
    because it's initial bootstrapping as well and there are no
    running services to affect.
    
    .. code-block:: console
    
       $ kolla-ansible bootstrap-servers
    
    Finally deploy:
    
    .. code-block:: console
    
       $ kolla-ansible deploy
    
    Verification
    ------------
    
    #. Generate the credentials file:
    
       .. code-block:: console
    
          $ kolla-ansible post-deploy
    
    #. Source credentials file:
    
       .. code-block:: console
    
          $ . /etc/kolla/admin-openrc.sh
    
    #. Download and create a glance container image:
    
       .. code-block:: console
    
          $ docker pull cirros
          $ docker save cirros | openstack image create cirros --public \
            --container-format docker --disk-format raw
    
    #. Create zun container:
    
       .. code-block:: console
    
          $ zun create --name test --net network=demo-net cirros ping -c4 8.8.8.8
    
       .. note::
    
          Kuryr does not support networks with DHCP enabled, disable DHCP in the
          subnet used for zun containers.
    
          .. code-block:: console
    
             $ openstack subnet set --no-dhcp <subnet>
    
    #. Verify container is created:
    
       .. code-block:: console
    
          +--------------------------------------+------+---------------+---------+------------+------------+-------+
          | uuid                                 | name | image         | status  | task_state | addresses  | ports |
          +--------------------------------------+------+---------------+---------+------------+------------+-------+
          | 3719a73e-5f86-47e1-bc5f-f4074fc749f2 | test | cirros        | Created | None       | 172.17.0.3 | []    |
          +--------------------------------------+------+---------------+---------+------------+------------+-------+
    
    #. Start container:
    
       .. code-block:: console
    
          $ zun start test
          Request to start container test has been accepted.
    
    #. Verify container:
    
       .. code-block:: console
    
          $ zun logs test
          PING 8.8.8.8 (8.8.8.8): 56 data bytes
          64 bytes from 8.8.8.8: seq=0 ttl=45 time=96.396 ms
          64 bytes from 8.8.8.8: seq=1 ttl=45 time=96.504 ms
          64 bytes from 8.8.8.8: seq=2 ttl=45 time=96.721 ms
          64 bytes from 8.8.8.8: seq=3 ttl=45 time=95.884 ms
    
          --- 8.8.8.8 ping statistics ---
          4 packets transmitted, 4 packets received, 0% packet loss
          round-trip min/avg/max = 95.884/96.376/96.721 ms
    
    For more information about how zun works, see
    `zun, OpenStack Container service <https://docs.openstack.org/zun/latest/>`__.