Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kubernetes-retired/mutating-trace-admission-controller
[EOL] a mutating admission controller which enables experimental tracing of kubernetes object lifecycle
https://github.com/kubernetes-retired/mutating-trace-admission-controller
k8s-sig-instrumentation
Last synced: 22 days ago
JSON representation
[EOL] a mutating admission controller which enables experimental tracing of kubernetes object lifecycle
- Host: GitHub
- URL: https://github.com/kubernetes-retired/mutating-trace-admission-controller
- Owner: kubernetes-retired
- License: apache-2.0
- Archived: true
- Created: 2018-12-11T02:26:50.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-02-12T00:42:40.000Z (almost 5 years ago)
- Last Synced: 2024-08-05T17:23:37.239Z (4 months ago)
- Topics: k8s-sig-instrumentation
- Language: Go
- Homepage:
- Size: 2.82 MB
- Stars: 23
- Watchers: 7
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
- Security: SECURITY_CONTACTS
Awesome Lists containing this project
- awesome-cloud-native - mutating-trace-admission-controller - Enables experimental tracing of kubernetes object lifecycle. (OPS)
README
# Mutating trace admission controller
[Mutating admission controller](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook) that injects base64 encoded [OpenCensus span context](https://github.com/census-instrumentation/opencensus-specs/blob/master/trace/Span.md#spancontext) into the `trace.kubernetes.io/context` object annotation.
## Purpose
The trace context injected with this mutating controller can be used by Kubernetes components to export traces associated with object lifecycles. For more information on this effort, [please refer to the official KEP](https://github.com/kubernetes/enhancements/pull/650).
## Quick start
The structure of this mutating admission controller was informed by the [mutating admission webhook found here](https://github.com/morvencao/kube-mutating-webhook-tutorial). The basic idea is as follows:
1) Create an HTTPS-enabled server that takes Pod json from the API server, inserts encoded span context as an annotation, and returns it
2) Run a deployment with this webhook server, and expose it as a service
3) Create a `MutatingWebhookConfiguration` which instructs the API server to send Pod objects to the aforementioned service upon creationThe included `Makefile` makes these steps straightforward and the available commands are as follows:
* `make docker`: build local Docker image
* `make cluster-up`: apply certificate configuration and deployment configuration to cluster for the mutating webhook
* `make cluster-down`: delete resources associated with the mutating webhook from the active clusterThere are example patches which can be used with `kustomize` to configure the deployment of this webhook into your cluster under `deploy/base/overlays/example`. This example custom configuration can be applied with:
`kustomize build deploy/overlays/example | kubectl apply -f -`
This can be used, for example, to set different sampling policies between production and staging clusters.
## Community, discussion, contribution, and support
Learn how to engage with the Kubernetes community on the [community page](http://kubernetes.io/community/).
You can reach the maintainers of this project at:
- [Slack channel](https://kubernetes.slack.com/messages/sig-instrumentation)
- [Mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-instrumentation)### Code of conduct
Participation in the Kubernetes community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md).