背景简介
kubectl proxy 是 Kubernetes 命令行工具 kubectl 中的一个命令,它的主要用途是运行一个代理服务器,这个代理服务器能够将请求转发到 Kubernetes API 服务器。
环境配置
- 系统: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 服务器访问集群内的服务。
以上便是本文的全部内容,感谢您的阅读。