一、kube-apiserver功能特性
如下图所示:
二、kube-apiserver工作原理图
如下图所示:
三、API 访问
curl方式
#查看apiserver地址
APISERVER=$(kubectl config view | grep server | awk '{print $2,$3}')
#查看token地址
TOKEN=$(kubectl describe secret $(kubectl get secrets | grep default | cut -f1 -d ' ')| grep -E '^token'| cut -f2 -d':'| tr -d '\t')
#执行curl命令
curl $APISERVER/api --header "Authorization: Bearer $TOKEN" --insecure
如下图所示:
四、REST API
kube-apiserver 支持同时提供 https(默认监听在 6443 端口)和 http API(默认监听在 127.0.0.1 的 8080 端口),其中 http API 是非安全接口,不做任何认证授权机制,不建议生产环境启用。两个接口提供的 REST API 格式相同,参考 Kubernetes API Reference 查看所有 API 的调用格式。
在实际使用中,通常通过 kubectl 来访问 apiserver,也可以通过 Kubernetes 各个语言的 client 库来访问 apiserver。在使用 kubectl 时,打开调试日志也可以看到每个 API 调用的格式,比如
kubectl --v=8 get pods
可通过 kubectl api-versions 和 kubectl api-resources 查询 Kubernetes API 支持的 API 版本以及资源对象。
如下图所示:
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:企业级K8s集群运维实战