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
91de14cf
Commit
91de14cf
authored
Jun 06, 2016
by
Chao Xu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rename the gc for terminated pods to "podgc"
parent
6c549ae9
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
17 additions
and
16 deletions
+17
-16
controllermanager.go
cmd/kube-controller-manager/app/controllermanager.go
+2
-2
controllermanager.go
contrib/mesos/pkg/controllermanager/controllermanager.go
+2
-2
doc.go
pkg/controller/podgc/doc.go
+6
-5
gc_controller.go
pkg/controller/podgc/gc_controller.go
+6
-6
gc_controller_test.go
pkg/controller/podgc/gc_controller_test.go
+1
-1
pod_gc.go
test/e2e/pod_gc.go
+0
-0
No files found.
cmd/kube-controller-manager/app/controllermanager.go
View file @
91de14cf
...
@@ -52,7 +52,6 @@ import (
...
@@ -52,7 +52,6 @@ import (
"k8s.io/kubernetes/pkg/controller/framework"
"k8s.io/kubernetes/pkg/controller/framework"
"k8s.io/kubernetes/pkg/controller/framework/informers"
"k8s.io/kubernetes/pkg/controller/framework/informers"
"k8s.io/kubernetes/pkg/controller/garbagecollector"
"k8s.io/kubernetes/pkg/controller/garbagecollector"
"k8s.io/kubernetes/pkg/controller/gc"
"k8s.io/kubernetes/pkg/controller/job"
"k8s.io/kubernetes/pkg/controller/job"
namespacecontroller
"k8s.io/kubernetes/pkg/controller/namespace"
namespacecontroller
"k8s.io/kubernetes/pkg/controller/namespace"
nodecontroller
"k8s.io/kubernetes/pkg/controller/node"
nodecontroller
"k8s.io/kubernetes/pkg/controller/node"
...
@@ -60,6 +59,7 @@ import (
...
@@ -60,6 +59,7 @@ import (
petset
"k8s.io/kubernetes/pkg/controller/petset"
petset
"k8s.io/kubernetes/pkg/controller/petset"
"k8s.io/kubernetes/pkg/controller/podautoscaler"
"k8s.io/kubernetes/pkg/controller/podautoscaler"
"k8s.io/kubernetes/pkg/controller/podautoscaler/metrics"
"k8s.io/kubernetes/pkg/controller/podautoscaler/metrics"
"k8s.io/kubernetes/pkg/controller/podgc"
replicaset
"k8s.io/kubernetes/pkg/controller/replicaset"
replicaset
"k8s.io/kubernetes/pkg/controller/replicaset"
replicationcontroller
"k8s.io/kubernetes/pkg/controller/replication"
replicationcontroller
"k8s.io/kubernetes/pkg/controller/replication"
resourcequotacontroller
"k8s.io/kubernetes/pkg/controller/resourcequota"
resourcequotacontroller
"k8s.io/kubernetes/pkg/controller/resourcequota"
...
@@ -220,7 +220,7 @@ func StartControllers(s *options.CMServer, kubeClient *client.Client, kubeconfig
...
@@ -220,7 +220,7 @@ func StartControllers(s *options.CMServer, kubeClient *client.Client, kubeconfig
time
.
Sleep
(
wait
.
Jitter
(
s
.
ControllerStartInterval
.
Duration
,
ControllerStartJitter
))
time
.
Sleep
(
wait
.
Jitter
(
s
.
ControllerStartInterval
.
Duration
,
ControllerStartJitter
))
if
s
.
TerminatedPodGCThreshold
>
0
{
if
s
.
TerminatedPodGCThreshold
>
0
{
go
gc
.
New
(
clientset
.
NewForConfigOrDie
(
restclient
.
AddUserAgent
(
kubeconfig
,
"
garbage-collector"
)),
ResyncPeriod
(
s
),
int
(
s
.
TerminatedPodGCThreshold
))
.
go
podgc
.
New
(
clientset
.
NewForConfigOrDie
(
restclient
.
AddUserAgent
(
kubeconfig
,
"pod-
garbage-collector"
)),
ResyncPeriod
(
s
),
int
(
s
.
TerminatedPodGCThreshold
))
.
Run
(
wait
.
NeverStop
)
Run
(
wait
.
NeverStop
)
time
.
Sleep
(
wait
.
Jitter
(
s
.
ControllerStartInterval
.
Duration
,
ControllerStartJitter
))
time
.
Sleep
(
wait
.
Jitter
(
s
.
ControllerStartInterval
.
Duration
,
ControllerStartJitter
))
}
}
...
...
contrib/mesos/pkg/controllermanager/controllermanager.go
View file @
91de14cf
...
@@ -42,13 +42,13 @@ import (
...
@@ -42,13 +42,13 @@ import (
"k8s.io/kubernetes/pkg/controller/daemon"
"k8s.io/kubernetes/pkg/controller/daemon"
"k8s.io/kubernetes/pkg/controller/deployment"
"k8s.io/kubernetes/pkg/controller/deployment"
endpointcontroller
"k8s.io/kubernetes/pkg/controller/endpoint"
endpointcontroller
"k8s.io/kubernetes/pkg/controller/endpoint"
"k8s.io/kubernetes/pkg/controller/gc"
"k8s.io/kubernetes/pkg/controller/job"
"k8s.io/kubernetes/pkg/controller/job"
namespacecontroller
"k8s.io/kubernetes/pkg/controller/namespace"
namespacecontroller
"k8s.io/kubernetes/pkg/controller/namespace"
nodecontroller
"k8s.io/kubernetes/pkg/controller/node"
nodecontroller
"k8s.io/kubernetes/pkg/controller/node"
persistentvolumecontroller
"k8s.io/kubernetes/pkg/controller/persistentvolume"
persistentvolumecontroller
"k8s.io/kubernetes/pkg/controller/persistentvolume"
"k8s.io/kubernetes/pkg/controller/podautoscaler"
"k8s.io/kubernetes/pkg/controller/podautoscaler"
"k8s.io/kubernetes/pkg/controller/podautoscaler/metrics"
"k8s.io/kubernetes/pkg/controller/podautoscaler/metrics"
"k8s.io/kubernetes/pkg/controller/podgc"
replicaset
"k8s.io/kubernetes/pkg/controller/replicaset"
replicaset
"k8s.io/kubernetes/pkg/controller/replicaset"
replicationcontroller
"k8s.io/kubernetes/pkg/controller/replication"
replicationcontroller
"k8s.io/kubernetes/pkg/controller/replication"
resourcequotacontroller
"k8s.io/kubernetes/pkg/controller/resourcequota"
resourcequotacontroller
"k8s.io/kubernetes/pkg/controller/resourcequota"
...
@@ -140,7 +140,7 @@ func (s *CMServer) Run(_ []string) error {
...
@@ -140,7 +140,7 @@ func (s *CMServer) Run(_ []string) error {
Run
(
int
(
s
.
ConcurrentRCSyncs
),
wait
.
NeverStop
)
Run
(
int
(
s
.
ConcurrentRCSyncs
),
wait
.
NeverStop
)
if
s
.
TerminatedPodGCThreshold
>
0
{
if
s
.
TerminatedPodGCThreshold
>
0
{
go
gc
.
New
(
clientset
.
NewForConfigOrDie
(
restclient
.
AddUserAgent
(
kubeconfig
,
"
garbage-collector"
)),
s
.
resyncPeriod
,
int
(
s
.
TerminatedPodGCThreshold
))
.
go
podgc
.
New
(
clientset
.
NewForConfigOrDie
(
restclient
.
AddUserAgent
(
kubeconfig
,
"pod-
garbage-collector"
)),
s
.
resyncPeriod
,
int
(
s
.
TerminatedPodGCThreshold
))
.
Run
(
wait
.
NeverStop
)
Run
(
wait
.
NeverStop
)
}
}
...
...
pkg/controller/gc/doc.go
→
pkg/controller/
pod
gc/doc.go
View file @
91de14cf
...
@@ -14,11 +14,12 @@ See the License for the specific language governing permissions and
...
@@ -14,11 +14,12 @@ See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.
*/
*/
// Package gc contains a very simple pod "garbage collector" implementation,
// Package
pod
gc contains a very simple pod "garbage collector" implementation,
// GCController, that runs in the controller manager. If the number of pods
//
Pod
GCController, that runs in the controller manager. If the number of pods
// in terminated phases (right now either Failed or Succeeded) surpasses a
// in terminated phases (right now either Failed or Succeeded) surpasses a
// configurable threshold, the controller will delete pods in terminated state
// configurable threshold, the controller will delete pods in terminated state
// until the system reaches the allowed threshold again. The GCController
// until the system reaches the allowed threshold again. The
Pod
GCController
// prioritizes pods to delete by sorting by creation timestamp and deleting the
// prioritizes pods to delete by sorting by creation timestamp and deleting the
// oldest objects first. The GCController will not delete non-terminated pods.
// oldest objects first. The PodGCController will not delete non-terminated
package
gc
// pods.
package
podgc
pkg/controller/gc/gc_controller.go
→
pkg/controller/
pod
gc/gc_controller.go
View file @
91de14cf
...
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
...
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.
*/
*/
package
gc
package
pod
gc
import
(
import
(
"sort"
"sort"
...
@@ -41,7 +41,7 @@ const (
...
@@ -41,7 +41,7 @@ const (
gcCheckPeriod
=
20
*
time
.
Second
gcCheckPeriod
=
20
*
time
.
Second
)
)
type
GCController
struct
{
type
Pod
GCController
struct
{
kubeClient
clientset
.
Interface
kubeClient
clientset
.
Interface
podStore
cache
.
StoreToPodLister
podStore
cache
.
StoreToPodLister
podStoreSyncer
*
framework
.
Controller
podStoreSyncer
*
framework
.
Controller
...
@@ -49,11 +49,11 @@ type GCController struct {
...
@@ -49,11 +49,11 @@ type GCController struct {
threshold
int
threshold
int
}
}
func
New
(
kubeClient
clientset
.
Interface
,
resyncPeriod
controller
.
ResyncPeriodFunc
,
threshold
int
)
*
GCController
{
func
New
(
kubeClient
clientset
.
Interface
,
resyncPeriod
controller
.
ResyncPeriodFunc
,
threshold
int
)
*
Pod
GCController
{
if
kubeClient
!=
nil
&&
kubeClient
.
Core
()
.
GetRESTClient
()
.
GetRateLimiter
()
!=
nil
{
if
kubeClient
!=
nil
&&
kubeClient
.
Core
()
.
GetRESTClient
()
.
GetRateLimiter
()
!=
nil
{
metrics
.
RegisterMetricAndTrackRateLimiterUsage
(
"gc_controller"
,
kubeClient
.
Core
()
.
GetRESTClient
()
.
GetRateLimiter
())
metrics
.
RegisterMetricAndTrackRateLimiterUsage
(
"gc_controller"
,
kubeClient
.
Core
()
.
GetRESTClient
()
.
GetRateLimiter
())
}
}
gcc
:=
&
GCController
{
gcc
:=
&
Pod
GCController
{
kubeClient
:
kubeClient
,
kubeClient
:
kubeClient
,
threshold
:
threshold
,
threshold
:
threshold
,
deletePod
:
func
(
namespace
,
name
string
)
error
{
deletePod
:
func
(
namespace
,
name
string
)
error
{
...
@@ -85,13 +85,13 @@ func New(kubeClient clientset.Interface, resyncPeriod controller.ResyncPeriodFun
...
@@ -85,13 +85,13 @@ func New(kubeClient clientset.Interface, resyncPeriod controller.ResyncPeriodFun
return
gcc
return
gcc
}
}
func
(
gcc
*
GCController
)
Run
(
stop
<-
chan
struct
{})
{
func
(
gcc
*
Pod
GCController
)
Run
(
stop
<-
chan
struct
{})
{
go
gcc
.
podStoreSyncer
.
Run
(
stop
)
go
gcc
.
podStoreSyncer
.
Run
(
stop
)
go
wait
.
Until
(
gcc
.
gc
,
gcCheckPeriod
,
stop
)
go
wait
.
Until
(
gcc
.
gc
,
gcCheckPeriod
,
stop
)
<-
stop
<-
stop
}
}
func
(
gcc
*
GCController
)
gc
()
{
func
(
gcc
*
Pod
GCController
)
gc
()
{
terminatedPods
,
_
:=
gcc
.
podStore
.
List
(
labels
.
Everything
())
terminatedPods
,
_
:=
gcc
.
podStore
.
List
(
labels
.
Everything
())
terminatedPodCount
:=
len
(
terminatedPods
)
terminatedPodCount
:=
len
(
terminatedPods
)
sort
.
Sort
(
byCreationTimestamp
(
terminatedPods
))
sort
.
Sort
(
byCreationTimestamp
(
terminatedPods
))
...
...
pkg/controller/gc/gc_controller_test.go
→
pkg/controller/
pod
gc/gc_controller_test.go
View file @
91de14cf
...
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
...
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.
*/
*/
package
gc
package
pod
gc
import
(
import
(
"sync"
"sync"
...
...
test/e2e/
garbage_collector
.go
→
test/e2e/
pod_gc
.go
View file @
91de14cf
File moved
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