1 /* 2 Copyright 2014 The Kubernetes Authors. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 // The kubelet binary is responsible for maintaining a set of containers on a particular host VM. 18 // It syncs data from both configuration file(s) as well as from a quorum of etcd servers. 19 // It then communicates with the container runtime (or a CRI shim for the runtime) to see what is 20 // currently running. It synchronizes the configuration data, with the running set of containers 21 // by starting or stopping containers. 22 package main 23 24 import ( 25 "os" 26 27 "k8s.io/component-base/cli" 28 _ "k8s.io/component-base/logs/json/register" // for JSON log format registration 29 _ "k8s.io/component-base/metrics/prometheus/clientgo" // for client metric registration 30 _ "k8s.io/component-base/metrics/prometheus/version" // for version metric registration 31 "k8s.io/kubernetes/cmd/kubelet/app" 32 ) 33 34 func main() { 35 command := app.NewKubeletCommand() 36 code := cli.Run(command) 37 os.Exit(code) 38 } 39