2015-02-06 03:02:44 +00:00
.TH "KUBERNETES" "1" " kubernetes User Manuals" "Eric Paris" "Jan 2015" ""
.SH NAME
.PP
2015-08-26 08:06:40 +00:00
kubectl expose \- Take a replication controller, service or pod and expose it as a new Kubernetes Service
2015-02-06 03:02:44 +00:00
.SH SYNOPSIS
.PP
\fB kubectl expose\fP [OPTIONS]
.SH DESCRIPTION
.PP
2015-08-26 08:06:40 +00:00
Take a replication controller, service or pod and expose it as a new Kubernetes Service.
2015-02-06 03:02:44 +00:00
.PP
2015-08-26 08:06:40 +00:00
Looks up a replication controller, service or pod by name and uses the selector for that resource as the
2015-05-13 08:52:25 +00:00
selector for a new Service on the specified port. If no labels are specified, the new service will
re\- use the labels from the resource it exposes.
2015-02-06 03:02:44 +00:00
.SH OPTIONS
.PP
\fB \- \- container\- port\fP =""
2015-03-26 20:56:36 +00:00
Synonym for \- \- target\- port
2015-02-06 03:02:44 +00:00
.PP
\fB \- \- create\- external\- load\- balancer\fP =false
2015-05-22 21:49:26 +00:00
If true, create an external load balancer for this service (trumped by \- \- type). Implementation is cloud provider dependent. Default is 'false'.
2015-02-06 03:02:44 +00:00
.PP
\fB \- \- dry\- run\fP =false
If true, only print the object that would be sent, without creating it.
2015-08-12 00:18:21 +00:00
.PP
\fB \- \- external\- ip\fP =""
External IP address to set for the service. The service can be accessed by this IP in addition to its generated service IP.
2015-08-11 08:38:27 +00:00
.PP
\fB \- f\fP , \fB \- \- filename\fP =[]
Filename, directory, or URL to a file identifying the resource to expose a service
2015-02-06 03:02:44 +00:00
.PP
2015-07-16 21:18:17 +00:00
\fB \- \- generator\fP ="service/v2"
The name of the API generator to use. There are 2 generators: 'service/v1' and 'service/v2'. The only difference between them is that service port in v1 is named 'default', while it is left unnamed in v2. Default is 'service/v2'.
2015-02-06 03:02:44 +00:00
2015-03-23 22:09:20 +00:00
.PP
\fB \- l\fP , \fB \- \- labels\fP =""
Labels to apply to the service created by this call.
2015-03-16 21:18:17 +00:00
2015-08-21 01:23:24 +00:00
.PP
\fB \- \- load\- balancer\- ip\fP =""
IP to assign to to the Load Balancer. If empty, an ephemeral IP will be created and used(cloud\- provider specific).
2015-05-13 12:14:44 +00:00
.PP
\fB \- \- name\fP =""
2015-06-02 10:54:09 +00:00
The name for the newly created object.
2015-05-13 12:14:44 +00:00
2015-02-06 03:02:44 +00:00
.PP
\fB \- \- no\- headers\fP =false
When using the default output, don't print headers.
.PP
\fB \- o\fP , \fB \- \- output\fP =""
2015-08-21 13:09:41 +00:00
Output format. One of: json|yaml|wide|name|go\- template=...|go\- template\- file=...|jsonpath=...|jsonpath\- file=... See golang template [
\[ la]http://golang.org/pkg/text/template/#pkg-overview\[ ra]] and jsonpath template [
\[ la]http://releases.k8s.io/HEAD/docs/user-guide/jsonpath.md\[ ra]].
2015-02-06 03:02:44 +00:00
.PP
\fB \- \- output\- version\fP =""
Output the formatted object with the given version (default api\- version).
.PP
\fB \- \- overrides\fP =""
An inline JSON override for the generated object. If this is non\- empty, it is used to override the generated object. Requires that the object supply a valid apiVersion field.
.PP
\fB \- \- port\fP =\- 1
2015-07-17 00:17:43 +00:00
The port that the service should serve on. Copied from the resource being exposed, if unspecified
2015-02-06 03:02:44 +00:00
.PP
\fB \- \- protocol\fP ="TCP"
The network protocol for the service to be created. Default is 'tcp'.
.PP
\fB \- \- selector\fP =""
A label selector to use for this service. If empty (the default) infer the selector from the replication controller.
2015-07-31 17:34:52 +00:00
.PP
\fB \- \- session\- affinity\fP =""
If non\- empty, set the session affinity for the service to this; legal values: 'None', 'ClientIP'
2015-07-31 23:42:34 +00:00
.PP
\fB \- a\fP , \fB \- \- show\- all\fP =false
When printing, show all resources (default hide terminated pods.)
2015-08-08 06:04:25 +00:00
.PP
\fB \- \- sort\- by\fP =""
If non\- empty, sort list types using this field specification. The field specification is expressed as a JSONPath expression (e.g. 'ObjectMeta.Name'). The field in the API resource specified by this JSONPath expression must be an integer or a string.
2015-03-26 20:56:36 +00:00
.PP
\fB \- \- target\- port\fP =""
Name or number for the port on the container that the service should direct traffic to. Optional.
2015-02-06 03:02:44 +00:00
.PP
\fB \- t\fP , \fB \- \- template\fP =""
2015-08-21 13:09:41 +00:00
Template string or path to template file to use when \- o=go\- template, \- o=go\- template\- file. The template format is golang templates [
\[ la]http://golang.org/pkg/text/template/#pkg-overview\[ ra]].
2015-02-06 03:02:44 +00:00
2015-05-22 21:49:26 +00:00
.PP
\fB \- \- type\fP =""
2015-08-24 17:30:24 +00:00
Type for this service: ClusterIP, NodePort, or LoadBalancer. Default is 'ClusterIP'.
2015-05-22 21:49:26 +00:00
2015-02-06 03:02:44 +00:00
2015-02-20 21:29:23 +00:00
.SH OPTIONS INHERITED FROM PARENT COMMANDS
.PP
\fB \- \- alsologtostderr\fP =false
log to standard error as well as files
.PP
\fB \- \- api\- version\fP =""
The API version to use when talking to the server
.PP
\fB \- \- certificate\- authority\fP =""
Path to a cert. file for the certificate authority.
.PP
\fB \- \- client\- certificate\fP =""
Path to a client key file for TLS.
.PP
\fB \- \- client\- key\fP =""
Path to a client key file for TLS.
.PP
\fB \- \- cluster\fP =""
The name of the kubeconfig cluster to use
.PP
\fB \- \- context\fP =""
The name of the kubeconfig context to use
.PP
\fB \- \- insecure\- skip\- tls\- verify\fP =false
If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure.
.PP
\fB \- \- kubeconfig\fP =""
Path to the kubeconfig file to use for CLI requests.
.PP
2015-05-16 16:44:42 +00:00
\fB \- \- log\- backtrace\- at\fP =:0
2015-02-20 21:29:23 +00:00
when logging hits line file:N, emit a stack trace
.PP
2015-05-16 16:44:42 +00:00
\fB \- \- log\- dir\fP =""
2015-02-20 21:29:23 +00:00
If non\- empty, write log files in this directory
.PP
2015-05-16 16:44:42 +00:00
\fB \- \- log\- flush\- frequency\fP =5s
2015-02-20 21:29:23 +00:00
Maximum number of seconds between log flushes
.PP
\fB \- \- logtostderr\fP =true
log to standard error instead of files
.PP
\fB \- \- match\- server\- version\fP =false
Require server version to match client version
.PP
\fB \- \- namespace\fP =""
If present, the namespace scope for this CLI request.
.PP
\fB \- \- password\fP =""
Password for basic authentication to the API server.
.PP
\fB \- s\fP , \fB \- \- server\fP =""
The address and port of the Kubernetes API server
.PP
\fB \- \- stderrthreshold\fP =2
logs at or above this threshold go to stderr
.PP
\fB \- \- token\fP =""
Bearer token for authentication to the API server.
.PP
\fB \- \- user\fP =""
The name of the kubeconfig user to use
.PP
\fB \- \- username\fP =""
Username for basic authentication to the API server.
.PP
\fB \- \- v\fP =0
log level for V logs
.PP
\fB \- \- vmodule\fP =
comma\- separated list of pattern=N settings for file\- filtered logging
.SH EXAMPLE
.PP
.RS
.nf
2015-09-02 09:56:29 +00:00
# Create a service for a replicated nginx, which serves on port 80 and connects to the containers on port 8000.
2015-04-30 06:02:16 +00:00
$ kubectl expose rc nginx \- \- port=80 \- \- target\- port=8000
2015-02-20 21:29:23 +00:00
2015-09-02 09:56:29 +00:00
# Create a service for a replication controller identified by type and name specified in "nginx\- controller.yaml", which serves on port 80 and connects to the containers on port 8000.
2015-08-11 08:38:27 +00:00
$ kubectl expose \- f nginx\- controller.yaml \- \- port=80 \- \- target\- port=8000
2015-08-26 08:06:40 +00:00
# Create a service for a pod valid\- pod, which serves on port 444 with the name "frontend"
$ kubectl expose pod valid\- pod \- \- port=444 \- \- name=frontend
2015-09-02 09:56:29 +00:00
# Create a second service based on the above service, exposing the container port 8443 as port 443 with the name "nginx\- https"
2015-05-13 12:14:44 +00:00
$ kubectl expose service nginx \- \- port=443 \- \- target\- port=8443 \- \- name=nginx\- https
2015-03-26 02:35:26 +00:00
2015-08-12 16:50:09 +00:00
# Create a service for a replicated streaming application on port 4100 balancing UDP traffic and named 'video\- stream'.
2015-05-13 12:14:44 +00:00
$ kubectl expose rc streamer \- \- port=4100 \- \- protocol=udp \- \- name=video\- stream
2015-02-20 21:29:23 +00:00
.fi
.RE
2015-02-06 03:02:44 +00:00
.SH SEE ALSO
.PP
\fB kubectl(1)\fP ,
.SH HISTORY
.PP
January 2015, Originally compiled by Eric Paris (eparis at redhat dot com) based on the kubernetes source material, but hopefully they have been automatically generated since!