Henry
发布于 2025-02-21 / 6 阅读
0
0

Kubernetes - proxy

背景简介

kubectl proxy 是 Kubernetes 命令行工具 kubectl 中的一个命令,它的主要用途是运行一个代理服务器,这个代理服务器能够将请求转发到 Kubernetes API 服务器。

环境配置

  1. 系统:Debian 6.1.66-1 (2023-12-09) x86_64 GNU/Linux

详细步骤

第一步: 查看svc

myserver@pega-minikube-poc:~$ kubectl get svc -A
NAMESPACE              NAME                            TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                  AGE
default                kubernetes                      ClusterIP   10.96.0.1      <none>        443/TCP                  42m
kube-system            kube-dns                        ClusterIP   10.96.0.10     <none>        53/UDP,53/TCP,9153/TCP   42m
kubernetes-dashboard   dashboard-metrics-scraper       ClusterIP   10.97.24.202   <none>        8000/TCP                 38m
kubernetes-dashboard   kubernetes-dashboard            ClusterIP   10.99.170.57   <none>        80/TCP                   38m

第二步: 启用 proxy 服务

myserver@pega-minikube-poc:~$ kubectl proxy --address='0.0.0.0' --accept-hosts='^*$'
Starting to serve on [::]:8001

第三步: 访问对应端口,以kubernetes dashboard 为例:http://192.168.122.10:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ 

  • http://192.168.122.10:8001: 这是代理服务器的地址和端口。192.168.122.10 是服务器地址,而 8001 是代理服务器在服务器上监听的端口号。
  • /api/v1/: 这是 Kubernetes API 的版本 v1 路径。所有对 Kubernetes API 的请求都通过这个路径。
  • namespaces/kubernetes-dashboard/: 这部分指定了请求的目标命名空间,这里是 kubernetes-dashboard。在 Kubernetes 中,命名空间是一种用于隔离资源(如 pods、services 等)的逻辑分区。
  • services/http:kubernetes-dashboard:/: 这部分指定了在 kubernetes-dashboard 命名空间中的目标服务。服务是 Kubernetes 中用于暴露 pod 的抽象层。这里的服务名称是 http:kubernetes-dashboard。
  • /proxy/: 这是 Kubernetes API 代理的路径,它允许通过 Kubernetes API 服务器访问集群内的服务。

以上便是本文的全部内容,感谢您的阅读。



评论