eks_cli 0.4.5 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +3 -1
- data/eks_cli.gemspec +1 -0
- data/lib/eks_cli/cli.rb +1 -1
- data/lib/eks_cli/eks/cluster.rb +16 -7
- data/lib/eks_cli/version.rb +1 -1
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e102cb3931260341e379116c618a7ea87a9965923ea1799c054081362fe3d69a
|
4
|
+
data.tar.gz: 7bc35061ea5dd401e599c5deb1ecedf57c6de8b36898a79d0ab74127ab5e2d45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8412cb6ff62d5ee0d4c8183494f28b187b40b2bc9b0e1b3e014323cb75c80493444231e0762c3806bb48a95df09d478b7d89a8cd61d2ebf8f4df88996af01dc6
|
7
|
+
data.tar.gz: 1d75c45b84715d072ac32b5973d45f622df4af130a6ab97e0557216b720502a10750dfe956469cf8bda9bae12cd564c8d0d2cfbd60ecaae77ee49da3ef44f5f8
|
data/README.md
CHANGED
@@ -63,13 +63,15 @@ Options:
|
|
63
63
|
|
64
64
|
## Environment variables
|
65
65
|
|
66
|
-
You are encouraged to
|
66
|
+
You are encouraged to export both `EKS_CLI_CLUSTER_NAME` and `EKS_CLI_S3_BUCKET` environment variables instead of using the corresponding flags on each command. It makes the command clearer and reduces the chance for typos.
|
67
67
|
The following selected commands assumes you have exported both environment variables:
|
68
68
|
```bash
|
69
69
|
export EKS_CLI_S3_BUCKET=my-eks-config-bucket
|
70
70
|
export EKS_CLI_CLUSTER_NAME=my-eks-cluster
|
71
71
|
```
|
72
72
|
|
73
|
+
`EKS_CLI_S3_BUCKET` can be safely put in your `~/.bash_profile` and `EKS_CLI_CLUSTER_NAME` may be exported on a cluster basis
|
74
|
+
|
73
75
|
## Selected Commands
|
74
76
|
|
75
77
|
### Creating more than a single nodegroup
|
data/eks_cli.gemspec
CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.executables = ["eks"]
|
22
22
|
s.require_paths = ["lib"]
|
23
23
|
s.add_dependency 'aws-sdk-s3', '~> 1'
|
24
|
+
s.add_dependency 'aws-sdk-elasticloadbalancing', '~> 1'
|
24
25
|
s.add_dependency 'thor', '0.20.3'
|
25
26
|
s.add_dependency 'aws-sdk-ec2', '1.62.0'
|
26
27
|
s.add_dependency 'aws-sdk-cloudformation', '1.13.0'
|
data/lib/eks_cli/cli.rb
CHANGED
@@ -144,7 +144,7 @@ module EksCli
|
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
|
-
desc "delete-cluster", "deletes a cluster, including nodegroups/elastigroups and cloudformation stacks"
|
147
|
+
desc "delete-cluster", "deletes a cluster, including nodegroups/elastigroups, elbs, kubernetes services and cloudformation stacks"
|
148
148
|
def delete_cluster
|
149
149
|
with_context { EKS::Cluster.new(cluster_name).delete }
|
150
150
|
end
|
data/lib/eks_cli/eks/cluster.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'cloudformation/eks'
|
2
2
|
require 'vpc/client'
|
3
|
+
require 'aws-sdk-elasticloadbalancing'
|
3
4
|
require 'config'
|
4
5
|
require 'nodegroup'
|
5
6
|
require 'log'
|
@@ -34,6 +35,10 @@ module EksCli
|
|
34
35
|
Log.info `aws eks update-kubeconfig --name=#{@cluster_name} --region=#{config["region"]}`
|
35
36
|
end
|
36
37
|
|
38
|
+
def services
|
39
|
+
k8s_client.get_services(namespace: "default").select {|s| s[:spec][:type] == "LoadBalancer"}
|
40
|
+
end
|
41
|
+
|
37
42
|
private
|
38
43
|
|
39
44
|
def delete_config
|
@@ -52,14 +57,14 @@ module EksCli
|
|
52
57
|
@k8s_client ||= EksCli::K8s::Client.new(@cluster_name)
|
53
58
|
end
|
54
59
|
|
55
|
-
def services
|
56
|
-
k8s_client.get_services(namespace: "default").select {|s| s[:spec][:type] == "LoadBalancer"}
|
57
|
-
end
|
58
|
-
|
59
60
|
def delete_services
|
60
|
-
services.
|
61
|
-
|
62
|
-
|
61
|
+
services.each do |s|
|
62
|
+
name = s[:metadata][:name]
|
63
|
+
elb = s[:status][:loadBalancer][:ingress].first[:hostname].split("-").first
|
64
|
+
Log.info "deleting ELB #{elb}"
|
65
|
+
elb_client.delete_load_balancer(load_balancer_name: elb)
|
66
|
+
Log.info "deleting service #{name}"
|
67
|
+
k8s_client.delete_service(name, "default")
|
63
68
|
end
|
64
69
|
end
|
65
70
|
|
@@ -71,6 +76,10 @@ module EksCli
|
|
71
76
|
nodegroups.keys.each {|n| NodeGroup.new(@cluster_name, n).delete}
|
72
77
|
end
|
73
78
|
|
79
|
+
def elb_client
|
80
|
+
@elb_client ||= Aws::ElasticLoadBalancing::Client.new(region: config["region"])
|
81
|
+
end
|
82
|
+
|
74
83
|
end
|
75
84
|
end
|
76
85
|
end
|
data/lib/eks_cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eks_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erez Rabih
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: aws-sdk-elasticloadbalancing
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: thor
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|