You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/cmd/k8s-operator
Tom Proctor dd95a83a65
cmd/{containerboot,k8s-operator},kube/kubetypes: unadvertise ingress services on shutdown (#15451)
Ensure no services are advertised as part of shutting down tailscaled.
Prefs are only edited if services are currently advertised, and they're
edited we wait for control's ~15s (+ buffer) delay to failover.

Note that editing prefs will trigger a synchronous write to the state
Secret, so it may fail to persist state if the ProxyGroup is getting
scaled down and therefore has its RBAC deleted at the same time, but that
failure doesn't stop prefs being updated within the local backend,
doesn't  affect connectivity to control, and the state Secret is
about to get deleted anyway, so the only negative side effect is a harmless
error log during shutdown. Control still learns that the node is no
longer advertising the service and triggers the failover.

Note that the first version of this used a PreStop lifecycle hook, but
that only supports GET methods and we need the shutdown to trigger side
effects (updating prefs) so it didn't seem appropriate to expose that
functionality on a GET endpoint that's accessible on the k8s network.

Updates tailscale/corp#24795

Change-Id: I0a9a4fe7a5395ca76135ceead05cbc3ee32b3d3c
Signed-off-by: Tom Proctor <tomhjp@users.noreply.github.com>
8 months ago
..
deploy cmd/k8s-operator,k8s-operator: enable HA Ingress again. (#15453) 8 months ago
e2e cmd,tsnet,internal/client: create internal shim to deprecated control plane API 10 months ago
generate cmd/k8s-operator,k8s-operator: add ProxyGroup CRD (#13591) 1 year ago
connector.go cmd/k8s-operator: don't error for transient failures (#14073) 1 year ago
connector_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 11 months ago
depaware.txt net/{netx,memnet},all: add netx.DialFunc, move memnet Network impl 8 months ago
dnsrecords.go cmd/k8s-operator: don't error for transient failures (#14073) 1 year ago
dnsrecords_test.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 9 months ago
egress-eps.go cmd/{k8s-operator,containerboot},kube: ensure egress ProxyGroup proxies don't terminate while cluster traffic is still routed to them (#14436) 10 months ago
egress-eps_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 11 months ago
egress-pod-readiness.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 9 months ago
egress-pod-readiness_test.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 9 months ago
egress-services-readiness.go cmd/k8s-operator: check that cluster traffic is routed to egress ProxyGroup Pod before marking it as ready (#14792) 10 months ago
egress-services-readiness_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 11 months ago
egress-services.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 9 months ago
egress-services_test.go cmd/{k8s-operator,containerboot},kube: ensure egress ProxyGroup proxies don't terminate while cluster traffic is still routed to them (#14436) 10 months ago
ingress-for-pg.go cmd/k8s-operator,k8s-operator: enable HA Ingress again. (#15453) 8 months ago
ingress-for-pg_test.go cmd/{k8s-operator,containerboot}: check TLS cert before advertising VIPService (#15427) 8 months ago
ingress.go cmd/k8s-operator: ensure HA Ingress can operate in multicluster mode. (#15157) 9 months ago
ingress_test.go cmd/k8s-operator,k8s-operator: allow optionally using LE staging endpoint for Ingress (#15360) 9 months ago
metrics_resources.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 9 months ago
nameserver.go cmd/k8s-operator: don't error for transient failures (#14073) 1 year ago
nameserver_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 11 months ago
operator.go cmd/k8s-operator,k8s-operator: enable HA Ingress again. (#15453) 8 months ago
operator_test.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 9 months ago
proxy.go all: use new LocalAPI client package location 10 months ago
proxy_test.go cmd/k8s-operator,ssh/tailssh,tsnet: optionally record 'kubectl exec' sessions via Kubernetes operator's API server proxy (#12274) 1 year ago
proxyclass.go cmd/k8s-operator,k8s-operator: allow users to set custom labels for the optional ServiceMonitor (#14475) 11 months ago
proxyclass_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 11 months ago
proxygroup.go cmd/k8s-operator,k8s-operator: allow optionally using LE staging endpoint for Ingress (#15360) 9 months ago
proxygroup_specs.go cmd/{containerboot,k8s-operator},kube/kubetypes: unadvertise ingress services on shutdown (#15451) 8 months ago
proxygroup_test.go cmd/k8s-operator,k8s-operator: allow optionally using LE staging endpoint for Ingress (#15360) 9 months ago
sts.go cmd/k8s-operator,k8s-operator: allow optionally using LE staging endpoint for Ingress (#15360) 9 months ago
sts_test.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 9 months ago
svc.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 9 months ago
testutils_test.go cmd/k8s-operator: configure proxies for HA Ingress to run in cert share mode (#15308) 9 months ago
tsclient.go client/tailscale,cmd/k8s-operator,internal/client/tailscale: move VIP service client methods into internal control client 10 months ago
tsrecorder.go cmd/k8s-operator: wait for VIPService before updating HA Ingress status (#15343) 9 months ago
tsrecorder_specs.go cmd/k8s-operator,kube/kubeclient,docs/k8s: update rbac to emit events + small fixes (#14164) 1 year ago
tsrecorder_specs_test.go cmd/k8s-operator,k8s-operator,kube: Add TSRecorder CRD + controller (#13299) 1 year ago
tsrecorder_test.go go.{mod,sum},cmd/{k8s-operator,derper,stund}/depaware.txt: bump kube deps (#14601) 11 months ago