From feff260509b82feb934f5c91c90456d8fa8d7d71 Mon Sep 17 00:00:00 2001 From: Roman Dobosz Date: Tue, 12 Nov 2019 16:40:14 +0100 Subject: [PATCH] Fix directives formatting. According to restructuredtext guidelines, directives should have following formatting: .. directive_name:: param :option: body So it starts with the leading two dots and the space. Next directive name follows with two colons, and finally optional parameter. Than, line below it is either some options delimited with colons, or an empty line. After which body of the directive follows. It should be positioned just at the same column as directive name, so exactly 3 spaces. Most of the directives are formatted wrong, including: - note - image - todo - toctree - warning - figure This patch fixes that. Change-Id: Ic970f72aeb93bcda82f02e57b70370ab79d6855d --- README.rst | 2 +- doc/source/devref/health_manager.rst | 7 +-- doc/source/devref/index.rst | 26 +++++------ doc/source/devref/kuryr_kubernetes_design.rst | 18 ++++---- .../kuryr_kubernetes_ingress_design.rst | 24 +++++------ .../kuryr_kubernetes_ocp_route_design.rst | 6 +-- doc/source/devref/network_policy.rst | 31 +++++++------ .../devref/updating_pod_resources_api.rst | 1 - .../devref/vif_handler_drivers_design.rst | 6 +-- doc/source/installation/containerized.rst | 43 +++++++++++-------- doc/source/installation/devstack/basic.rst | 8 ++-- doc/source/installation/devstack/index.rst | 18 ++++---- .../installation/devstack/nested-macvlan.rst | 3 +- doc/source/installation/index.rst | 40 ++++++++--------- doc/source/installation/manual.rst | 37 ++++++++-------- doc/source/installation/network_namespace.rst | 9 ++-- doc/source/installation/network_policy.rst | 18 ++++---- doc/source/installation/ports-pool.rst | 14 +++--- doc/source/installation/services.rst | 10 ++--- doc/source/installation/upgrades.rst | 8 ++-- doc/source/specs/pike/fuxi_kubernetes.rst | 6 +-- doc/source/specs/queens/network_policy.rst | 6 +-- 22 files changed, 178 insertions(+), 163 deletions(-) diff --git a/README.rst b/README.rst index 0c727bea0..91a60465f 100644 --- a/README.rst +++ b/README.rst @@ -3,7 +3,7 @@ Team and repository tags ======================== .. image:: https://governance.openstack.org/tc/badges/kuryr-kubernetes.svg - :target: https://governance.openstack.org/tc/reference/tags/index.html + :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on diff --git a/doc/source/devref/health_manager.rst b/doc/source/devref/health_manager.rst index bdb39ddca..947676982 100644 --- a/doc/source/devref/health_manager.rst +++ b/doc/source/devref/health_manager.rst @@ -65,9 +65,10 @@ CNI ADD failure is reached, health of CNI components and existence of memory leak. .. note:: - The CNI Health Manager will be started with the check for memory leak - disabled. In order to enable, set the following option in kuryr.conf to a - limit value of memory in MiBs. + + The CNI Health Manager will be started with the check for memory leak + disabled. In order to enable, set the following option in kuryr.conf to a + limit value of memory in MiBs. [cni_health_server] max_memory_usage = -1 diff --git a/doc/source/devref/index.rst b/doc/source/devref/index.rst index 5a80a30be..1406fae03 100644 --- a/doc/source/devref/index.rst +++ b/doc/source/devref/index.rst @@ -34,20 +34,20 @@ testing infrastructure. Design documents ---------------- .. toctree:: - :maxdepth: 3 + :maxdepth: 3 - kuryr_kubernetes_design - service_support - port_manager - vif_handler_drivers_design - health_manager - kuryr_kubernetes_ingress_design - kuryr_kubernetes_ocp_route_design - high_availability - kuryr_kubernetes_versions - port_crd_usage - network_policy - updating_pod_resources_api + kuryr_kubernetes_design + service_support + port_manager + vif_handler_drivers_design + health_manager + kuryr_kubernetes_ingress_design + kuryr_kubernetes_ocp_route_design + high_availability + kuryr_kubernetes_versions + port_crd_usage + network_policy + updating_pod_resources_api Indices and tables diff --git a/doc/source/devref/kuryr_kubernetes_design.rst b/doc/source/devref/kuryr_kubernetes_design.rst index e8af57dfd..15b1cdd97 100644 --- a/doc/source/devref/kuryr_kubernetes_design.rst +++ b/doc/source/devref/kuryr_kubernetes_design.rst @@ -47,9 +47,9 @@ Neutron ports ensuring requested level of isolation. Please see below the component view of the integrated system: .. image:: ../../images/kuryr_k8s_components.png - :alt: integration components - :align: center - :width: 100% + :alt: integration components + :align: center + :width: 100% Design Principles @@ -138,9 +138,9 @@ sequentially in the order arrival. Events of different Kubernetes objects are handled concurrently. .. image:: ../..//images/controller_pipeline.png - :alt: controller pipeline - :align: center - :width: 100% + :alt: controller pipeline + :align: center + :width: 100% ResourceEventHandler @@ -271,9 +271,9 @@ expected to be JSON). For reference see updated pod creation flow diagram: .. image:: ../../images/pod_creation_flow_daemon.png - :alt: Controller-CNI-daemon interaction - :align: center - :width: 100% + :alt: Controller-CNI-daemon interaction + :align: center + :width: 100% /addNetwork diff --git a/doc/source/devref/kuryr_kubernetes_ingress_design.rst b/doc/source/devref/kuryr_kubernetes_ingress_design.rst index 13e8ee8ee..1ee6e9d79 100644 --- a/doc/source/devref/kuryr_kubernetes_ingress_design.rst +++ b/doc/source/devref/kuryr_kubernetes_ingress_design.rst @@ -61,9 +61,9 @@ The following scheme describes the SW modules that provides Ingress controller capability in Kuryr Kubernetes context: .. image:: ../../images/kuryr_k8s_ingress_sw_components.svg - :alt: Ingress ctrlr SW architecture - :align: center - :width: 100% + :alt: Ingress ctrlr SW architecture + :align: center + :width: 100% The Ingress controller functionality will be composed of the following software modules: @@ -87,9 +87,9 @@ The next diagram illustrates creation of Ingress resource in kuryr-kubernetes ingress controller SW : .. image:: ../../images/kuryr_k8s_ingress_ctrl_flow_diagram.svg - :alt: Ingress creation flow diagram - :align: center - :width: 100% + :alt: Ingress creation flow diagram + :align: center + :width: 100% The L7 Router @@ -119,9 +119,9 @@ FIP. The next diagram illustrates data flow from external user to L7 router: .. image:: ../../images/external_traffic_to_l7_router.svg - :alt: external traffic to L7 loadbalancer - :align: center - :width: 100% + :alt: external traffic to L7 loadbalancer + :align: center + :width: 100% Ingress Handler @@ -165,9 +165,9 @@ A diagram describing both L7 router and user loadbalancer Neutron LBaaS entities is given below: .. image:: ../../images/l7_routing_and_user_lb_neutron_entities.svg - :alt: L7 routing and user LB Neutron LBaaS entities - :align: center - :width: 100% + :alt: L7 routing and user LB Neutron LBaaS entities + :align: center + :width: 100% - The blue components are created/released by the L7 router. - The green components are created/released by Ingress handler. diff --git a/doc/source/devref/kuryr_kubernetes_ocp_route_design.rst b/doc/source/devref/kuryr_kubernetes_ocp_route_design.rst index ba41cf43b..f6715f49b 100644 --- a/doc/source/devref/kuryr_kubernetes_ocp_route_design.rst +++ b/doc/source/devref/kuryr_kubernetes_ocp_route_design.rst @@ -66,9 +66,9 @@ Route resources. The following scheme describes OCP-Route controller SW architecture: .. image:: ../../images/kuryr_k8s_ocp_route_ctrl_sw.svg - :alt: Ingress/OCP-Route controllers SW architecture - :align: center - :width: 100% + :alt: Ingress/OCP-Route controllers SW architecture + :align: center + :width: 100% Similar to Kubernetes Ingress, each OCP-Route object being translated to a L7 policy in L7 router, and the rules on OCP-Route become L7 (URL) mapping rules diff --git a/doc/source/devref/network_policy.rst b/doc/source/devref/network_policy.rst index 0f095adf8..6cec159c8 100644 --- a/doc/source/devref/network_policy.rst +++ b/doc/source/devref/network_policy.rst @@ -69,11 +69,13 @@ ones, for instance service/pod handlers, have been modified to account for the side effects/actions of when a Network Policy is being enforced. .. note:: - Kuryr supports a network policy that contains: - * Ingress and Egress rules - * namespace selector and pod selector, defined with match labels or match - expressions, mix of namespace and pod selector, ip block - * named port + + Kuryr supports a network policy that contains: + + * Ingress and Egress rules + * namespace selector and pod selector, defined with match labels or match + expressions, mix of namespace and pod selector, ip block + * named port New handlers and drivers @@ -363,18 +365,19 @@ egress rule allowing traffic to everywhere. securityGroupName: sg-allow-test-via-ns-selector .. note:: - The Service security groups need to be rechecked when a network policy - that affects ingress traffic is created, and also everytime - a pod or namespace is created. + + The Service security groups need to be rechecked when a network policy + that affects ingress traffic is created, and also everytime + a pod or namespace is created. Create network policy flow ++++++++++++++++++++++++++ .. image:: ../../images/create_network_policy_flow.svg - :alt: Network Policy creation flow - :align: center - :width: 100% + :alt: Network Policy creation flow + :align: center + :width: 100% Create pod flow @@ -384,9 +387,9 @@ The following diagram only covers the implementation part that affects network policy. .. image:: ../../images/update_network_policy_on_pod_creation.svg - :alt: Pod creation flow - :align: center - :width: 100% + :alt: Pod creation flow + :align: center + :width: 100% Network policy rule definition diff --git a/doc/source/devref/updating_pod_resources_api.rst b/doc/source/devref/updating_pod_resources_api.rst index 6e6ff7e82..770496785 100644 --- a/doc/source/devref/updating_pod_resources_api.rst +++ b/doc/source/devref/updating_pod_resources_api.rst @@ -37,7 +37,6 @@ Kubernetes source tree. #. Kubernetes released new version of PodResources API and the old one is no longer supported. In this case, without update, we'll not be able to use PodResources service. - #. ``protobuf`` version in ``lower-constraints.txt`` changed to lower version (this is highly unlikely). In this case ``protobuf`` could fail to use our python bindings. diff --git a/doc/source/devref/vif_handler_drivers_design.rst b/doc/source/devref/vif_handler_drivers_design.rst index 167ea28a0..2e285f6e6 100644 --- a/doc/source/devref/vif_handler_drivers_design.rst +++ b/doc/source/devref/vif_handler_drivers_design.rst @@ -54,9 +54,9 @@ additional interfaces, the Multi-VIF driver can just return. Diagram describing VifHandler - Drivers flow is giver below: .. image:: ../../images/vif_handler_drivers_design.png - :alt: vif handler drivers design - :align: center - :width: 100% + :alt: vif handler drivers design + :align: center + :width: 100% Config Options diff --git a/doc/source/installation/containerized.rst b/doc/source/installation/containerized.rst index 151b49566..08c98ee2d 100644 --- a/doc/source/installation/containerized.rst +++ b/doc/source/installation/containerized.rst @@ -46,9 +46,10 @@ that can be used to Deploy Kuryr on Kubernetes. The script is placed in kuryr-controller container. Defaults to no certificate. .. note:: - Providing no or incorrect ``ca_certificate_path`` will still create the file - with ``Secret`` definition with empty CA certificate file. This file will - still be mounted in kuryr-controller ``Deployment`` definition. + + Providing no or incorrect ``ca_certificate_path`` will still create the file + with ``Secret`` definition with empty CA certificate file. This file will + still be mounted in kuryr-controller ``Deployment`` definition. If no path to config files is provided, script automatically generates minimal configuration. However some of the options should be filled by the user. You @@ -77,20 +78,22 @@ script. Below is the list of available variables: * ``$KURYR_K8S_BINDING_IFACE`` - ``[binding]link_iface`` (default: eth0) .. note:: - kuryr-daemon will be started in the CNI container. It is using ``os-vif`` and - ``oslo.privsep`` to do pod wiring tasks. By default it'll call ``sudo`` to - raise privileges, even though container is priviledged by itself or ``sudo`` - is missing from container OS (e.g. default CentOS 7). To prevent that make - sure to set following options in kuryr.conf used for kuryr-daemon:: + + kuryr-daemon will be started in the CNI container. It is using ``os-vif`` + and ``oslo.privsep`` to do pod wiring tasks. By default it'll call ``sudo`` + to raise privileges, even though container is priviledged by itself or + ``sudo`` is missing from container OS (e.g. default CentOS 7). To prevent + that make sure to set following options in kuryr.conf used for + kuryr-daemon:: [vif_plug_ovs_privileged] helper_command=privsep-helper [vif_plug_linux_bridge_privileged] helper_command=privsep-helper - Those options will prevent oslo.privsep from doing that. If rely on - aformentioned script to generate config files, those options will be added - automatically. + Those options will prevent oslo.privsep from doing that. If rely on + aformentioned script to generate config files, those options will be added + automatically. In case of using ports pool functionality, we may want to make the kuryr-controller not ready until the pools are populated with the existing @@ -114,13 +117,17 @@ This should generate 5 files in your ````: * cni_ds.yml .. note:: - kuryr-cni daemonset mounts /var/run, due to necessity of accessing to several sub directories - like openvswitch and auxiliary directory for vhostuser configuration and socket files. Also when - neutron-openvswitch-agent works with datapath_type = netdev configuration option, kuryr-kubernetes - has to move vhostuser socket to auxiliary directory, that auxiliary directory should be on the same - mount point, otherwise connection of this socket will be refused. - In case when Open vSwitch keeps vhostuser socket files not in /var/run/openvswitch, openvswitch - mount point in cni_ds.yaml and [vhostuser] section in config_map.yml should be changed properly. + + kuryr-cni daemonset mounts /var/run, due to necessity of accessing to + several sub directories like openvswitch and auxiliary directory for + vhostuser configuration and socket files. Also when + neutron-openvswitch-agent works with datapath_type = netdev configuration + option, kuryr-kubernetes has to move vhostuser socket to auxiliary + directory, that auxiliary directory should be on the same mount point, + otherwise connection of this socket will be refused. In case when Open + vSwitch keeps vhostuser socket files not in /var/run/openvswitch, + openvswitch mount point in cni_ds.yaml and [vhostuser] section in + config_map.yml should be changed properly. Deploying Kuryr resources on Kubernetes diff --git a/doc/source/installation/devstack/basic.rst b/doc/source/installation/devstack/basic.rst index 012af37d0..07bb896a5 100644 --- a/doc/source/installation/devstack/basic.rst +++ b/doc/source/installation/devstack/basic.rst @@ -36,10 +36,10 @@ directory: :: .. note:: - ``local.conf.sample`` file is configuring Neutron and Kuryr with standard - Open vSwitch ML2 networking. In the ``devstack`` directory there are other - sample configuration files that enable OpenDaylight or Drangonflow networking. - See other pages in this documentation section to learn more. + ``local.conf.sample`` file is configuring Neutron and Kuryr with standard + Open vSwitch ML2 networking. In the ``devstack`` directory there are other + sample configuration files that enable OpenDaylight or Drangonflow + networking. See other pages in this documentation section to learn more. Now edit ``devstack/local.conf`` to set up some initial options: diff --git a/doc/source/installation/devstack/index.rst b/doc/source/installation/devstack/index.rst index 351476370..c7062fa6c 100644 --- a/doc/source/installation/devstack/index.rst +++ b/doc/source/installation/devstack/index.rst @@ -30,13 +30,13 @@ ML2 drivers. .. toctree:: - :maxdepth: 1 + :maxdepth: 1 - basic - nested-vlan - nested-macvlan - odl_support - ovn_support - dragonflow_support - containerized - ports-pool + basic + nested-vlan + nested-macvlan + odl_support + ovn_support + dragonflow_support + containerized + ports-pool diff --git a/doc/source/installation/devstack/nested-macvlan.rst b/doc/source/installation/devstack/nested-macvlan.rst index 125d76ba4..5df1384d8 100644 --- a/doc/source/installation/devstack/nested-macvlan.rst +++ b/doc/source/installation/devstack/nested-macvlan.rst @@ -10,7 +10,8 @@ nested MACVLAN driver rather than VLAN and trunk ports. 2. Launch a Nova VM with MACVLAN support .. todo:: - Add a list of neutron commands, required to launch a such a VM + + Add a list of neutron commands, required to launch a such a VM 3. Log into the VM and set up Kubernetes along with Kuryr using devstack: - Since undercloud Neutron will be used by pods, Neutron services should be diff --git a/doc/source/installation/index.rst b/doc/source/installation/index.rst index 5bcffd86f..f368191bf 100644 --- a/doc/source/installation/index.rst +++ b/doc/source/installation/index.rst @@ -26,24 +26,24 @@ Installation This section describes how you can install and configure kuryr-kubernetes .. toctree:: - :maxdepth: 2 + :maxdepth: 2 - manual - https_kubernetes - ports-pool - services - ipv6 - upgrades - devstack/index - default_configuration - trunk_ports - network_namespace - network_policy - testing_connectivity - testing_nested_connectivity - containerized - ocp_route - multi_vif_with_npwg_spec - sriov - testing_udp_services - testing_sriov_functional + manual + https_kubernetes + ports-pool + services + ipv6 + upgrades + devstack/index + default_configuration + trunk_ports + network_namespace + network_policy + testing_connectivity + testing_nested_connectivity + containerized + ocp_route + multi_vif_with_npwg_spec + sriov + testing_udp_services + testing_sriov_functional diff --git a/doc/source/installation/manual.rst b/doc/source/installation/manual.rst index 9732121e3..1b524b01f 100644 --- a/doc/source/installation/manual.rst +++ b/doc/source/installation/manual.rst @@ -172,30 +172,31 @@ Kuryr CNI Daemon, should be installed on every Kubernetes node, so following steps need to be repeated. .. note:: - You can tweak configuration of some timeouts to match your environment. It's - crucial for scalability of the whole deployment. In general the timeout to - serve CNI request from kubelet to Kuryr is 180 seconds. After that time - kubelet will retry the request. Additionally there are two configuration - options:: + + You can tweak configuration of some timeouts to match your environment. It's + crucial for scalability of the whole deployment. In general the timeout to + serve CNI request from kubelet to Kuryr is 180 seconds. After that time + kubelet will retry the request. Additionally there are two configuration + options:: [cni_daemon] vif_annotation_timeout=60 pyroute2_timeout=10 - ``vif_annotation_timeout`` is time the Kuryr CNI Daemon will wait for Kuryr - Controller to create a port in Neutron and add information about it to Pod's - metadata. If either Neutron or Kuryr Controller doesn't keep up with high - number of requests, it's advised to increase this timeout. Please note that - increasing it over 180 seconds will not have any effect as the request will - time out anyway and will be retried (which is safe). + ``vif_annotation_timeout`` is time the Kuryr CNI Daemon will wait for Kuryr + Controller to create a port in Neutron and add information about it to Pod's + metadata. If either Neutron or Kuryr Controller doesn't keep up with high + number of requests, it's advised to increase this timeout. Please note that + increasing it over 180 seconds will not have any effect as the request will + time out anyway and will be retried (which is safe). - ``pyroute2_timeout`` is internal timeout of pyroute2 library, that is - responsible for doing modifications to Linux Kernel networking stack (e.g. - moving interfaces to Pod's namespaces, adding routes and ports or assigning - addresses to interfaces). When serving a lot of ADD/DEL CNI requests on a - regular basis it's advised to increase that timeout. Please note that the - value denotes *maximum* time to wait for kernel to complete the operations. - If operation succeeds earlier, request isn't delayed. + ``pyroute2_timeout`` is internal timeout of pyroute2 library, that is + responsible for doing modifications to Linux Kernel networking stack (e.g. + moving interfaces to Pod's namespaces, adding routes and ports or assigning + addresses to interfaces). When serving a lot of ADD/DEL CNI requests on a + regular basis it's advised to increase that timeout. Please note that the + value denotes *maximum* time to wait for kernel to complete the operations. + If operation succeeds earlier, request isn't delayed. Run kuryr-daemon:: diff --git a/doc/source/installation/network_namespace.rst b/doc/source/installation/network_namespace.rst index 71a5e6119..77fae5d8b 100644 --- a/doc/source/installation/network_namespace.rst +++ b/doc/source/installation/network_namespace.rst @@ -88,10 +88,11 @@ to add the namespace handler and state the namespace subnet driver with:: KURYR_ENABLED_HANDLERS=vif,lb,lbaasspec,namespace .. note:: - If the loadbalancer maintains the source IP (such as ovn-octavia driver), - there is no need to enforce sg rules at the load balancer level. - To disable the enforcement, you need to set the following variable: - KURYR_ENFORCE_SG_RULES=False + + If the loadbalancer maintains the source IP (such as ovn-octavia driver), + there is no need to enforce sg rules at the load balancer level. + To disable the enforcement, you need to set the following variable: + KURYR_ENFORCE_SG_RULES=False Testing the network per namespace functionality diff --git a/doc/source/installation/network_policy.rst b/doc/source/installation/network_policy.rst index 21d79c27c..70ea66ec5 100644 --- a/doc/source/installation/network_policy.rst +++ b/doc/source/installation/network_policy.rst @@ -26,10 +26,11 @@ After that, enable also the security group drivers for policies:: pod_security_groups_driver = policy .. warning:: - The correct behavior for pods that have no network policy applied is to allow - all ingress and egress traffic. If you want that to be enforced, please make - sure to create an SG allowing all traffic and add it to - ``[neutron_defaults]pod_security_groups`` setting in ``kuryr.conf``:: + + The correct behavior for pods that have no network policy applied is to + allow all ingress and egress traffic. If you want that to be enforced, + please make sure to create an SG allowing all traffic and add it to + ``[neutron_defaults]pod_security_groups`` setting in ``kuryr.conf``:: [neutron_defaults] pod_security_groups = ALLOW_ALL_SG_ID @@ -68,10 +69,11 @@ to add the policy, pod_label and namespace handler and drivers with:: KURYR_SUBNET_DRIVER=namespace .. note:: - If the loadbalancer maintains the source IP (such as ovn-octavia driver), - there is no need to enforce sg rules at the load balancer level. - To disable the enforcement, you need to set the following variable: - KURYR_ENFORCE_SG_RULES=False + + If the loadbalancer maintains the source IP (such as ovn-octavia driver), + there is no need to enforce sg rules at the load balancer level. To disable + the enforcement, you need to set the following variable: + KURYR_ENFORCE_SG_RULES=False Testing the network policy support functionality diff --git a/doc/source/installation/ports-pool.rst b/doc/source/installation/ports-pool.rst index e3d6d4ea1..e7b545809 100644 --- a/doc/source/installation/ports-pool.rst +++ b/doc/source/installation/ports-pool.rst @@ -126,15 +126,15 @@ the right pod-vif driver set. .. note:: - Previously, `pools_vif_drivers` configuration option provided similar - functionality, but is now deprecated and not recommended. - It stored a mapping from pool_driver => pod_vif_driver instead, disallowing - the use of a single pool driver as keys for multiple pod_vif_drivers. + Previously, `pools_vif_drivers` configuration option provided similar + functionality, but is now deprecated and not recommended. It stored a + mapping from pool_driver => pod_vif_driver instead, disallowing the use of a + single pool driver as keys for multiple pod_vif_drivers. - .. code-block:: ini + .. code-block:: ini - [vif_pool] - pools_vif_drivers=nested:nested-vlan,neutron:neutron-vif + [vif_pool] + pools_vif_drivers=nested:nested-vlan,neutron:neutron-vif Note that if no annotation is set on a node, the default pod_vif_driver is used. diff --git a/doc/source/installation/services.rst b/doc/source/installation/services.rst index a2dd9ac66..954346df2 100644 --- a/doc/source/installation/services.rst +++ b/doc/source/installation/services.rst @@ -18,12 +18,12 @@ be implemented in the following way: .. _LBaaS API: https://wiki.openstack.org/wiki/Neutron/LBaaS/API_2.0 .. figure:: ../../images/lbaas_translation.svg - :width: 100% - :alt: Graphical depiction of the translation explained above + :width: 100% + :alt: Graphical depiction of the translation explained above - In this diagram you can see how the Kubernetes entities in the top left - corner are implemented in plain Kubernetes networking (top-right) and in - Kuryr's default configuration (bottom) + In this diagram you can see how the Kubernetes entities in the top left + corner are implemented in plain Kubernetes networking (top-right) and in + Kuryr's default configuration (bottom) If you are paying attention and are familiar with the `LBaaS API`_ you probably noticed that we have separate pools for each exposed port in a service. This is diff --git a/doc/source/installation/upgrades.rst b/doc/source/installation/upgrades.rst index d290c3f5a..4cb6d47da 100644 --- a/doc/source/installation/upgrades.rst +++ b/doc/source/installation/upgrades.rst @@ -31,12 +31,12 @@ upgrade check`` utility **before upgrading Kuryr-Kubernetes services to T**. .. note:: - In case of running Kuryr-Kubernetes containerized you can use ``kubectl - exec`` to run kuryr-k8s-status + In case of running Kuryr-Kubernetes containerized you can use ``kubectl + exec`` to run kuryr-k8s-status - .. code-block:: bash + .. code-block:: console - $ kubectl -n kube-system exec -it kuryr-k8s-status upgrade check + $ kubectl -n kube-system exec -it kuryr-k8s-status upgrade check .. code-block:: bash diff --git a/doc/source/specs/pike/fuxi_kubernetes.rst b/doc/source/specs/pike/fuxi_kubernetes.rst index 838be7f2a..887201a62 100644 --- a/doc/source/specs/pike/fuxi_kubernetes.rst +++ b/doc/source/specs/pike/fuxi_kubernetes.rst @@ -70,9 +70,9 @@ such as attach volumes to hosts, etc.. Both volume provisioner and FlexVolume driver will consume OpenStack storage services via Fuxi server. .. image:: ../../../images/fuxi_k8s_components.png - :alt: integration components - :align: center - :width: 100% + :alt: integration components + :align: center + :width: 100% Volume Provisioner diff --git a/doc/source/specs/queens/network_policy.rst b/doc/source/specs/queens/network_policy.rst index e204a850a..1dfd20660 100644 --- a/doc/source/specs/queens/network_policy.rst +++ b/doc/source/specs/queens/network_policy.rst @@ -428,9 +428,9 @@ Execution flow diagram See below the network policy attachment to the pod after pod creation: .. image:: ../../../images/net-policy.svg - :alt: Ingress creation flow diagram - :align: left - :width: 100% + :alt: Ingress creation flow diagram + :align: left + :width: 100% Possible optimization: