--- api_metadata: apiVersion: "networking.k8s.io/v1alpha1" import: "k8s.io/api/networking/v1alpha1" kind: "ClusterCIDR" content_type: "api_reference" description: "ClusterCIDR 表示启用 MultiCIDRRangeAllocator 时针对每个节点 Pod CIDR 分配进行的单个配置(参阅针对 kube-controller-manager 的配置)。" title: "ClusterCIDR v1alpha1" weight: 11 --- `apiVersion: networking.k8s.io/v1alpha1` `import "k8s.io/api/networking/v1alpha1"` ## ClusterCIDR {#ClusterCIDR} ClusterCIDR 表示启用 MultiCIDRRangeAllocator 时针对每个节点 Pod CIDR 分配进行的单个配置 (参阅针对 kube-controller-manager 的配置)。 一个集群可能有任意数量的 ClusterCIDR 资源,在为节点分配 CIDR 时将考虑所有这些资源。 当节点选择算符与相关节点匹配并且有空闲 CIDR 可供分配时,ClusterCIDR 才能有资格用于给定的节点。 在存在多个匹配的 ClusterCIDR 资源的情况下,分配器将尝试使用内部启发式算法来解决这一问题, 但可以使用节点选择算符与该节点匹配的任何 ClusterCIDR。
- **apiVersion**: networking.k8s.io/v1alpha1 - **kind**: ClusterCIDR - **metadata** (}}">ObjectMeta) 标准的对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - **spec** (}}">ClusterCIDRSpec) spec 是 ClusterCIDR 的预期状态。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status ## ClusterCIDRSpec {#ClusterCIDRSpec} ClusterCIDRSpec 定义 ClusterCIDR 的预期状态。
- **perNodeHostBits** (int32),必需 perNodeHostBits 定义每个节点要配置的主机位数。 子网掩码决定有多少地址用于网络位和主机位。 例如 IPv4 地址 192.168.0.0/24 将该地址拆分为 24 位用于网络部分和 8 位用于主机部分。 要分配 256 个 IP,需将此字段设置为 8(针对 IPv4 的掩码为 /24,针对 IPv6 的掩码为 /120)。 最小值为 4(16 个 IP)。此字段是不可变的。 - **ipv4** (string) ipv4 以 CIDR 表示法定义 IPv4 IP 块(例如 “10.0.0.0/8”)。 必须至少指定 ipv4 和 ipv6 之一。该字段是不可变的。 - **ipv6** (string) ipv6 以 CIDR 表示法定义 IPv6 IP 块(例如 “2001:db8::/64”)。 必须至少指定 ipv4 和 ipv6 之一。 该字段是不可变的。 - **nodeSelector** (NodeSelector) nodeSelector 定义该配置适用于哪些节点。 空白或值为 nil 的 nodeSelector 选择所有节点。该字段是不可变的。 **节点选择算符表示在一组节点上一个或多个标签查询结果的并集; 也就是说,它表示由节点选择算符条件表示的选择算符的逻辑或计算结果。** - **nodeSelector.nodeSelectorTerms** ([]NodeSelectorTerm),必需 必需。节点选择算符条件的列表。这些条件以逻辑与进行计算。 **一个 null 或空的节点选择算符条件不会与任何对象匹配。这些要求会按逻辑与的关系来计算。 TopologySelectorTerm 类别实现了 NodeSelectorTerm 的子集。** - **nodeSelector.nodeSelectorTerms.matchExpressions** ([]}}">NodeSelectorRequirement) 基于节点标签所设置的节点选择算符要求的列表。 - **nodeSelector.nodeSelectorTerms.matchFields** ([]}}">NodeSelectorRequirement) 基于节点字段所设置的节点选择算符要求的列表。 ## ClusterCIDRList {#ClusterCIDRList} ClusterCIDRList 包含 ClusterCIDR 的列表。
- **apiVersion**: networking.k8s.io/v1alpha1 - **kind**: ClusterCIDRList - **metadata** (}}">ListMeta) 标准的对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - **items** ([]}}">ClusterCIDR),必需 items 是 ClusterCIDRs 的列表。 ## 操作 {#Operations}
### `get` 读取指定的 ClusterCIDR #### HTTP 请求 GET /apis/networking.k8s.io/v1alpha1/clustercidrs/{name} #### 参数 - **name** (**路径参数**):string,必需 ClusterCIDR 的名称 - **pretty** (**查询参数**):string }}">pretty #### 响应 200 (}}">ClusterCIDR): OK 401: Unauthorized ### `list` 列出或监视 ClusterCIDR 类别的对象 #### HTTP 请求 GET /apis/networking.k8s.io/v1alpha1/clustercidrs #### 参数 - **allowWatchBookmarks** (**查询参数**):boolean }}">allowWatchBookmarks - **continue** (**查询参数**):string }}">continue - **fieldSelector** (**查询参数**):string }}">fieldSelector - **labelSelector** (**查询参数**):string }}">labelSelector - **limit** (**查询参数**):integer }}">limit - **pretty** (**查询参数**):string }}">pretty - **resourceVersion** (**查询参数**):string }}">resourceVersion - **resourceVersionMatch** (**查询参数**):string }}">resourceVersionMatch - **sendInitialEvents** (**查询参数**):boolean }}">sendInitialEvents - **timeoutSeconds** (**查询参数**):integer }}">timeoutSeconds - **watch** (**查询参数**):boolean }}">watch #### 响应 200 (}}">ClusterCIDRList): OK 401: Unauthorized ### `create` 创建 ClusterCIDR #### HTTP 请求 POST /apis/networking.k8s.io/v1alpha1/clustercidrs #### 参数 - **body**: }}">ClusterCIDR,必需 - **dryRun** (**查询参数**):string }}">dryRun - **fieldManager** (**查询参数**):string }}">fieldManager - **fieldValidation** (**查询参数**):string }}">fieldValidation - **pretty** (**查询参数**):string }}">pretty #### 响应 200 (}}">ClusterCIDR): OK 201 (}}">ClusterCIDR): Created 202 (}}">ClusterCIDR): Accepted 401: Unauthorized ### `update` 替换指定的 ClusterCIDR #### HTTP 请求 PUT /apis/networking.k8s.io/v1alpha1/clustercidrs/{name} #### 参数 - **name** (**路径参数**):string,必需 ClusterCIDR 的名称 - **body**: }}">ClusterCIDR,必需 - **dryRun** (**查询参数**):string }}">dryRun - **fieldManager** (**查询参数**):string }}">fieldManager - **fieldValidation** (**查询参数**):string }}">fieldValidation - **pretty** (**查询参数**):string }}">pretty #### 响应 200 (}}">ClusterCIDR): OK 201 (}}">ClusterCIDR): Created 401: Unauthorized ### `patch` 部分更新指定的 ClusterCIDR #### HTTP 请求 PATCH /apis/networking.k8s.io/v1alpha1/clustercidrs/{name} #### 参数 - **name** (**路径参数**):string,必需 ClusterCIDR 的名称 - **body**: }}">Patch,必需 - **dryRun** (**查询参数**):string }}">dryRun - **fieldManager** (**查询参数**):string }}">fieldManager - **fieldValidation** (**查询参数**):string }}">fieldValidation - **force** (**查询参数**):boolean }}">force - **pretty** (**查询参数**):string }}">pretty #### 响应 200 (}}">ClusterCIDR): OK 201 (}}">ClusterCIDR): Created 401: Unauthorized ### `delete` 删除 ClusterCIDR #### HTTP 请求 DELETE /apis/networking.k8s.io/v1alpha1/clustercidrs/{name} #### 参数 - **name** (**路径参数**):string,必需 ClusterCIDR 的名称 - **body**: }}">DeleteOptions - **dryRun** (**查询参数**):string }}">dryRun - **gracePeriodSeconds** (**查询参数**):integer }}">gracePeriodSeconds - **pretty** (**查询参数**):string }}">pretty - **propagationPolicy** (**查询参数**):string }}">propagationPolicy #### 响应 200 (}}">Status): OK 202 (}}">Status): Accepted 401: Unauthorized ### `deletecollection` 删除 ClusterCIDR 的集合 #### HTTP 请求 DELETE /apis/networking.k8s.io/v1alpha1/clustercidrs #### 参数 - **body**: }}">DeleteOptions - **continue** (**查询参数**):string }}">continue - **dryRun** (**查询参数**):string }}">dryRun - **fieldSelector** (**查询参数**):string }}">fieldSelector - **gracePeriodSeconds** (**查询参数**):integer }}">gracePeriodSeconds - **labelSelector** (**查询参数**):string }}">labelSelector - **limit** (**查询参数**):integer }}">limit - **pretty** (**查询参数**):string }}">pretty - **propagationPolicy** (**查询参数**):string }}">propagationPolicy - **resourceVersion** (**查询参数**):string }}">resourceVersion - **resourceVersionMatch** (**查询参数**):string }}">resourceVersionMatch - **sendInitialEvents** (**查询参数**):boolean }}">sendInitialEvents - **timeoutSeconds** (**查询参数**):integer }}">timeoutSeconds #### 响应 200 (}}">Status): OK 401: Unauthorized