Kubernetes - kubectl proxy 让外部网络访问K8S service的ClusterIP

版权声明:本文为小墨鱼博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zwqjoy/article/details/87865283

使用kubectl proxy命令就可以使API server监听在本地的8001端口上:

$ kubectl proxy --port=8009
Starting to serve on 127.0.0.1:8009

如果想通过其它主机访问就需要指定监听的地址:

$ kubectl proxy --address=0.0.0.0  --port=8009
Starting to serve on [::]:8009

此时通过curl访问会出现未认证的提示:

$ curl -X GET -L http://k8s-master:8009/
<h3>Unauthorized</h3>

设置API server接收所有主机的请求:

$ kubectl proxy --address='0.0.0.0'  --accept-hosts='^*$' --port=8009
Starting to serve on [::]:8009

访问正常:

$ curl -X GET -L http://k8s-master:8009/
{
  "paths": [
    "/api",
    "/api/v1",
    ...
  ]
}
访问正常:

curl http://[k8s-master]:8009/api/v1/namespaces/[namespace-name]/services/[service-name]/proxy

猜你喜欢

转载自blog.csdn.net/zwqjoy/article/details/87865283