README ¶
Diurnal Controller
This controller manipulates the number of replicas maintained by a replication controller throughout the day based on a provided list of times of day (according to ISO 8601) and replica counts. It should be run under a replication controller that is in the same namespace as the replication controller that it is manipulating.
For example, to set the replica counts of the pods with the labels "tier=backend,track=canary" to 10 at noon UTC and 6 at midnight UTC, we can use -labels tier=backend,track=canary -times 00:00Z,12:00Z -counts 6,10
. An example replication controller config can be found here.
Instead of providing replica counts and times of day directly, you may use a script like the one below to generate them using mathematical functions.
from math import *
import os
import sys
def _day_to_2pi(t):
return float(t) * 2 * pi / (24*3600)
def main(args):
if len(args) < 3:
print "Usage: %s sample_interval func" % (args[0],)
print "func should be a function of the variable t, where t will range from 0"
print "to 2pi over the course of the day"
sys.exit(1)
sampling_interval = int(args[1])
exec "def f(t): return " + args[2]
i = 0
times = []
counts = []
while i < 24*60*60:
hours = i / 3600
left = i - hours*3600
min = left / 60
sec = left - min*60
times.append("%dh%dm%ds" % (hours, min, sec))
count = int(round(f(_day_to_2pi(i))))
counts.append(str(count))
i += sampling_interval
print "-times %s -counts %s" % (",".join(times), ",".join(counts))
if __name__ == "__main__":
main(sys.argv)
Documentation ¶
There is no documentation for this package.
Directories ¶
Path | Synopsis |
---|---|
Godeps
|
|
_workspace/src/bitbucket.org/ww/goautoneg
HTTP Content-Type Autonegotiation.
|
HTTP Content-Type Autonegotiation. |
_workspace/src/github.com/beorn7/perks/quantile
Package quantile computes approximate quantiles over an unbounded data stream within low memory and CPU bounds.
|
Package quantile computes approximate quantiles over an unbounded data stream within low memory and CPU bounds. |
_workspace/src/github.com/davecgh/go-spew/spew
Package spew implements a deep pretty printer for Go data structures to aid in debugging.
|
Package spew implements a deep pretty printer for Go data structures to aid in debugging. |
_workspace/src/github.com/emicklei/go-restful
Package restful, a lean package for creating REST-style WebServices without magic.
|
Package restful, a lean package for creating REST-style WebServices without magic. |
_workspace/src/github.com/emicklei/go-restful/swagger
Package swagger implements the structures of the Swagger https://github.com/wordnik/swagger-spec/blob/master/versions/1.2.md
|
Package swagger implements the structures of the Swagger https://github.com/wordnik/swagger-spec/blob/master/versions/1.2.md |
_workspace/src/github.com/golang/glog
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
|
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup. |
_workspace/src/github.com/golang/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
|
Package proto converts data structures to and from the wire format of protocol buffers. |
_workspace/src/github.com/google/gofuzz
Package fuzz is a library for populating go objects with random values.
|
Package fuzz is a library for populating go objects with random values. |
_workspace/src/github.com/juju/ratelimit
The ratelimit package provides an efficient token bucket implementation that can be used to limit the rate of arbitrary things.
|
The ratelimit package provides an efficient token bucket implementation that can be used to limit the rate of arbitrary things. |
_workspace/src/github.com/matttproud/golang_protobuf_extensions/pbutil
Package pbutil provides record length-delimited Protocol Buffer streaming.
|
Package pbutil provides record length-delimited Protocol Buffer streaming. |
_workspace/src/github.com/pborman/uuid
The uuid package generates and inspects UUIDs.
|
The uuid package generates and inspects UUIDs. |
_workspace/src/github.com/prometheus/client_golang/prometheus
Package prometheus provides embeddable metric primitives for servers and standardized exposition of telemetry through a web services interface.
|
Package prometheus provides embeddable metric primitives for servers and standardized exposition of telemetry through a web services interface. |
_workspace/src/github.com/prometheus/client_model/go
Package io_prometheus_client is a generated protocol buffer package.
|
Package io_prometheus_client is a generated protocol buffer package. |
_workspace/src/github.com/prometheus/common/expfmt
A package for reading and writing Prometheus metrics.
|
A package for reading and writing Prometheus metrics. |
_workspace/src/github.com/prometheus/common/model
Package model contains common data structures that are shared across Prometheus componenets and libraries.
|
Package model contains common data structures that are shared across Prometheus componenets and libraries. |
_workspace/src/github.com/prometheus/procfs
Package procfs provides functions to retrieve system, kernel and process metrics from the pseudo-filesystem proc.
|
Package procfs provides functions to retrieve system, kernel and process metrics from the pseudo-filesystem proc. |
_workspace/src/github.com/spf13/pflag
Package pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
|
Package pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. |
_workspace/src/github.com/ugorji/go/codec
High Performance, Feature-Rich Idiomatic Go codec/encoding library for binc, msgpack, cbor, json.
|
High Performance, Feature-Rich Idiomatic Go codec/encoding library for binc, msgpack, cbor, json. |
_workspace/src/github.com/ugorji/go/codec/codecgen
codecgen generates codec.Selfer implementations for a set of types.
|
codecgen generates codec.Selfer implementations for a set of types. |
_workspace/src/golang.org/x/crypto/ssh
Package ssh implements an SSH client and server.
|
Package ssh implements an SSH client and server. |
_workspace/src/golang.org/x/crypto/ssh/agent
Package agent implements a client to an ssh-agent daemon.
|
Package agent implements a client to an ssh-agent daemon. |
_workspace/src/golang.org/x/crypto/ssh/terminal
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
|
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems. |
_workspace/src/golang.org/x/crypto/ssh/test
This package contains integration tests for the golang.org/x/crypto/ssh package.
|
This package contains integration tests for the golang.org/x/crypto/ssh package. |
_workspace/src/golang.org/x/net/context
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
|
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. |
_workspace/src/golang.org/x/net/context/ctxhttp
Package ctxhttp provides helper functions for performing context-aware HTTP requests.
|
Package ctxhttp provides helper functions for performing context-aware HTTP requests. |
_workspace/src/gopkg.in/yaml.v2
Package yaml implements YAML support for the Go language.
|
Package yaml implements YAML support for the Go language. |
_workspace/src/k8s.io/kubernetes/pkg/api
Package api contains the latest (or "internal") version of the Kubernetes API objects.
|
Package api contains the latest (or "internal") version of the Kubernetes API objects. |
_workspace/src/k8s.io/kubernetes/pkg/api/errors
Package errors provides detailed error types for api field validation.
|
Package errors provides detailed error types for api field validation. |
_workspace/src/k8s.io/kubernetes/pkg/api/errors/etcd
Package etcd provides conversion of etcd errors to API errors.
|
Package etcd provides conversion of etcd errors to API errors. |
_workspace/src/k8s.io/kubernetes/pkg/api/install
Package install installs the v1 monolithic api, making it available as an option to all of the API encoding/decoding machinery.
|
Package install installs the v1 monolithic api, making it available as an option to all of the API encoding/decoding machinery. |
_workspace/src/k8s.io/kubernetes/pkg/api/latest
Package latest defines the default output serializations that code should use and imports the required schemas.
|
Package latest defines the default output serializations that code should use and imports the required schemas. |
_workspace/src/k8s.io/kubernetes/pkg/api/meta
Package meta provides functions for retrieving API metadata from objects belonging to the Kubernetes API
|
Package meta provides functions for retrieving API metadata from objects belonging to the Kubernetes API |
_workspace/src/k8s.io/kubernetes/pkg/api/registered
Package to keep track of API Versions that should be registered in api.Scheme.
|
Package to keep track of API Versions that should be registered in api.Scheme. |
_workspace/src/k8s.io/kubernetes/pkg/api/rest
Package rest defines common logic around changes to Kubernetes resources.
|
Package rest defines common logic around changes to Kubernetes resources. |
_workspace/src/k8s.io/kubernetes/pkg/api/testapi
Package testapi provides a helper for retrieving the KUBE_TEST_API environment variable.
|
Package testapi provides a helper for retrieving the KUBE_TEST_API environment variable. |
_workspace/src/k8s.io/kubernetes/pkg/api/unversioned
Package unversioned contains API types that are common to all versions.
|
Package unversioned contains API types that are common to all versions. |
_workspace/src/k8s.io/kubernetes/pkg/api/util
TODO: This GetVersion/GetGroup arrangement is temporary and will be replaced with a GroupAndVersion type.
|
TODO: This GetVersion/GetGroup arrangement is temporary and will be replaced with a GroupAndVersion type. |
_workspace/src/k8s.io/kubernetes/pkg/api/v1
Package v1 is the v1 version of the API.
|
Package v1 is the v1 version of the API. |
_workspace/src/k8s.io/kubernetes/pkg/api/validation
Package validation has functions for validating the correctness of api objects and explaining what is wrong with them when they aren't valid.
|
Package validation has functions for validating the correctness of api objects and explaining what is wrong with them when they aren't valid. |
_workspace/src/k8s.io/kubernetes/pkg/apis/componentconfig/install
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
|
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery. |
_workspace/src/k8s.io/kubernetes/pkg/apis/extensions/install
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
|
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery. |
_workspace/src/k8s.io/kubernetes/pkg/apis/metrics/install
Package install installs the metrics API group, making it available as an option to all of the API encoding/decoding machinery.
|
Package install installs the metrics API group, making it available as an option to all of the API encoding/decoding machinery. |
_workspace/src/k8s.io/kubernetes/pkg/auth/user
Package user contains utilities for dealing with simple user exchange in the auth packages.
|
Package user contains utilities for dealing with simple user exchange in the auth packages. |
_workspace/src/k8s.io/kubernetes/pkg/capabilities
package capbabilities manages system level capabilities
|
package capbabilities manages system level capabilities |
_workspace/src/k8s.io/kubernetes/pkg/client/metrics
Package metrics provides utilities for registering client metrics to Prometheus.
|
Package metrics provides utilities for registering client metrics to Prometheus. |
_workspace/src/k8s.io/kubernetes/pkg/client/unversioned
Package unversioned contains the implementation of the client side communication with the Kubernetes master.
|
Package unversioned contains the implementation of the client side communication with the Kubernetes master. |
_workspace/src/k8s.io/kubernetes/pkg/client/unversioned/auth
Package auth defines a file format for holding authentication information needed by clients of Kubernetes.
|
Package auth defines a file format for holding authentication information needed by clients of Kubernetes. |
_workspace/src/k8s.io/kubernetes/pkg/client/unversioned/clientcmd
Package clientcmd provides one stop shopping for building a working client from a fixed config, from a .kubeconfig file, from command line flags, or from any merged combination.
|
Package clientcmd provides one stop shopping for building a working client from a fixed config, from a .kubeconfig file, from command line flags, or from any merged combination. |
_workspace/src/k8s.io/kubernetes/pkg/client/unversioned/fake
This is made a separate package and should only be imported by tests, because it imports testapi
|
This is made a separate package and should only be imported by tests, because it imports testapi |
_workspace/src/k8s.io/kubernetes/pkg/client/unversioned/portforward
Package portforward adds support for SSH-like port forwarding from the client's local host to remote containers.
|
Package portforward adds support for SSH-like port forwarding from the client's local host to remote containers. |
_workspace/src/k8s.io/kubernetes/pkg/client/unversioned/remotecommand
Package remotecommand adds support for executing commands in containers, with support for separate stdin, stdout, and stderr streams, as well as TTY.
|
Package remotecommand adds support for executing commands in containers, with support for separate stdin, stdout, and stderr streams, as well as TTY. |
_workspace/src/k8s.io/kubernetes/pkg/conversion
Package conversion provides go object versioning and encoding/decoding mechanisms.
|
Package conversion provides go object versioning and encoding/decoding mechanisms. |
_workspace/src/k8s.io/kubernetes/pkg/conversion/queryparams
Package queryparams provides conversion from versioned runtime objects to URL query values
|
Package queryparams provides conversion from versioned runtime objects to URL query values |
_workspace/src/k8s.io/kubernetes/pkg/fields
Package fields implements a simple field system, parsing and matching selectors with sets of fields.
|
Package fields implements a simple field system, parsing and matching selectors with sets of fields. |
_workspace/src/k8s.io/kubernetes/pkg/kubelet/qos
package qos contains helper functions for quality of service.
|
package qos contains helper functions for quality of service. |
_workspace/src/k8s.io/kubernetes/pkg/labels
Package labels implements a simple label system, parsing and matching selectors with sets of labels.
|
Package labels implements a simple label system, parsing and matching selectors with sets of labels. |
_workspace/src/k8s.io/kubernetes/pkg/runtime
Defines conversions between generic types and structs to map query strings to struct objects.
|
Defines conversions between generic types and structs to map query strings to struct objects. |
_workspace/src/k8s.io/kubernetes/pkg/runtime/protobuf
Package protobuf implements ProtoBuf serialization and deserialization.
|
Package protobuf implements ProtoBuf serialization and deserialization. |
_workspace/src/k8s.io/kubernetes/pkg/types
Package types implements various generic types used throughout kubernetes.
|
Package types implements various generic types used throughout kubernetes. |
_workspace/src/k8s.io/kubernetes/pkg/util
Package util implements various utility functions used in both testing and implementation of Kubernetes.
|
Package util implements various utility functions used in both testing and implementation of Kubernetes. |
_workspace/src/k8s.io/kubernetes/pkg/util/bandwidth
Package bandwidth provides utilities for bandwidth shaping
|
Package bandwidth provides utilities for bandwidth shaping |
_workspace/src/k8s.io/kubernetes/pkg/util/chmod
Package chown provides an interface and implementations for things that run run the chmod system call.
|
Package chown provides an interface and implementations for things that run run the chmod system call. |
_workspace/src/k8s.io/kubernetes/pkg/util/chown
Package chown provides utilities to chown a path
|
Package chown provides utilities to chown a path |
_workspace/src/k8s.io/kubernetes/pkg/util/config
Package config provides utility objects for decoupling sources of configuration and the actual configuration state.
|
Package config provides utility objects for decoupling sources of configuration and the actual configuration state. |
_workspace/src/k8s.io/kubernetes/pkg/util/dbus
Package dbus provides an injectable interface and implementations for D-Bus communication
|
Package dbus provides an injectable interface and implementations for D-Bus communication |
_workspace/src/k8s.io/kubernetes/pkg/util/errors
Package errors implements various utility functions and types around errors.
|
Package errors implements various utility functions and types around errors. |
_workspace/src/k8s.io/kubernetes/pkg/util/exec
Package exec provides an injectable interface and implementations for running commands.
|
Package exec provides an injectable interface and implementations for running commands. |
_workspace/src/k8s.io/kubernetes/pkg/util/flushwriter
Package flushwriter implements a wrapper for a writer that flushes on every write if that writer implements the io.Flusher interface
|
Package flushwriter implements a wrapper for a writer that flushes on every write if that writer implements the io.Flusher interface |
_workspace/src/k8s.io/kubernetes/pkg/util/httpstream
Package httpstream adds multiplexed streaming support to HTTP requests and responses via connection upgrades.
|
Package httpstream adds multiplexed streaming support to HTTP requests and responses via connection upgrades. |
_workspace/src/k8s.io/kubernetes/pkg/util/iptables
Package iptables provides an interface and implementations for running iptables commands.
|
Package iptables provides an interface and implementations for running iptables commands. |
_workspace/src/k8s.io/kubernetes/pkg/util/jsonpath
package jsonpath is a template engine using jsonpath syntax, which can be seen at http://goessner.net/articles/JsonPath/.
|
package jsonpath is a template engine using jsonpath syntax, which can be seen at http://goessner.net/articles/JsonPath/. |
_workspace/src/k8s.io/kubernetes/pkg/util/limitwriter
Package limitwriter provides a writer that only allows a certain number of bytes to be written.
|
Package limitwriter provides a writer that only allows a certain number of bytes to be written. |
_workspace/src/k8s.io/kubernetes/pkg/util/mount
Package mount defines an interface to mounting filesystems.
|
Package mount defines an interface to mounting filesystems. |
_workspace/src/k8s.io/kubernetes/pkg/util/oom
Package oom implements utility functions relating to out of memory management.
|
Package oom implements utility functions relating to out of memory management. |
_workspace/src/k8s.io/kubernetes/pkg/util/procfs
Package procfs implements utility functions relating to the /proc mount.
|
Package procfs implements utility functions relating to the /proc mount. |
_workspace/src/k8s.io/kubernetes/pkg/util/proxy
Package proxy provides transport and upgrade support for proxies
|
Package proxy provides transport and upgrade support for proxies |
_workspace/src/k8s.io/kubernetes/pkg/util/rand
Package rand provides utilities related to randomization.
|
Package rand provides utilities related to randomization. |
_workspace/src/k8s.io/kubernetes/pkg/util/selinux
Package selinux contains selinux utility functions.
|
Package selinux contains selinux utility functions. |
_workspace/src/k8s.io/kubernetes/pkg/util/sets
Package sets has auto-generated set types.
|
Package sets has auto-generated set types. |
_workspace/src/k8s.io/kubernetes/pkg/util/sets/types
Package types just provides input types to the set generator.
|
Package types just provides input types to the set generator. |
_workspace/src/k8s.io/kubernetes/pkg/util/slice
Package slice provides utility methods for common operations on slices.
|
Package slice provides utility methods for common operations on slices. |
_workspace/src/k8s.io/kubernetes/pkg/util/wait
Package wait provides tools for polling or listening for changes to a condition.
|
Package wait provides tools for polling or listening for changes to a condition. |
_workspace/src/k8s.io/kubernetes/pkg/util/workqueue
Package workqueue provides a simple queue that supports the following features:
|
Package workqueue provides a simple queue that supports the following features: |
_workspace/src/k8s.io/kubernetes/pkg/util/wsstream
Package wsstream contains utilities for streaming content over WebSockets.
|
Package wsstream contains utilities for streaming content over WebSockets. |
_workspace/src/k8s.io/kubernetes/pkg/version
Package version supplies version information collected at build time to kubernetes components.
|
Package version supplies version information collected at build time to kubernetes components. |
_workspace/src/k8s.io/kubernetes/pkg/version/verflag
Package verflag defines utility functions to handle command line flags related to version of Kubernetes.
|
Package verflag defines utility functions to handle command line flags related to version of Kubernetes. |
_workspace/src/k8s.io/kubernetes/pkg/watch
Package watch contains a generic watchable interface, and a fake for testing code that uses the watch interface.
|
Package watch contains a generic watchable interface, and a fake for testing code that uses the watch interface. |
_workspace/src/k8s.io/kubernetes/pkg/watch/json
Package json implements a simple encoder and decoder for streams of watch events over io.Writer/Readers
|
Package json implements a simple encoder and decoder for streams of watch events over io.Writer/Readers |
_workspace/src/k8s.io/kubernetes/third_party/forked/reflect
Package reflect is a fork of go's standard library reflection package, which allows for deep equal with equality functions defined.
|
Package reflect is a fork of go's standard library reflection package, which allows for deep equal with equality functions defined. |
_workspace/src/speter.net/go/exp/math/dec/inf
Package inf (type inf.Dec) implements "infinite-precision" decimal arithmetic.
|
Package inf (type inf.Dec) implements "infinite-precision" decimal arithmetic. |