tree 994b67ea5264f7e38bb67e9043a369454eaab75d
parent 9a741a861a4cb5c52b0251a4abf3a2c606b06198
author Lorenz Brun <lorenz@nexantic.com> 1589292939 +0200
committer Lorenz Brun <lorenz@nexantic.com> 1589292939 +0200

Add Kubernetes Worker and infrastructure

Adds Kubernetes Kubelet with patches for syscall-based mounting and
syscall-based (and much faster) metrics. fsquota patches have been
deferred to a further revision (for robust emptyDir capacity isolation).

Changes encoding of the node ID to hex since Base64-URL is not supported
as a character set for K8s names. Also adds `/etc/machine-id` and
`/etc/os-release` since Kubernetes wants them. `os-release` is generated
by stamping, `machine-id` is the hex-encoded node ID derived from the
public key.

Also includes a primitive reconciler which automatically ensures a set of
built-in Kubernetes objects are always present. Currently this includes
a PSP and some basic RBAC policies that are elementary to proper cluster
operations.

Adds an additional gRPC service (NodeDebugService) to cleanly
communicate with external debug and test tooling. It supports reading
from logbuffers for all externally-run components, checking conditions
(for replacing log matching in testing and debugging) and getting
debug credentials for the Kubernetes cluster.

A small utility (dbg) is provided that interfaces with NodeDebugService
and provides access to its functions from the CLI. It also incorporates
a kubectl wrapper which directly grabs credentials from the Debug API
and passes them to kubectl
(e.g. `bazel run //core/cmd/dbg -- kubectl describe node`).

Test Plan:
Manually tested.
Kubernetes:
`bazel run //core/cmd/dbg -- kubectl create -f test.yml`

Checked that pods run, logs are accessible and exec works.

Reading buffers:
`bazel run //core/cmd/dbg -- logs containerd`

Outputs containerd logs in the right order.

Automated testing is in the works, but has been deferred to a future
revision because this one is already too big again.

X-Origin-Diff: phab/D525
GitOrigin-RevId: 0fbfa0c433de405526c7f09ef10c466896331328
