зеркало из https://github.com/Azure/ARO-RP.git
Make monitor ignore pre-empted completed pods
Completed pods that were pre-empted count as not ready, despite being completed
This commit is contained in:
Родитель
5ab9a3e095
Коммит
bb8544e602
|
@ -9,6 +9,7 @@ import (
|
|||
"github.com/sirupsen/logrus"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/kubernetes/pkg/kubelet/events"
|
||||
|
||||
"github.com/Azure/ARO-RP/pkg/util/namespace"
|
||||
)
|
||||
|
@ -59,6 +60,10 @@ func (mon *Monitor) _emitPodConditions(ps *corev1.PodList) {
|
|||
continue
|
||||
}
|
||||
|
||||
if p.Status.Reason == events.PreemptContainer {
|
||||
continue
|
||||
}
|
||||
|
||||
for _, c := range p.Status.Conditions {
|
||||
if c.Status == podConditionsExpected[c.Type] {
|
||||
continue
|
||||
|
|
|
@ -0,0 +1,105 @@
|
|||
/*
|
||||
Copyright 2014 The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package events
|
||||
|
||||
// Container event reason list
|
||||
const (
|
||||
CreatedContainer = "Created"
|
||||
StartedContainer = "Started"
|
||||
FailedToCreateContainer = "Failed"
|
||||
FailedToStartContainer = "Failed"
|
||||
KillingContainer = "Killing"
|
||||
PreemptContainer = "Preempting"
|
||||
BackOffStartContainer = "BackOff"
|
||||
ExceededGracePeriod = "ExceededGracePeriod"
|
||||
)
|
||||
|
||||
// Pod event reason list
|
||||
const (
|
||||
FailedToKillPod = "FailedKillPod"
|
||||
FailedToCreatePodContainer = "FailedCreatePodContainer"
|
||||
FailedToMakePodDataDirectories = "Failed"
|
||||
NetworkNotReady = "NetworkNotReady"
|
||||
)
|
||||
|
||||
// Image event reason list
|
||||
const (
|
||||
PullingImage = "Pulling"
|
||||
PulledImage = "Pulled"
|
||||
FailedToPullImage = "Failed"
|
||||
FailedToInspectImage = "InspectFailed"
|
||||
ErrImageNeverPullPolicy = "ErrImageNeverPull"
|
||||
BackOffPullImage = "BackOff"
|
||||
)
|
||||
|
||||
// kubelet event reason list
|
||||
const (
|
||||
NodeReady = "NodeReady"
|
||||
NodeNotReady = "NodeNotReady"
|
||||
NodeSchedulable = "NodeSchedulable"
|
||||
NodeNotSchedulable = "NodeNotSchedulable"
|
||||
StartingKubelet = "Starting"
|
||||
KubeletSetupFailed = "KubeletSetupFailed"
|
||||
FailedAttachVolume = "FailedAttachVolume"
|
||||
FailedMountVolume = "FailedMount"
|
||||
VolumeResizeFailed = "VolumeResizeFailed"
|
||||
VolumeResizeSuccess = "VolumeResizeSuccessful"
|
||||
FileSystemResizeFailed = "FileSystemResizeFailed"
|
||||
FileSystemResizeSuccess = "FileSystemResizeSuccessful"
|
||||
FailedMapVolume = "FailedMapVolume"
|
||||
WarnAlreadyMountedVolume = "AlreadyMountedVolume"
|
||||
SuccessfulAttachVolume = "SuccessfulAttachVolume"
|
||||
SuccessfulMountVolume = "SuccessfulMountVolume"
|
||||
NodeRebooted = "Rebooted"
|
||||
NodeShutdown = "Shutdown"
|
||||
ContainerGCFailed = "ContainerGCFailed"
|
||||
ImageGCFailed = "ImageGCFailed"
|
||||
FailedNodeAllocatableEnforcement = "FailedNodeAllocatableEnforcement"
|
||||
SuccessfulNodeAllocatableEnforcement = "NodeAllocatableEnforced"
|
||||
SandboxChanged = "SandboxChanged"
|
||||
FailedCreatePodSandBox = "FailedCreatePodSandBox"
|
||||
FailedStatusPodSandBox = "FailedPodSandBoxStatus"
|
||||
FailedMountOnFilesystemMismatch = "FailedMountOnFilesystemMismatch"
|
||||
)
|
||||
|
||||
// Image manager event reason list
|
||||
const (
|
||||
InvalidDiskCapacity = "InvalidDiskCapacity"
|
||||
FreeDiskSpaceFailed = "FreeDiskSpaceFailed"
|
||||
)
|
||||
|
||||
// Probe event reason list
|
||||
const (
|
||||
ContainerUnhealthy = "Unhealthy"
|
||||
ContainerProbeWarning = "ProbeWarning"
|
||||
)
|
||||
|
||||
// Pod worker event reason list
|
||||
const (
|
||||
FailedSync = "FailedSync"
|
||||
)
|
||||
|
||||
// Config event reason list
|
||||
const (
|
||||
FailedValidation = "FailedValidation"
|
||||
)
|
||||
|
||||
// Lifecycle hooks
|
||||
const (
|
||||
FailedPostStartHook = "FailedPostStartHook"
|
||||
FailedPreStopHook = "FailedPreStopHook"
|
||||
)
|
|
@ -2228,6 +2228,7 @@ k8s.io/kubernetes/pkg/apis/core/v1
|
|||
k8s.io/kubernetes/pkg/apis/rbac
|
||||
k8s.io/kubernetes/pkg/apis/rbac/v1
|
||||
k8s.io/kubernetes/pkg/features
|
||||
k8s.io/kubernetes/pkg/kubelet/events
|
||||
k8s.io/kubernetes/pkg/util/parsers
|
||||
# k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
|
||||
## explicit; go 1.12
|
||||
|
|
Загрузка…
Ссылка в новой задаче