Make kube-apiserver use supervisor helper for commands

All other Kubernetes services already use this and it enables them to log
into logtree. Make kube-apiserver also do the same.

Test Plan: Covered by existing tests

X-Origin-Diff: phab/D680
GitOrigin-RevId: 59df1342edc2cb27c22ffa9b4eb9101d7d1b400f
diff --git a/metropolis/node/kubernetes/apiserver.go b/metropolis/node/kubernetes/apiserver.go
index 583e268..aa706b4 100644
--- a/metropolis/node/kubernetes/apiserver.go
+++ b/metropolis/node/kubernetes/apiserver.go
@@ -20,7 +20,6 @@
 	"context"
 	"encoding/pem"
 	"fmt"
-	"io"
 	"net"
 	"os/exec"
 
@@ -35,7 +34,6 @@
 	KPKI                        *pki.KubernetesPKI
 	AdvertiseAddress            net.IP
 	ServiceIPRange              net.IPNet
-	Output                      io.Writer
 	EphemeralConsensusDirectory *localstorage.EphemeralConsensusDirectory
 
 	// All PKI-related things are in DER
@@ -128,10 +126,5 @@
 	if args.Error() != nil {
 		return err
 	}
-	cmd.Stdout = s.Output
-	cmd.Stderr = s.Output
-	supervisor.Signal(ctx, supervisor.SignalHealthy)
-	err = cmd.Run()
-	fmt.Fprintf(s.Output, "apiserver stopped: %v\n", err)
-	return err
+	return supervisor.RunCommand(ctx, cmd)
 }