Documentation ¶
Overview ¶
Package kubernetes provides objects for starting the Kubernetes master and node code.
Index ¶
- Variables
- func BuildDefaultAPIServer(options configapi.MasterConfig) (*apiserveroptions.ServerRunOptions, genericapiserver.StorageFactory, error)
- func DefaultOpenAPIConfig() *openapicommon.Config
- func SetFakeCadvisorInterfaceForIntegrationTest()
- func SetFakeContainerManagerInterfaceForIntegrationTest()
- type MasterConfig
- func (c *MasterConfig) RunCertificateSigningController(clientset *kclientset.Clientset)
- func (c *MasterConfig) RunCronJobController(client kclientset.Interface)
- func (c *MasterConfig) RunDaemonSetsController(client *kclientset.Clientset)
- func (c *MasterConfig) RunDeploymentController(client *kclientset.Clientset)
- func (c *MasterConfig) RunDisruptionBudgetController(client kclientset.Interface)
- func (c *MasterConfig) RunEndpointController(client *kclientset.Clientset)
- func (c *MasterConfig) RunGCController(client *kclientset.Clientset)
- func (c *MasterConfig) RunGarbageCollectorController(client *osclient.Client, config *restclient.Config)
- func (c *MasterConfig) RunHPAController(oc *osclient.Client, kc *kclientset.Clientset, heapsterNamespace string)
- func (c *MasterConfig) RunJobController(client *kclientset.Clientset)
- func (c *MasterConfig) RunNamespaceController(kubeClient kclientset.Interface, clientPool dynamic.ClientPool)
- func (c *MasterConfig) RunNodeController()
- func (c *MasterConfig) RunPersistentVolumeAttachDetachController(client *kclientset.Clientset)
- func (c *MasterConfig) RunPersistentVolumeController(client *kclientset.Clientset, ...)
- func (c *MasterConfig) RunReplicaSetController(client *kclientset.Clientset)
- func (c *MasterConfig) RunReplicationController(client *kclientset.Clientset)
- func (c *MasterConfig) RunScheduler()
- func (c *MasterConfig) RunServiceLoadBalancerController(client *kclientset.Clientset)
- func (c *MasterConfig) RunStatefulSetController(client kclientset.Interface)
- type NodeAuthorizerAttributesGetter
- type NodeConfig
- func (c *NodeConfig) EnsureDocker(docker *dockerutil.Helper)
- func (c *NodeConfig) EnsureKubeletAccess()
- func (c *NodeConfig) EnsureLocalQuota(nodeConfig configapi.NodeConfig)
- func (c *NodeConfig) EnsureVolumeDir()
- func (c *NodeConfig) HandleDockerError(message string)
- func (c *NodeConfig) RunDNS()
- func (c *NodeConfig) RunKubelet()
- func (c *NodeConfig) RunPlugin()
- func (c *NodeConfig) RunProxy()
- func (c *NodeConfig) RunServiceStores(enableProxy, enableDNS bool)
- type ProxyConfig
Constants ¶
This section is empty.
Variables ¶
var LegacyAPIGroupPrefixes = sets.NewString(genericapiserver.DefaultLegacyAPIPrefix, api.Prefix, api.LegacyPrefix)
Functions ¶
func BuildDefaultAPIServer ¶ added in v1.4.0
func BuildDefaultAPIServer(options configapi.MasterConfig) (*apiserveroptions.ServerRunOptions, genericapiserver.StorageFactory, error)
BuildDefaultAPIServer constructs the appropriate APIServer and StorageFactory for the kubernetes server. It returns an error if no KubernetesMasterConfig was defined.
func DefaultOpenAPIConfig ¶ added in v1.5.0
func DefaultOpenAPIConfig() *openapicommon.Config
func SetFakeCadvisorInterfaceForIntegrationTest ¶ added in v1.0.7
func SetFakeCadvisorInterfaceForIntegrationTest()
SetFakeCadvisorInterfaceForIntegrationTest sets a fake cadvisor implementation to allow the node to run in integration tests
func SetFakeContainerManagerInterfaceForIntegrationTest ¶ added in v1.1.2
func SetFakeContainerManagerInterfaceForIntegrationTest()
SetFakeContainerManagerInterfaceForIntegrationTest sets a fake container manager implementation to allow the node to run in integration tests
Types ¶
type MasterConfig ¶
type MasterConfig struct { Options configapi.KubernetesMasterConfig KubeClient kclientset.Interface Master *master.Config ControllerManager *cmapp.CMServer SchedulerServer *scheduleroptions.SchedulerServer CloudProvider cloudprovider.Interface Informers shared.InformerFactory }
MasterConfig defines the required values to start a Kubernetes master
func BuildKubernetesMasterConfig ¶
func BuildKubernetesMasterConfig( options configapi.MasterConfig, requestContextMapper kapi.RequestContextMapper, kubeClient kclientset.Interface, informers shared.InformerFactory, admissionControl admission.Interface, originAuthenticator authenticator.Request, kubeAuthorizer authorizer.Authorizer, ) (*MasterConfig, error)
TODO this function's parameters need to be refactored
func (*MasterConfig) RunCertificateSigningController ¶ added in v1.5.0
func (c *MasterConfig) RunCertificateSigningController(clientset *kclientset.Clientset)
func (*MasterConfig) RunCronJobController ¶ added in v1.5.0
func (c *MasterConfig) RunCronJobController(client kclientset.Interface)
RunCronJobController starts the Kubernetes scheduled job controller sync loop
func (*MasterConfig) RunDaemonSetsController ¶ added in v1.1.2
func (c *MasterConfig) RunDaemonSetsController(client *kclientset.Clientset)
func (*MasterConfig) RunDeploymentController ¶ added in v1.3.0
func (c *MasterConfig) RunDeploymentController(client *kclientset.Clientset)
func (*MasterConfig) RunDisruptionBudgetController ¶ added in v1.4.0
func (c *MasterConfig) RunDisruptionBudgetController(client kclientset.Interface)
RunDisruptionBudgetController starts the Kubernetes disruption budget controller
func (*MasterConfig) RunEndpointController ¶
func (c *MasterConfig) RunEndpointController(client *kclientset.Clientset)
RunEndpointController starts the Kubernetes replication controller sync loop
func (*MasterConfig) RunGCController ¶ added in v1.1.5
func (c *MasterConfig) RunGCController(client *kclientset.Clientset)
RunGCController handles deletion of terminated pods.
func (*MasterConfig) RunGarbageCollectorController ¶ added in v1.4.0
func (c *MasterConfig) RunGarbageCollectorController(client *osclient.Client, config *restclient.Config)
RunGarbageCollectorController starts generic garbage collection for the cluster.
func (*MasterConfig) RunHPAController ¶ added in v1.0.7
func (c *MasterConfig) RunHPAController(oc *osclient.Client, kc *kclientset.Clientset, heapsterNamespace string)
RunHPAController starts the Kubernetes hpa controller sync loop
func (*MasterConfig) RunJobController ¶ added in v1.0.7
func (c *MasterConfig) RunJobController(client *kclientset.Clientset)
RunJobController starts the Kubernetes job controller sync loop
func (*MasterConfig) RunNamespaceController ¶
func (c *MasterConfig) RunNamespaceController(kubeClient kclientset.Interface, clientPool dynamic.ClientPool)
RunNamespaceController starts the Kubernetes Namespace Manager
func (*MasterConfig) RunNodeController ¶
func (c *MasterConfig) RunNodeController()
RunNodeController starts the node controller TODO: handle node CIDR and route allocation
func (*MasterConfig) RunPersistentVolumeAttachDetachController ¶ added in v1.3.0
func (c *MasterConfig) RunPersistentVolumeAttachDetachController(client *kclientset.Clientset)
func (*MasterConfig) RunPersistentVolumeController ¶ added in v1.3.0
func (c *MasterConfig) RunPersistentVolumeController(client *kclientset.Clientset, namespace, recyclerImageName, recyclerServiceAccountName string)
func (*MasterConfig) RunReplicaSetController ¶ added in v1.3.0
func (c *MasterConfig) RunReplicaSetController(client *kclientset.Clientset)
func (*MasterConfig) RunReplicationController ¶
func (c *MasterConfig) RunReplicationController(client *kclientset.Clientset)
RunReplicationController starts the Kubernetes replication controller sync loop
func (*MasterConfig) RunScheduler ¶
func (c *MasterConfig) RunScheduler()
RunScheduler starts the Kubernetes scheduler
func (*MasterConfig) RunServiceLoadBalancerController ¶ added in v1.3.0
func (c *MasterConfig) RunServiceLoadBalancerController(client *kclientset.Clientset)
RunServiceLoadBalancerController starts the service loadbalancer controller if the cloud provider is configured.
func (*MasterConfig) RunStatefulSetController ¶ added in v1.5.0
func (c *MasterConfig) RunStatefulSetController(client kclientset.Interface)
RunStatefulSetController starts the StatefulSet controller
type NodeAuthorizerAttributesGetter ¶ added in v1.0.7
type NodeAuthorizerAttributesGetter struct {
// contains filtered or unexported fields
}
func (NodeAuthorizerAttributesGetter) GetRequestAttributes ¶ added in v1.0.7
func (n NodeAuthorizerAttributesGetter) GetRequestAttributes(u user.Info, r *http.Request) authorizer.Attributes
GetRequestAttributes populates authorizer attributes for the requests to the kubelet API. Default attributes are {apiVersion=v1,verb=proxy,resource=nodes,resourceName=<node name>} More specific verb/resource is set for the following request patterns:
/stats/* => verb=<api verb from request>, resource=nodes/stats /metrics/* => verb=<api verb from request>, resource=nodes/metrics /logs/* => verb=<api verb from request>, resource=nodes/log
type NodeConfig ¶
type NodeConfig struct { // BindAddress is the address to bind to BindAddress string // VolumeDir is the directory that volumes will be stored under VolumeDir string // AllowDisabledDocker if true, will make the Kubelet ignore errors from Docker AllowDisabledDocker bool // Containerized is true if we are expected to be running inside of a container Containerized bool // Client to connect to the master. Client *kclientset.Clientset // DockerClient is a client to connect to Docker DockerClient dockertools.DockerInterface // KubeletServer contains the KubeletServer configuration KubeletServer *kubeletoptions.KubeletServer // KubeletDeps are the injected code dependencies for the kubelet, fully initialized KubeletDeps *kubelet.KubeletDeps // ProxyConfig is the configuration for the kube-proxy, fully initialized ProxyConfig *proxyoptions.ProxyServerConfig // IPTablesSyncPeriod is how often iptable rules are refreshed IPTablesSyncPeriod string // EnableUnidling indicates whether or not the unidling hybrid proxy should be used EnableUnidling bool // ServiceStore is reused between proxy and DNS ServiceStore cache.Store // EndpointsStore is reused between proxy and DNS EndpointsStore cache.Store // ServicesReady is closed when the service and endpoint stores are ready to be used ServicesReady chan struct{} // DNSConfig controls the DNS configuration. DNSServer *dns.Server // SDNPlugin is an optional SDN plugin SDNPlugin *sdnplugin.OsdnNode // SDNProxy is an optional service endpoints filterer SDNProxy *sdnplugin.OsdnProxy }
NodeConfig represents the required parameters to start the OpenShift node through Kubernetes. All fields are required.
func BuildKubernetesNodeConfig ¶
func BuildKubernetesNodeConfig(options configapi.NodeConfig, enableProxy, enableDNS bool) (*NodeConfig, error)
func (*NodeConfig) EnsureDocker ¶
func (c *NodeConfig) EnsureDocker(docker *dockerutil.Helper)
EnsureDocker attempts to connect to the Docker daemon defined by the helper, and if it is unable to it will print a warning.
func (*NodeConfig) EnsureKubeletAccess ¶ added in v1.1.4
func (c *NodeConfig) EnsureKubeletAccess()
EnsureKubeletAccess performs a number of test operations that the Kubelet requires to properly function. All errors here are fatal.
func (*NodeConfig) EnsureLocalQuota ¶ added in v1.1.5
func (c *NodeConfig) EnsureLocalQuota(nodeConfig configapi.NodeConfig)
EnsureLocalQuota checks if the node config specifies a local storage perFSGroup quota, and if so will test that the volumeDirectory is on a filesystem suitable for quota enforcement. If checks pass the k8s emptyDir volume plugin will be replaced with a wrapper version which adds quota functionality.
func (*NodeConfig) EnsureVolumeDir ¶
func (c *NodeConfig) EnsureVolumeDir()
EnsureVolumeDir attempts to convert the provided volume directory argument to an absolute path and create the directory if it does not exist. Will exit if an error is encountered.
func (*NodeConfig) HandleDockerError ¶
func (c *NodeConfig) HandleDockerError(message string)
HandleDockerError handles an an error from the docker daemon
func (*NodeConfig) RunDNS ¶ added in v1.3.0
func (c *NodeConfig) RunDNS()
RunDNS starts the DNS server as soon as services are loaded.
func (*NodeConfig) RunPlugin ¶ added in v1.1.4
func (c *NodeConfig) RunPlugin()
RunPlugin starts the local SDN plugin, if enabled in configuration.
func (*NodeConfig) RunServiceStores ¶ added in v1.3.0
func (c *NodeConfig) RunServiceStores(enableProxy, enableDNS bool)
RunServiceStores retrieves service info from the master, and closes the ServicesReady channel when done.
type ProxyConfig ¶
type ProxyConfig struct {
ClientConfig *restclient.Config
}
func (*ProxyConfig) InstallAPI ¶
func (c *ProxyConfig) InstallAPI(container *restful.Container) ([]string, error)