Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
76083f73
Commit
76083f73
authored
Nov 03, 2015
by
k8s-merge-robot
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #16671 from DirectXMan12/refactor/hpa-heapster-service
Auto commit by PR queue bot
parents
9b953d75
f262560c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
14 additions
and
8 deletions
+14
-8
controllermanager.go
cmd/kube-controller-manager/app/controllermanager.go
+2
-1
horizontal_test.go
pkg/controller/podautoscaler/horizontal_test.go
+2
-1
metrics_client.go
pkg/controller/podautoscaler/metrics/metrics_client.go
+9
-5
metrics_client_test.go
pkg/controller/podautoscaler/metrics/metrics_client_test.go
+1
-1
No files found.
cmd/kube-controller-manager/app/controllermanager.go
View file @
76083f73
...
...
@@ -336,7 +336,8 @@ func (s *CMServer) Run(_ []string) error {
glog
.
Infof
(
"Starting %s apis"
,
groupVersion
)
if
containsResource
(
resources
,
"horizontalpodautoscalers"
)
{
glog
.
Infof
(
"Starting horizontal pod controller."
)
podautoscaler
.
NewHorizontalController
(
kubeClient
,
metrics
.
NewHeapsterMetricsClient
(
kubeClient
))
.
metricsClient
:=
metrics
.
NewHeapsterMetricsClient
(
kubeClient
,
metrics
.
DefaultHeapsterNamespace
,
metrics
.
DefaultHeapsterService
)
podautoscaler
.
NewHorizontalController
(
kubeClient
,
metricsClient
)
.
Run
(
s
.
HorizontalPodAutoscalerSyncPeriod
)
}
...
...
pkg/controller/podautoscaler/horizontal_test.go
View file @
76083f73
...
...
@@ -206,7 +206,8 @@ func (tc *testCase) verifyResults(t *testing.T) {
func
(
tc
*
testCase
)
runTest
(
t
*
testing
.
T
)
{
testClient
:=
tc
.
prepareTestClient
(
t
)
hpaController
:=
NewHorizontalController
(
testClient
,
metrics
.
NewHeapsterMetricsClient
(
testClient
))
metricsClient
:=
metrics
.
NewHeapsterMetricsClient
(
testClient
,
metrics
.
DefaultHeapsterNamespace
,
metrics
.
DefaultHeapsterService
)
hpaController
:=
NewHorizontalController
(
testClient
,
metricsClient
)
err
:=
hpaController
.
reconcileAutoscalers
()
assert
.
Equal
(
t
,
nil
,
err
)
if
tc
.
verifyEvents
{
...
...
pkg/controller/podautoscaler/metrics/metrics_client.go
View file @
76083f73
...
...
@@ -33,8 +33,8 @@ import (
)
const
(
h
eapsterNamespace
=
"kube-system"
h
eapsterService
=
"heapster"
DefaultH
eapsterNamespace
=
"kube-system"
DefaultH
eapsterService
=
"heapster"
)
var
heapsterQueryStart
=
-
5
*
time
.
Minute
...
...
@@ -66,6 +66,8 @@ type metricDefinition struct {
type
HeapsterMetricsClient
struct
{
client
client
.
Interface
resourceDefinitions
map
[
api
.
ResourceName
]
metricDefinition
heapsterNamespace
string
heapsterService
string
}
var
heapsterMetricDefinitions
=
map
[
api
.
ResourceName
]
metricDefinition
{
...
...
@@ -91,10 +93,12 @@ var heapsterMetricDefinitions = map[api.ResourceName]metricDefinition{
}
// NewHeapsterMetricsClient returns a new instance of Heapster-based implementation of MetricsClient interface.
func
NewHeapsterMetricsClient
(
client
client
.
Interface
)
*
HeapsterMetricsClient
{
func
NewHeapsterMetricsClient
(
client
client
.
Interface
,
namespace
,
service
string
)
*
HeapsterMetricsClient
{
return
&
HeapsterMetricsClient
{
client
:
client
,
resourceDefinitions
:
heapsterMetricDefinitions
,
heapsterNamespace
:
namespace
,
heapsterService
:
service
,
}
}
...
...
@@ -155,8 +159,8 @@ func (h *HeapsterMetricsClient) getForPods(resourceName api.ResourceName, namesp
strings
.
Join
(
podNames
,
","
),
metricSpec
.
name
)
resultRaw
,
err
:=
h
.
client
.
Services
(
heapsterNamespace
)
.
ProxyGet
(
heapsterService
,
metricPath
,
map
[
string
]
string
{
"start"
:
startTime
.
Format
(
time
.
RFC3339
)})
.
resultRaw
,
err
:=
h
.
client
.
Services
(
h
.
h
eapsterNamespace
)
.
ProxyGet
(
h
.
h
eapsterService
,
metricPath
,
map
[
string
]
string
{
"start"
:
startTime
.
Format
(
time
.
RFC3339
)})
.
DoRaw
()
if
err
!=
nil
{
...
...
pkg/controller/podautoscaler/metrics/metrics_client_test.go
View file @
76083f73
...
...
@@ -148,7 +148,7 @@ func (tc *testCase) verifyResults(t *testing.T, val *ResourceConsumption, err er
func
(
tc
*
testCase
)
runTest
(
t
*
testing
.
T
)
{
testClient
:=
tc
.
prepareTestClient
(
t
)
metricsClient
:=
NewHeapsterMetricsClient
(
testClient
)
metricsClient
:=
NewHeapsterMetricsClient
(
testClient
,
DefaultHeapsterNamespace
,
DefaultHeapsterService
)
val
,
_
,
err
:=
metricsClient
.
GetResourceConsumptionAndRequest
(
tc
.
targetResource
,
tc
.
namespace
,
tc
.
selector
)
tc
.
verifyResults
(
t
,
val
,
err
)
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment