Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-16114

[enterprise-4.13] explain cluster .cidr and .hostPrefix math in installing/cluster-capabilities.adoc

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • 4.13.z, 4.12.z, 4.11.z
    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • No
    • None
    • None
    • None
    • None
    • None
    • Release Note Not Required
    • N/A
    • None
    • None
    • None
    • None

      Description of problem:

      We don't do a great job of explaining the hosts and subnet math for the clusterNetwork in order to let customers know how many nodes are possible in the cluster and how many pods can exist on each node.  You can find a few examples sprinkled throughout our docs but we are inconsistent and incomplete.  I would suggests the following:
      
      "The combination of clusterNetwork cidr and hostprefix determine both the number of nodes that are possible in a cluster and the number of pods that each node can host. For example, to calculate the maximum number of nodes in a cluster:
      
      2^(hostprefix-cidr)=maximum nodes or for the default: 2^(23-14)=512
      
      The number of pods per host is determined by the hostPrefix. To calculate:
      2^(32-hostPrefix)-2=maximum pods/node or for the default: 2^(32-23)-2=510
      
      With OVNKubernetes CNI you can see the pod subnets assigned to each host with:
      
      oc get nodes  -o jsonpath='{range.items[*]}{.metadata.name}{"\t"}{.metadata.annotations.k8s\.ovn\.org/node-subnets}{"\n"}'
      
      Also with OVNKubernetes, expanding the clusterNetwork cidr to allow more nodes per cluster is possible. See 'Expanding the cluster network IP address range'."
      
      https://access.redhat.com/documentation/en-us/openshift_container_platform/4.13/html-single/networking/index#nw-cluster-network-range-edit_configuring-cluster-network-range  
      
      The most important place to put this, in my opinion, is the installation guide; probably the "Cluster capabilities" section, because that's where these decisions will be made.  Each "Installing on <xyz platform>" section has many occurrences of describing the networking.clusterNetwork.cidr object so I would not bother trying to link each one of them.  
      
      There are a whole bunch of guides, however, where this should be linked.  I'll name a few:
      -vsphere installation guide: https://docs.openshift.com/container-platform/4.13/installing/installing_vsphere/installing-vsphere.html
      -migrating to OVNKubernetes: https://access.redhat.com/documentation/en-us/openshift_container_platform/4.13/html-single/networking/index#nw-kuryr-migration_migrate-from-kuryr-sdn
      - cluster network configuration object: https://access.redhat.com/documentation/en-us/openshift_container_platform/4.13/html-single/networking/index#nw-operator-cr-cno-object_cluster-network-operator
      - expanding the cluster network range: https://access.redhat.com/documentation/en-us/openshift_container_platform/4.13/html-single/networking/index#nw-cluster-network-range-edit_configuring-cluster-network-range

      Version-Release number of selected component (if applicable):

       

      How reproducible:

       

      Steps to Reproduce:

      1.
      2.
      3.
      

      Actual results:

       

      Expected results:

       

      Additional info:

       

              rhn-support-stevsmit Steven Smith
              rhn-support-cfields Chris Fields
              None
              Chris Fields
              None
              None
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: