为什么k8s的仪表板启动应该有本地访问代理?



在我的macos中,我可以使用下面的命令启动kubernetes仪表板:

# launch k8s dashboard
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml
# Enable the local access proxy, listening on port 8001 by default
$ kubectl proxy

我有一个问题,为什么有$ kubectl proxy命令?是否启动仪表板,默认情况下不监听端口?为什么要有代理人?

这个命令允许仪表板调用Kubernetes API Server。它处理API服务器的定位和身份验证:参见https://kubernetes.io/docs/using-kubectl-proxy

如果没有它,仪表板将无法连接到API Server,因为它的端点是未知的(从仪表板的角度来看)。如果您想直接使用API Server端点,则必须为每个请求添加身份验证令牌,并且还必须在Kubernetes API Server上配置CORS。参见选项--cors-allowed-originshttps://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/

最新更新