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