问题描述
嗨,我是k8s的新手,我想知道kubectl在哪里以及如何向kube api服务器发送请求。 因此,例如,如果我发送的请求是“ kubectl get pods --all-namespaces”(并且我的默认kubernetes端点设置为“ 192.168.64.2:8443”),我的理解是,这将转化为https请求(例如“ 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/时,kubectl如何知道使用此ip? v1beta1 / nodes /
谢谢。
解决方法
身份验证是kubectl实现的步骤之一。您可以看到以冗长能力运行命令时会发生什么。例如,
kubectl get pods -v9 --all-namespaces
Kubernetes了解资源定义及其实现,您可以通过以下方式检查资源类型
kubectl api-resources
因此Kubernetes api服务器知道哪些资源是metric服务器以及如何调用。
,所有kubectl请求都转到api服务器。 api服务器可以自行回答,也可以委派给其他组件,例如扩展api服务器。