kubectl proxy
简介
在 localhost 和 Kubernetes API 服务器之间创建一个代理服务器或应用级网关。 它还允许在指定的 HTTP 路径上提供静态内容。除了与静态内容路径匹配的路径之外, 所有传入的数据通过一个端口进入,并被转发到远程 Kubernetes API 服务器端口。
kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix]
示例
# 代理所有的 Kubernetes API 请求,不对其他请求作处理
kubectl proxy --api-prefix=/
# 仅代理部分 Kubernetes API 和一些静态文件
# 你可以使用 `curl localhost:8001/api/v1/pods` 获取 Pod 信息
kubectl proxy --www=/my/files --www-prefix=/static/ --api-prefix=/api/
# 要在不同的根路径下代理整个 Kubernetes API
# 你可以使用 `curl localhost:8001/custom/api/v1/pods` 获取 Pod 信息
kubectl proxy --api-prefix=/custom/
# 在端口 8011 上运行指向 Kubernetes API 服务器的代理,并使用 ./local/www/ 提供静态内容
kubectl proxy --port=8011 --www=./local/www/
# 在任意本地端口上运行指向 Kubernetes API 服务器的代理
# 为服务器选择的端口将被输出到标准输出
kubectl proxy --port=0
# 运行指向 Kubernetes API 服务器的代理,将 API 前缀更改为 k8s-api
# 例如,这会让用户能够通过 localhost:8001/k8s-api/v1/pods/ 访问 Pod API
kubectl proxy --api-prefix=/k8s-api
选项
--accept-hosts string 默认值:"^localhost$,^127\.0\.0\.1$,^\[::1\]$" | |
这个正则表达式表示代理应接受的主机。 |
|
--accept-paths string 默认值:"^.*" | |
这个正则表达式表示代理应接受的路径。 |
|
--address string 默认值:"127.0.0.1" | |
用来提供服务的 IP 地址。 |
|
--api-prefix string 默认值:"/" | |
被代理的 API 所使用的前缀。 |
|
--append-server-path | |
如果为 true,则启用自动路径追加机制,将 kube 上下文服务器路径追加到每个请求。 |
|
--disable-filter | |
如果为 true,则在代理中禁用请求过滤。 此设置是危险的,因为这一设置在使用可访问的端口时可能会使你容易受到 XSRF 攻击。 |
|
-h, --help | |
proxy 操作的帮助命令。 |
|
--keepalive duration | |
keepalive 指定活动网络连接保持活动的时长。设置为 0 可禁用 keepalive。 |
|
-p, --port int 默认值:8001 | |
要运行代理的端口。设置为 0 将随机拣选一个端口。 |
|
--reject-methods string 默认值:"^$" | |
这个正则表达式表示代理应该拒绝的 HTTP 方法(例如 --reject-methods='POST,PUT,PATCH')。 |
|
--reject-paths string 默认值:"^/api/.*/pods/.*/exec, ^/api/.*/pods/.*/attach" |
|
这个正则表达式表示代理应该拒绝的路径。此处指定的路径即使被 --accept-paths 接受也会被拒绝。 |
|
-u, --unix-socket string | |
用来运行代理的 Unix 套接字。 |
|
-w, --www string | |
同时使用所指定前缀下给定的目录来提供静态文件。 |
|
-P, --www-prefix string 默认值:"/static/" | |
如果指定了静态文件目录,则此标志设置用来提供静态文件服务的前缀。 |
Parent Options Inherited
--as string | |
操作所用的伪装用户名。用户可以是常规用户或命名空间中的服务账号。 |
|
--as-group strings | |
操作所用的伪装用户组,此标志可以被重复设置以指定多个组。 |
|
--as-uid string | |
操作所用的伪装 UID。 |
|
--cache-dir string 默认值:"$HOME/.kube/cache" | |
默认缓存目录。 |
|
--certificate-authority string | |
证书机构的证书文件的路径。 |
|
--client-certificate string | |
TLS 客户端证书文件的路径。 |
|
--client-key string | |
TLS 客户端密钥文件的路径。 |
|
--cluster string | |
要使用的 kubeconfig 集群的名称。 |
|
--context string | |
要使用的 kubeconfig 上下文的名称。 |
|
--disable-compression | |
如果为 true,则对服务器所有请求的响应不再压缩。 |
|
--insecure-skip-tls-verify | |
如果为 true,则不检查服务器证书的有效性。这将使你的 HTTPS 连接不安全。 |
|
--kubeconfig string | |
CLI 请求要使用的 kubeconfig 文件的路径。 |
|
--kuberc string | |
用于偏好设置的 kuberc 文件的路径。可以通过导出 KUBECTL_KUBERC=false 特性门控或关闭 KUBERC=off 特性门控来禁用此功能。 |
|
--match-server-version | |
要求服务器版本与客户端版本匹配。 |
|
-n, --namespace string | |
如果存在,则是此 CLI 请求的命名空间范围。 |
|
--password string | |
向 API 服务器进行基本身份验证所用的密码。 |
|
--profile string 默认值:"none" | |
要记录的性能分析信息。可选值为(none|cpu|heap|goroutine|threadcreate|block|mutex)。 |
|
--profile-output string 默认值:"profile.pprof" | |
性能分析信息要写入的目标文件的名称。 |
|
--request-timeout string 默认值:"0" | |
在放弃某个服务器请求之前等待的时长。非零值应包含相应的时间单位(例如 1s、2m、3h)。 值为零表示请求不会超时。 |
|
-s, --server string | |
Kubernetes API 服务器的地址和端口。 |
|
--storage-driver-buffer-duration duration 默认值:1m0s | |
对存储驱动的写入操作将被缓存的时长;缓存的操作会作为一个事务提交给非内存后端。 |
|
--storage-driver-db string 默认值:"cadvisor" | |
数据库名称。 |
|
--storage-driver-host string 默认值:"localhost:8086" | |
数据库 host:port |
|
--storage-driver-password string 默认值:"root" | |
数据库密码。 |
|
--storage-driver-secure | |
使用与数据库的安全连接。 |
|
--storage-driver-table string 默认值:"stats" | |
表名。 |
|
--storage-driver-user string 默认值:"root" | |
数据库用户名。 |
|
--tls-server-name string | |
服务器证书验证所用的服务器名称。如果未提供,则使用与服务器通信所用的主机名。 |
|
--token string | |
向 API 服务器进行身份验证的持有者令牌。 |
|
--user string | |
要使用的 kubeconfig 用户的名称。 |
|
--username string | |
向 API 服务器进行基本身份验证时所用的用户名。 |
|
--version version[=true] | |
--version, --version=raw 打印版本信息并退出;--version=vX.Y.Z... 设置报告的版本。 |
|
--warnings-as-errors | |
将从服务器收到的警告视为错误,并以非零退出码退出。 |
另请参见
- kubectl - kubectl 控制 Kubernetes 集群管理器
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.