[kubernetes] kubectl proxy 让外部网络访问K8S service的ClusterIP

使用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

积极向上的墨鱼仔 CSDN认证博客专家 AI学习者 努力奋斗者
AI 学习与生活
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页