Class: Google::Apis::ContainerV1::TopologyManager

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/container_v1/classes.rb,
lib/google/apis/container_v1/representations.rb,
lib/google/apis/container_v1/representations.rb

Overview

TopologyManager defines the configuration options for Topology Manager feature. See https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ TopologyManager

Returns a new instance of TopologyManager.



8636
8637
8638
# File 'lib/google/apis/container_v1/classes.rb', line 8636

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#policyString

Configures the strategy for resource alignment. Allowed values are: * none: the default policy, and does not perform any topology alignment. * restricted: the topology manager stores the preferred NUMA node affinity for the container, and will reject the pod if the affinity if not preferred. * best-effort: the topology manager stores the preferred NUMA node affinity for the container. If the affinity is not preferred, the topology manager will admit the pod to the node anyway. * single-numa-node: the topology manager determines if the single NUMA node affinity is possible. If it is, Topology Manager will store this and the Hint Providers can then use this information when making the resource allocation decision. If, however, this is not possible then the Topology Manager will reject the pod from the node. This will result in a pod in a Terminated state with a pod admission failure. The default policy value is ' none' if unspecified. Details about each strategy can be found here. Corresponds to the JSON property policy

Returns:

  • (String)


8627
8628
8629
# File 'lib/google/apis/container_v1/classes.rb', line 8627

def policy
  @policy
end

#scopeString

The Topology Manager aligns resources in following scopes: * container * pod The default scope is 'container' if unspecified. See https://kubernetes.io/ docs/tasks/administer-cluster/topology-manager/#topology-manager-scopes Corresponds to the JSON property scope

Returns:

  • (String)


8634
8635
8636
# File 'lib/google/apis/container_v1/classes.rb', line 8634

def scope
  @scope
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



8641
8642
8643
8644
# File 'lib/google/apis/container_v1/classes.rb', line 8641

def update!(**args)
  @policy = args[:policy] if args.key?(:policy)
  @scope = args[:scope] if args.key?(:scope)
end