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.



8976
8977
8978
# File 'lib/google/apis/container_v1/classes.rb', line 8976

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)


8967
8968
8969
# File 'lib/google/apis/container_v1/classes.rb', line 8967

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)


8974
8975
8976
# File 'lib/google/apis/container_v1/classes.rb', line 8974

def scope
  @scope
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



8981
8982
8983
8984
# File 'lib/google/apis/container_v1/classes.rb', line 8981

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