148 lines
6.9 KiB
Plaintext
148 lines
6.9 KiB
Plaintext
|
---
|
||
|
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
|