Class: Google::Apis::ContainerV1beta1::TopologyManager

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

Overview

TopologyManager defines the configuration options for the kubelet Topology Manager component. For more information about the supported machine types and versions for the Topology Manager in GKE, see Customizing node system configuration.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ TopologyManager

Returns a new instance of TopologyManager.



10975
10976
10977
# File 'lib/google/apis/container_v1beta1/classes.rb', line 10975

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)


10966
10967
10968
# File 'lib/google/apis/container_v1beta1/classes.rb', line 10966

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)


10973
10974
10975
# File 'lib/google/apis/container_v1beta1/classes.rb', line 10973

def scope
  @scope
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



10980
10981
10982
10983
# File 'lib/google/apis/container_v1beta1/classes.rb', line 10980

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