mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 19:31:44 +00:00
rename the gc for terminated pods to "podgc"
This commit is contained in:
parent
6c549ae91f
commit
91de14cf13
@ -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 (
|
|||||||
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
|
|||||||
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))
|
||||||
}
|
}
|
||||||
|
@ -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 {
|
|||||||
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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 podgc contains a very simple pod "garbage collector" implementation,
|
||||||
// GCController, that runs in the controller manager. If the number of pods
|
// PodGCController, 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 PodGCController
|
||||||
// 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
|
@ -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 podgc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"sort"
|
"sort"
|
||||||
@ -41,7 +41,7 @@ const (
|
|||||||
gcCheckPeriod = 20 * time.Second
|
gcCheckPeriod = 20 * time.Second
|
||||||
)
|
)
|
||||||
|
|
||||||
type GCController struct {
|
type PodGCController 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 {
|
|||||||
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) *PodGCController {
|
||||||
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 := &PodGCController{
|
||||||
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
|
|||||||
return gcc
|
return gcc
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gcc *GCController) Run(stop <-chan struct{}) {
|
func (gcc *PodGCController) 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 *PodGCController) 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))
|
@ -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 podgc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"sync"
|
"sync"
|
Loading…
Reference in New Issue
Block a user