Class: Scaltainer::KubeResource

Inherits:
ReplicaSetBase show all
Defined in:
lib/scaltainer/orchestrators/kubernetes.rb

Instance Attribute Summary

Attributes inherited from ReplicaSetBase

#id, #name, #namespace, #type

Instance Method Summary collapse

Constructor Details

#initialize(name, namespace) ⇒ KubeResource

Returns a new instance of KubeResource.



5
6
7
8
9
10
11
12
13
# File 'lib/scaltainer/orchestrators/kubernetes.rb', line 5

def initialize(name, namespace)
  @@client ||= self.class.get_client
  type = ENV['KUBERNETES_CONTROLLER_KIND'] || 'deployment'
  # if namespace not specified, use the one found in configuration
  namespace ||= @@namespace || 'default'
  super(name, type, namespace)
  @resource = @@client.send("get_#{@type}", normalize_name(@name), @namespace)
  @id = @resource..uid
end

Instance Method Details

#get_replicasObject



15
16
17
# File 'lib/scaltainer/orchestrators/kubernetes.rb', line 15

def get_replicas
  @resource.spec.replicas
end

#set_replicas(replicas) ⇒ Object



19
20
21
# File 'lib/scaltainer/orchestrators/kubernetes.rb', line 19

def set_replicas(replicas)
  @@client.send("patch_#{@type}", normalize_name(@name), {spec: {replicas: replicas}}, @namespace)
end