嗨,我是k8s的新手,我想知道kubectl在哪里以及如何向kube-api服务器发送请求。例如,如果我发送一个请求,比如";kubectl获取pods——所有名称空间&";(我的默认kubernetes端点设置为"192.168.64.2:8443"(,我的理解是这将转换为https请求,例如"192.168.64.2:28443";https://192.168.64.2:8443/api/v1/pods......etc"kubectl将使用存储在.kube/config文件中的身份验证。我说得对吗?
我还有一个度量服务器在端点"上运行;172.17.0.8:4443";但是当我运行";kubectl get--raw/apis/metrics.k8s.io/v1beta1/nodes/<节点名称>|jq";?所有的kubectl命令都指向一个ip吗?
提前谢谢。
身份验证是kubectl实现的步骤之一。您可以看到当使用详细功能运行命令时会发生什么。例如
kubectl get pods -v9 --all-namespaces
Kubernetes知道资源定义及其实现,您可以使用检查资源类型
kubectl api-resources
所以Kubernetes api服务器知道哪些资源是度量服务器,以及它可以如何调用。
所有的kubectl请求都会转到api服务器。api服务器可以自己回答,也可以委托给其他组件,例如扩展api服务器。