环境:centos7.6 , kubernetes 1.11.5
kb 命令为 kubectl 缩写
1、获取 token

[root@k8s01 ~]# kb describe secret kubernetes-dashboard-token-n2qgk -n kube-system
...
Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1342 bytes
namespace:  11 bytes
token:      eyJhbGciOiJSUzI1NiI...

2、设置 token、apiserver 环境变量

TOKEN=eyJhbGciOiJSUzI1NiI...
[root@k8s01 ~]# kb config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACTED
    server: 
https://10.2.7.200:6443

...
APISERVER=https://10.2.7.200:6443

3、使用 get 获取信息

使用 insecure 模式

[root@k8s01 ~]# curl -X GET $APISERVER/api/v1/namespaces/ --header "Authorization: Bearer $TOKEN" --insecure |jq -r '.items[].metadata.name'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3367    0  3367    0     0  35173      0 --:--:-- --:--:-- --:--:-- 35442
default
jenkins-demo
kube-ops
kube-public
kube-system
monitoring
my-namespace

使用证书访问

curl -X GET $APISERVER/api/v1/namespaces/ --header "Authorization: Bearer $TOKEN" --cacert /etc/kubernetes/ssl/ca.pem |jq -r '.items[].metadata.name'

参考文章

使用 Kubernetes API 访问集群
kubernetes之使用http rest api访问集群

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐