kubespray/roles/kubernetes-apps/scheduler_plugins/templates/networktopology.diktyo.x-k8...

149 lines
6.9 KiB
Django/Jinja

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
api-approved.kubernetes.io: https://github.com/kubernetes-sigs/scheduler-plugins/pull/432 # edited manually
controller-gen.kubebuilder.io/version: v0.11.1
creationTimestamp: null
name: networktopologies.networktopology.diktyo.x-k8s.io
spec:
group: networktopology.diktyo.x-k8s.io
names:
kind: NetworkTopology
listKind: NetworkTopologyList
plural: networktopologies
shortNames:
- nt
singular: networktopology
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: NetworkTopology defines network costs in the cluster between
regions and zones
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: NetworkTopologySpec defines the zones and regions of the
cluster.
properties:
configmapName:
description: ConfigmapName to be used for cost calculation
type: string
weights:
description: The manual defined weights of the cluster
items:
description: WeightInfo contains information about all network costs
for a given algorithm.
properties:
name:
description: Algorithm Name for network cost calculation (e.g.,
userDefined)
type: string
topologyList:
description: TopologyList owns Costs between origins
items:
description: TopologyInfo contains information about network
costs for a particular Topology Key.
properties:
originList:
description: OriginList for a particular origin.
items:
description: OriginInfo contains information about network
costs for a particular Origin.
properties:
costList:
description: Costs for the particular origin.
items:
description: CostInfo contains information about
networkCosts.
properties:
bandwidthAllocated:
anyOf:
- type: integer
- type: string
description: Bandwidth allocated between origin
and destination.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
bandwidthCapacity:
anyOf:
- type: integer
- type: string
description: Bandwidth capacity between origin
and destination.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
destination:
description: Name of the destination (e.g.,
Region Name, Zone Name).
type: string
networkCost:
description: Network Cost between origin and
destination (e.g., Dijkstra shortest path,
etc)
format: int64
minimum: 0
type: integer
required:
- destination
- networkCost
type: object
type: array
origin:
description: Name of the origin (e.g., Region Name,
Zone Name).
type: string
required:
- origin
type: object
type: array
topologyKey:
description: Topology key (e.g., "topology.kubernetes.io/region",
"topology.kubernetes.io/zone").
type: string
required:
- originList
- topologyKey
type: object
type: array
required:
- name
- topologyList
type: object
type: array
required:
- configmapName
- weights
type: object
status:
description: NetworkTopologyStatus defines the observed use.
properties:
nodeCount:
description: The total number of nodes in the cluster
format: int64
minimum: 0
type: integer
weightCalculationTime:
description: The calculation time for the weights in the network topology
CRD
format: date-time
type: string
type: object
type: object
served: true
storage: true