ocagent allows users to send traces out of VK to a "standard" external forwarder
(standard as in this is a format/protocol defined in the opencensus project).
This allows uers to implement metrics for whatever backend they want
without having to add it into VK directly.
* Add k8s.io/client-go/tools/cache package
* Add cache controller
* Add pod creator and terminator
* Pod Synchronizer
* Clean up
* Add back reconcile
* Remove unnecessary space in log
* Incorprate feedbacks
* dep ensure
* Fix the syntax error
* Fix the merge errors
* Minor Refactor
* Set status
* Pass context together with the pod to the pod channel
* Change to use flag to specify the number of pod sync workers
* Remove the unused const
* Use Stable PROD Region WestUS in Test
EastUS2EUAP is not reliable
* Refactor provider init
This moves provider init out of vkubelet setup, instead preferring to
initialize vkubelet with a provider.
* Split API server configuration from setup.
This makes sure that configuration (which is done primarily through env
vars) is separate from actually standing up the servers.
This also makes sure to abort daemon initialization if the API servers
are not able to start.
* Add default provider taint and taint configuration options
This allows for more specificity when setting taint tolerations for
workloads. Three new env variables are introduced:
VKUBELET_TAINT_KEY (defaults to `virtual-kubelet.io/provider`)
VKUBELET_TAINT_VALUE (defaults to provider name)
VKUBELET_TAINT_EFFECT (defaults to `NoSchedule`)
BREAKING CHANGES:
- The default taint key of `azure.com/aci` is now
`virtual-kubelet.io/provider`.
- Specifying a custom taint key is now done via an environment variable
rather than the `--taint` command line flag.
* Add back deprecated taint flag
TODO: Revert this commit
Related to #316
* Add darwin tag to not build for osx
* Darwin specific lookup file without cri and vic
* Fix chart notes template (#317)
Values were moved from env to top level.
* If --taint is specified, set the taint value to empty (#322)
Add the old tolerations the examples to make it backward compatible during the switch
* Use standard logging package (#323)
* Update kubelet vendor to pull in stats API
* Add errgroup dep which will be used for ACI stats
* Add supports for stats in ACI provider
This adds a new, optional, interface for providers that want to provide
stats.
* Don't use globals for API server
Refactors how HTTP servers are started and binds them to objects that
can store the provider rather than relying on a global.
* Fix merge conflict
* Fix couple errors
This allows for more specificity when setting taint tolerations for
workloads. Three new env variables are introduced:
VKUBELET_TAINT_KEY (defaults to `virtual-kubelet.io/provider`)
VKUBELET_TAINT_VALUE (defaults to provider name)
VKUBELET_TAINT_EFFECT (defaults to `NoSchedule`)
BREAKING CHANGES:
- The default taint key of `azure.com/aci` is now
`virtual-kubelet.io/provider`.
- Specifying a custom taint key is now done via an environment variable
rather than the `--taint` command line flag.