types

package
v1.1.0-alpha.0....-c00828a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2017 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Common types in the Kubelet.

Index

Constants

View Source
const (
	KubernetesPodNameLabel       = "io.kubernetes.pod.name"
	KubernetesPodNamespaceLabel  = "io.kubernetes.pod.namespace"
	KubernetesPodUIDLabel        = "io.kubernetes.pod.uid"
	KubernetesContainerNameLabel = "io.kubernetes.container.name"
)
View Source
const (
	ConfigSourceAnnotationKey    = "kubernetes.io/config.source"
	ConfigMirrorAnnotationKey    = "kubernetes.io/config.mirror"
	ConfigFirstSeenAnnotationKey = "kubernetes.io/config.seen"
	ConfigHashAnnotationKey      = "kubernetes.io/config.hash"
	CriticalPodAnnotationKey     = "scheduler.alpha.kubernetes.io/critical-pod"
)
View Source
const (
	// This is the current pod configuration
	SET PodOperation = iota
	// Pods with the given ids are new to this source
	ADD
	// Pods with the given ids are gracefully deleted from this source
	DELETE
	// Pods with the given ids have been removed from this source
	REMOVE
	// Pods with the given ids have been updated in this source
	UPDATE
	// Pods with the given ids have unexpected status in this source,
	// kubelet should reconcile status with this source
	RECONCILE

	// These constants identify the sources of pods
	// Updates from a file
	FileSource = "file"
	// Updates from querying a web page
	HTTPSource = "http"
	// Updates from Kubernetes API Server
	ApiserverSource = "api"
	// Updates from all sources
	AllSource = "*"

	NamespaceDefault = metav1.NamespaceDefault
)
View Source
const (
	// system default DNS resolver configuration
	ResolvConfDefault = "/etc/resolv.conf"
)

Variables

This section is empty.

Functions

func GetContainerName

func GetContainerName(labels map[string]string) string

func GetPodName

func GetPodName(labels map[string]string) string

func GetPodNamespace

func GetPodNamespace(labels map[string]string) string

func GetPodSource

func GetPodSource(pod *v1.Pod) (string, error)

GetPodSource returns the source of the pod based on the annotation.

func GetPodUID

func GetPodUID(labels map[string]string) string

func GetValidatedSources

func GetValidatedSources(sources []string) ([]string, error)

Gets all validated sources from the specified sources.

func IsCriticalPod

func IsCriticalPod(pod *v1.Pod) bool

IsCriticalPod returns true if the pod bears the critical pod annotation key. Both the rescheduler and the kubelet use this key to make admission and scheduling decisions.

func SortInitContainerStatuses

func SortInitContainerStatuses(p *v1.Pod, statuses []v1.ContainerStatus)

SortInitContainerStatuses ensures that statuses are in the order that their init container appears in the pod spec

Types

type HttpGetter

type HttpGetter interface {
	Get(url string) (*http.Response, error)
}

type PodOperation

type PodOperation int

PodOperation defines what changes will be made on a pod configuration.

type PodUpdate

type PodUpdate struct {
	Pods   []*v1.Pod
	Op     PodOperation
	Source string
}

PodUpdate defines an operation sent on the channel. You can add or remove single services by sending an array of size one and Op == ADD|REMOVE (with REMOVE, only the ID is required). For setting the state of the system to a given state for this source configuration, set Pods as desired and Op to SET, which will reset the system state to that specified in this operation for this source channel. To remove all pods, set Pods to empty object and Op to SET.

Additionally, Pods should never be nil - it should always point to an empty slice. While functionally similar, this helps our unit tests properly check that the correct PodUpdates are generated.

type Reservation

type Reservation struct {
	// System represents resources reserved for non-kubernetes components.
	System v1.ResourceList
	// Kubernetes represents resources reserved for kubernetes system components.
	Kubernetes v1.ResourceList
}

Reservation represents reserved resources for non-pod components.

type SortedContainerStatuses

type SortedContainerStatuses []v1.ContainerStatus

A type to help sort container statuses based on container names.

func (SortedContainerStatuses) Len

func (s SortedContainerStatuses) Len() int

func (SortedContainerStatuses) Less

func (s SortedContainerStatuses) Less(i, j int) bool

func (SortedContainerStatuses) Swap

func (s SortedContainerStatuses) Swap(i, j int)

type SyncPodType

type SyncPodType int

SyncPodType classifies pod updates, eg: create, update.

const (
	// SyncPodSync is when the pod is synced to ensure desired state
	SyncPodSync SyncPodType = iota
	// SyncPodUpdate is when the pod is updated from source
	SyncPodUpdate
	// SyncPodCreate is when the pod is created from source
	SyncPodCreate
	// SyncPodKill is when the pod is killed based on a trigger internal to the kubelet for eviction.
	// If a SyncPodKill request is made to pod workers, the request is never dropped, and will always be processed.
	SyncPodKill
)

func (SyncPodType) String

func (sp SyncPodType) String() string

type Timestamp

type Timestamp struct {
	// contains filtered or unexported fields
}

Timestamp wraps around time.Time and offers utilities to format and parse the time using RFC3339Nano

func ConvertToTimestamp

func ConvertToTimestamp(timeString string) *Timestamp

ConvertToTimestamp takes a string, parses it using the RFC3339Nano layout, and converts it to a Timestamp object.

func NewTimestamp

func NewTimestamp() *Timestamp

NewTimestamp returns a Timestamp object using the current time.

func (*Timestamp) Get

func (t *Timestamp) Get() time.Time

Get returns the time as time.Time.

func (*Timestamp) GetString

func (t *Timestamp) GetString() string

GetString returns the time in the string format using the RFC3339Nano layout.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL