版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1440130
作为Kubernetes的使用者,每天用得最多的命令就是kubectl XXX了。
kubectl其实就是一个控制台,主要提供的功能:
也就是说,我们在终端里输入的每个kubectl命令,实际上都是一个发往Kubernetes API server的Restful API调用。
我们可以做个实验:
kubectl get secret -v=9, 通过-v=9设置最高级别的trace:
从输出观察到为了取回所有的secret而进行的API server的调用url
这个HTTP请求的格式在Kubernetes官网能查到。
那么kubectl命令怎么知道应该把请求发送到哪个API server呢?
实行命令kubectl config view, 显示内容里的server:后面的地址就是API server的url。
kubectl config view显示的内容来自配置文件: ~/.kube/config:
其实Kubernetes的kubectl工作原理和CloudFoundry的命令行工具cf一样。
设置操作系统的环境变量CF_TRACE = true
然后执行任意的cf 命令,能看到这些命令实际上也是发送一个HTTP请求到SAP Cloud Platform的某个endpoint上。
例子:cf logs connectvity-demo-approuter --recent
然后就能看到为了完成这个命令所发送的HTTP请求和响应的负载。